On Mon, Jun 23, 2025 at 1:12 PM Mario Limonciello <[email protected]> wrote: > > [Why] > commit 16dc8bc27c2aa ("drm/amd/display: Export full brightness range to > userspace") adjusted the brightness range to scale to larger values, but > missed updating AMDGPU_MAX_BL_LEVEL which is needed to make sure that > scaling works properly with custom brightness curves. > > [How] > As the change for max brightness of 0xFFFF only applies to devices > supporting DC, use existing DC define MAX_BACKLIGHT_LEVEL. > > Fixes: 16dc8bc27c2aa ("drm/amd/display: Export full brightness range to > userspace") > Signed-off-by: Mario Limonciello <[email protected]>
Acked-by: Alex Deucher <[email protected]> > --- > v2: > * Use DC define instead > --- > drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 12 ++++++------ > 1 file changed, 6 insertions(+), 6 deletions(-) > > diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c > b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c > index a139da1c47af..77302caaf24a 100644 > --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c > +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c > @@ -4689,7 +4689,7 @@ static int amdgpu_dm_mode_config_init(struct > amdgpu_device *adev) > } > > #define AMDGPU_DM_DEFAULT_MIN_BACKLIGHT 12 > -#define AMDGPU_DM_DEFAULT_MAX_BACKLIGHT 255 > +#define AMDGPU_DM_DEFAULT_MAX_BACKLIGHT MAX_BACKLIGHT_LEVEL > #define AMDGPU_DM_MIN_SPREAD ((AMDGPU_DM_DEFAULT_MAX_BACKLIGHT - > AMDGPU_DM_DEFAULT_MIN_BACKLIGHT) / 2) > #define AUX_BL_DEFAULT_TRANSITION_TIME_MS 50 > > @@ -4751,16 +4751,16 @@ static int get_brightness_range(const struct > amdgpu_dm_backlight_caps *caps, > return 1; > } > > -/* Rescale from [min..max] to [0..AMDGPU_MAX_BL_LEVEL] */ > +/* Rescale from [min..max] to [0..MAX_BACKLIGHT_LEVEL] */ > static inline u32 scale_input_to_fw(int min, int max, u64 input) > { > - return DIV_ROUND_CLOSEST_ULL(input * AMDGPU_MAX_BL_LEVEL, max - min); > + return DIV_ROUND_CLOSEST_ULL(input * MAX_BACKLIGHT_LEVEL, max - min); > } > > -/* Rescale from [0..AMDGPU_MAX_BL_LEVEL] to [min..max] */ > +/* Rescale from [0..MAX_BACKLIGHT_LEVEL] to [min..max] */ > static inline u32 scale_fw_to_input(int min, int max, u64 input) > { > - return min + DIV_ROUND_CLOSEST_ULL(input * (max - min), > AMDGPU_MAX_BL_LEVEL); > + return min + DIV_ROUND_CLOSEST_ULL(input * (max - min), > MAX_BACKLIGHT_LEVEL); > } > > static void convert_custom_brightness(const struct amdgpu_dm_backlight_caps > *caps, > @@ -4980,7 +4980,7 @@ amdgpu_dm_register_backlight_device(struct > amdgpu_dm_connector *aconnector) > drm_dbg(drm, "Backlight caps: min: %d, max: %d, ac %d, dc > %d\n", min, max, > caps->ac_level, caps->dc_level); > } else > - props.brightness = props.max_brightness = AMDGPU_MAX_BL_LEVEL; > + props.brightness = props.max_brightness = MAX_BACKLIGHT_LEVEL; > > if (caps->data_points && !(amdgpu_dc_debug_mask & > DC_DISABLE_CUSTOM_BRIGHTNESS_CURVE)) > drm_info(drm, "Using custom brightness curve\n"); > -- > 2.49.0 >
