[Intel-gfx] [PATCH 06/15] drm/i915: Extract intel_edp_backlight_setup()

Luca Coelho luca at coelho.fi
Mon Sep 26 11:33:08 UTC 2022


On Mon, 2022-09-26 at 14:16 +0300, Ville Syrjälä wrote:
> On Mon, Sep 26, 2022 at 01:58:42PM +0300, Luca Coelho wrote:
> > On Mon, 2022-09-12 at 14:18 +0300, Ville Syrjala wrote:
> > > From: Ville Syrjälä <ville.syrjala at linux.intel.com>
> > > 
> > > Pull the eDP backlight setup ino its own function. No
> > > reason to pollute intel_edp_init_connector() with all
> > > the mundane details.
> > > 
> > > Signed-off-by: Ville Syrjälä <ville.syrjala at linux.intel.com>
> > > ---
> > >  drivers/gpu/drm/i915/display/intel_dp.c | 51 +++++++++++++++----------
> > >  1 file changed, 30 insertions(+), 21 deletions(-)
> > > 
> > > diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c
> > > index a5eca5396fed..de5a4d2df78e 100644
> > > --- a/drivers/gpu/drm/i915/display/intel_dp.c
> > > +++ b/drivers/gpu/drm/i915/display/intel_dp.c
> > > @@ -5217,6 +5217,35 @@ intel_edp_add_properties(struct intel_dp *intel_dp)
> > >  						       fixed_mode->vdisplay);
> > >  }
> > >  
> > > +static void intel_edp_backlight_setup(struct intel_dp *intel_dp,
> > > +				      struct intel_connector *connector)
> > > +{
> > > +	struct drm_i915_private *i915 = dp_to_i915(intel_dp);
> > > +	enum pipe pipe = INVALID_PIPE;
> > > +
> > > +	if (IS_VALLEYVIEW(i915) || IS_CHERRYVIEW(i915)) {
> > 
> > Isn't this too restrictive? Isn't there another way to check whether
> > the hardware supports backlight?
> 
> That's not what we're checking.
> 
> Only VLV/CHV have per-pipe backlight registers, whereas
> other platforms have less insane design. So we only need
> to figure out the pipe on VLV/CHV.
> 
> > 
> > 
> > > +		/*
> > > +		 * Figure out the current pipe for the initial backlight setup.
> > > +		 * If the current pipe isn't valid, try the PPS pipe, and if that
> > > +		 * fails just assume pipe A.
> > > +		 */
> > > +		pipe = vlv_active_pipe(intel_dp);
> > > +
> > > +		if (pipe != PIPE_A && pipe != PIPE_B)
> > > +			pipe = intel_dp->pps.pps_pipe;
> > > +
> > > +		if (pipe != PIPE_A && pipe != PIPE_B)
> > > +			pipe = PIPE_A;
> > > +
> > > +		drm_dbg_kms(&i915->drm,
> > > +			    "[CONNECTOR:%d:%s] using pipe %c for initial backlight setup\n",
> > > +			    connector->base.base.id, connector->base.name,
> > > +			    pipe_name(pipe));
> > > +	}
> > > +
> > > +	intel_backlight_setup(connector, pipe);
> > 
> > In most cases we will call intel_backlight_setup() with INVALID_PIPE. 
> > Wouldn't it be better to skip this call completely in that case?
> 
> INVALD_PIPE doesn't mean "no backlight", it just means we don't
> care about the pipe.
> 

Thanks for clarifying!

Reviewed-by: Luca Coelho <luciano.coelho at intel.com>

--
Cheers,
Luca.


More information about the Intel-gfx mailing list