[Intel-gfx] [PATCH 1/2] drm/i915/display: Group DC9 mask set

Souza, Jose jose.souza at intel.com
Thu Nov 12 13:22:53 UTC 2020


On Wed, 2020-11-11 at 13:12 -0800, Lucas De Marchi wrote:
> On Wed, Nov 11, 2020 at 08:24:07AM -0800, Jose Souza wrote:
> > DC9 has a separate HW flow from the rest of the DC states and it is
> > available in GEN9 LP platforms and on GEN11 and newer, so here
> > moving the assignment of the mask to a single conditional block to
> > simplifly code.
> > 
> > Cc: Lucas De Marchi <lucas.demarchi at intel.com>
> > Cc: Anusha Srivatsa <anusha.srivatsa at intel.com>
> > Signed-off-by: José Roberto de Souza <jose.souza at intel.com>
> > ---
> > .../gpu/drm/i915/display/intel_display_power.c | 18 ++++++++----------
> > 1 file changed, 8 insertions(+), 10 deletions(-)
> > 
> > diff --git a/drivers/gpu/drm/i915/display/intel_display_power.c b/drivers/gpu/drm/i915/display/intel_display_power.c
> > index 689922480661..48d41a43fbb2 100644
> > --- a/drivers/gpu/drm/i915/display/intel_display_power.c
> > +++ b/drivers/gpu/drm/i915/display/intel_display_power.c
> > @@ -4497,26 +4497,24 @@ static u32 get_allowed_dc_mask(const struct drm_i915_private *dev_priv,
> > 			max_dc = 3;
> > 		else
> > 			max_dc = 4;
> > -		/*
> > -		 * DC9 has a separate HW flow from the rest of the DC states,
> > -		 * not depending on the DMC firmware. It's needed by system
> > -		 * suspend/resume, so allow it unconditionally.
> > -		 */
> > -		mask = DC_STATE_EN_DC9;
> > 	} else if (IS_GEN(dev_priv, 11)) {
> > 		max_dc = 2;
> > -		mask = DC_STATE_EN_DC9;
> > 	} else if (IS_GEN(dev_priv, 10) || IS_GEN9_BC(dev_priv)) {
> > 		max_dc = 2;
> > -		mask = 0;
> > 	} else if (IS_GEN9_LP(dev_priv)) {
> > 		max_dc = 1;
> > -		mask = DC_STATE_EN_DC9;
> > 	} else {
> > 		max_dc = 0;
> > -		mask = 0;
> > 	}
> > 
> > +	/*
> > +	 * DC9 has a separate HW flow from the rest of the DC states,
> > +	 * not depending on the DMC firmware. It's needed by system
> > +	 * suspend/resume, so allow it unconditionally.
> > +	 */
> > +	mask = IS_GEN9_LP(dev_priv) || INTEL_GEN(dev_priv) >= 11 ?
> > +	       DC_STATE_EN_DC9 : 0;
> 
> humn... these 2 conditions here in a ternary operator is something that
> will probably get even harder to read if we have to add more conditions.
> Maybe just move the default value to the declaration (mask = 0) and here
> you do:
> 
> if (IS_GEN9_LP(dev_priv) || INTEL_GEN(dev_priv) >= 11)
> 	mask = DC_STATE_EN_DC9;
> 
> ?
> 
> Up to you. Change looks correct

Will keep the way this patch is as I believe that all new platforms will support DC9 so this block will not change but if it happens we should do like
you suggested.

> 
> 
> Reviewed-by: Lucas De Marchi <lucas.demarchi at intel.com>

thanks

> 
> Lucas De Marchi
> 
> > +
> > 	if (!dev_priv->params.disable_power_well)
> > 		max_dc = 0;
> > 
> > -- 
> > 2.29.2
> > 



More information about the Intel-gfx mailing list