[Intel-gfx] [PATCH] drm/i915: Don't enable backlight at setup time.

Pandiyan, Dhinakaran dhinakaran.pandiyan at intel.com
Tue Jun 13 18:58:12 UTC 2017


On Tue, 2017-06-13 at 08:29 +0200, Maarten Lankhorst wrote:
> Op 12-06-17 om 22:16 schreef Dhinakaran Pandiyan:
> > Maarten and Ville noticed that we are enabling backlight via DP aux very
> > early in the modeset_init path via the intel_dp_aux_setup_backlight()
> > function. Looks like all we need to do during _setup_backlight() is
> > read the current brightness state instead of modifying it, so I don't
> > why need to _enable_backlight() from _setup_backlight().
> >
> > Cc: Ville Syrjala <ville.syrjala at linux.intel.com>
> > Cc: Maarten Lankhorst <maarten.lankhorst at linux.intel.com>
> > Cc: Jani Nikula <jani.nikula at intel.com>
> > Signed-off-by: Dhinakaran Pandiyan <dhinakaran.pandiyan at intel.com>
> > ---
> >  drivers/gpu/drm/i915/intel_dp_aux_backlight.c | 10 ----------
> >  1 file changed, 10 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/i915/intel_dp_aux_backlight.c b/drivers/gpu/drm/i915/intel_dp_aux_backlight.c
> > index 6cc6298..228ca06 100644
> > --- a/drivers/gpu/drm/i915/intel_dp_aux_backlight.c
> > +++ b/drivers/gpu/drm/i915/intel_dp_aux_backlight.c
> > @@ -80,10 +80,6 @@ static uint32_t intel_dp_aux_get_backlight(struct intel_connector *connector)
> >  static void
> >  intel_dp_aux_set_backlight(const struct drm_connector_state *conn_state, u32 level)
> >  {
> > -	/*
> > -	 * conn_state->best_encoder is likely NULL when called from
> > -	 * intel_dp_aux_setup_backlight()
> > -	 */
> >  	struct intel_connector *connector = to_intel_connector(conn_state->connector);
> >  	struct intel_dp *intel_dp = enc_to_intel_dp(&connector->encoder->base);
> >  	uint8_t vals[2] = { 0x0 };
> > @@ -106,10 +102,6 @@ static void intel_dp_aux_enable_backlight(const struct intel_crtc_state *crtc_st
> >  					  const struct drm_connector_state *conn_state)
> >  {
> >  	struct intel_connector *connector = to_intel_connector(conn_state->connector);
> > -	/*
> > -	 * conn_state->best_encoder (and crtc_state) are NULL when called from
> > -	 * intel_dp_aux_setup_backlight()
> > -	 */
> >  	struct intel_dp *intel_dp = enc_to_intel_dp(&connector->encoder->base);
> Maybe change this one to conn_state->best_encoder now? Same as for set_backlight. Needs some runtime testing though. :)

I see four instances that need to be converted, I should perhaps do it a
in a separate patch. But, I can't seem to get brightness control working
on the SDP I have here. So, I'm a bit wary of doing it until I can bench
test properly.

Thanks for the review.

-DK


> >  	uint8_t dpcd_buf = 0;
> >  	uint8_t edp_backlight_mode = 0;
> > @@ -156,8 +148,6 @@ static int intel_dp_aux_setup_backlight(struct intel_connector *connector,
> >  	struct intel_dp *intel_dp = enc_to_intel_dp(&connector->encoder->base);
> >  	struct intel_panel *panel = &connector->panel;
> >  
> > -	intel_dp_aux_enable_backlight(NULL, connector->base.state);
> > -
> >  	if (intel_dp->edp_dpcd[2] & DP_EDP_BACKLIGHT_BRIGHTNESS_BYTE_COUNT)
> >  		panel->backlight.max = 0xFFFF;
> >  	else
> Reviewed-by: Maarten Lankhorst <maarten.lankhorst at linux.intel.com>
> 
> Cheers,
> 
> Maarten
> 
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx



More information about the Intel-gfx mailing list