> -----Original Message----- > From: Kandpal, Suraj <suraj.kand...@intel.com> > Sent: Monday, April 14, 2025 9:46 AM > To: nouv...@lists.freedesktop.org; dri-devel@lists.freedesktop.org; intel- > x...@lists.freedesktop.org; intel-...@lists.freedesktop.org > Cc: Nautiyal, Ankit K <ankit.k.nauti...@intel.com>; Murthy, Arun R > <arun.r.mur...@intel.com>; Kandpal, Suraj <suraj.kand...@intel.com> > Subject: [PATCH 02/13] drm/dp: Add argument in drm_edp_backlight_init > > Add bool argument in drm_edp_backlight init to provide the drivers option to > choose if they want to use luminance values to manipulate brightness. > > Signed-off-by: Suraj Kandpal <suraj.kand...@intel.com> > --- Reviewed-by: Arun R Murthy <arun.r.mur...@gmail.com>
Thanks and Regards, Arun R Murthy -------------------- > drivers/gpu/drm/display/drm_dp_helper.c | 7 ++++--- > drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c | 2 +- > drivers/gpu/drm/nouveau/nouveau_backlight.c | 2 +- > include/drm/display/drm_dp_helper.h | 2 +- > 4 files changed, 7 insertions(+), 6 deletions(-) > > diff --git a/drivers/gpu/drm/display/drm_dp_helper.c > b/drivers/gpu/drm/display/drm_dp_helper.c > index 41de7a92d76d..99b27e5e3365 100644 > --- a/drivers/gpu/drm/display/drm_dp_helper.c > +++ b/drivers/gpu/drm/display/drm_dp_helper.c > @@ -4231,6 +4231,7 @@ drm_edp_backlight_probe_state(struct drm_dp_aux > *aux, struct drm_edp_backlight_i > * @edp_dpcd: A cached copy of the eDP DPCD > * @current_level: Where to store the probed brightness level, if any > * @current_mode: Where to store the currently set backlight control mode > + * @need_luminance: Tells us if a we want to manipulate backlight using > + luminance values > * > * Initializes a &drm_edp_backlight_info struct by probing @aux for it's > backlight capabilities, > * along with also probing the current and maximum supported brightness > levels. > @@ -4243,7 +4244,7 @@ drm_edp_backlight_probe_state(struct drm_dp_aux > *aux, struct drm_edp_backlight_i int drm_edp_backlight_init(struct > drm_dp_aux *aux, struct drm_edp_backlight_info *bl, > u16 driver_pwm_freq_hz, const u8 > edp_dpcd[EDP_DISPLAY_CTL_CAP_SIZE], > - u16 *current_level, u8 *current_mode) > + u16 *current_level, u8 *current_mode, bool > need_luminance) > { > int ret; > > @@ -4254,7 +4255,7 @@ drm_edp_backlight_init(struct drm_dp_aux *aux, > struct drm_edp_backlight_info *bl > if (edp_dpcd[2] & DP_EDP_BACKLIGHT_BRIGHTNESS_BYTE_COUNT) > bl->lsb_reg_used = true; > if ((edp_dpcd[0] & DP_EDP_15) && edp_dpcd[3] & > - (DP_EDP_PANEL_LUMINANCE_CONTROL_CAPABLE)) > + (DP_EDP_PANEL_LUMINANCE_CONTROL_CAPABLE) && > need_luminance) > bl->luminance_set = true; > > /* Sanity check caps */ > @@ -4372,7 +4373,7 @@ int drm_panel_dp_aux_backlight(struct drm_panel > *panel, struct drm_dp_aux *aux) > bl->aux = aux; > > ret = drm_edp_backlight_init(aux, &bl->info, 0, edp_dpcd, > - ¤t_level, ¤t_mode); > + ¤t_level, ¤t_mode, false); > if (ret < 0) > return ret; > > diff --git a/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c > b/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c > index 20ab90acb351..d658e77b43d8 100644 > --- a/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c > +++ b/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c > @@ -601,7 +601,7 @@ static int intel_dp_aux_vesa_setup_backlight(struct > intel_connector *connector, > } else { > ret = drm_edp_backlight_init(&intel_dp->aux, &panel- > >backlight.edp.vesa.info, > panel->vbt.backlight.pwm_freq_hz, > intel_dp->edp_dpcd, > - ¤t_level, ¤t_mode); > + ¤t_level, ¤t_mode, > false); > if (ret < 0) > return ret; > > diff --git a/drivers/gpu/drm/nouveau/nouveau_backlight.c > b/drivers/gpu/drm/nouveau/nouveau_backlight.c > index d47442125fa1..b938684a9422 100644 > --- a/drivers/gpu/drm/nouveau/nouveau_backlight.c > +++ b/drivers/gpu/drm/nouveau/nouveau_backlight.c > @@ -262,7 +262,7 @@ nv50_backlight_init(struct nouveau_backlight *bl, > nv_conn->base.name); > > ret = drm_edp_backlight_init(&nv_conn->aux, &bl- > >edp_info, 0, edp_dpcd, > - ¤t_level, > ¤t_mode); > + ¤t_level, > ¤t_mode, false); > if (ret < 0) > return ret; > > diff --git a/include/drm/display/drm_dp_helper.h > b/include/drm/display/drm_dp_helper.h > index b8fdc09737fc..ef0786a0af4a 100644 > --- a/include/drm/display/drm_dp_helper.h > +++ b/include/drm/display/drm_dp_helper.h > @@ -850,7 +850,7 @@ struct drm_edp_backlight_info { int > drm_edp_backlight_init(struct drm_dp_aux *aux, struct > drm_edp_backlight_info *bl, > u16 driver_pwm_freq_hz, const u8 > edp_dpcd[EDP_DISPLAY_CTL_CAP_SIZE], > - u16 *current_level, u8 *current_mode); > + u16 *current_level, u8 *current_mode, bool > need_luminance); > int drm_edp_backlight_set_level(struct drm_dp_aux *aux, const struct > drm_edp_backlight_info *bl, > u16 level); > int drm_edp_backlight_enable(struct drm_dp_aux *aux, const struct > drm_edp_backlight_info *bl, > -- > 2.34.1