[PATCH v3 4/4] drm/i915/display: tie DMC wakelock to DC5/6 state transitions

Luca Coelho luca at coelho.fi
Thu Apr 4 10:03:37 UTC 2024


On Thu, 2024-03-21 at 08:22 +0000, Shankar, Uma wrote:
> 
> > -----Original Message-----
> > From: Coelho, Luciano <luciano.coelho at intel.com>
> > Sent: Monday, March 18, 2024 7:08 PM
> > To: intel-gfx at lists.freedesktop.org
> > Cc: intel-xe at lists.freedesktop.org; Shankar, Uma <uma.shankar at intel.com>;
> > ville.syrjala at linux.intel.com; Nikula, Jani <jani.nikula at intel.com>
> > Subject: [PATCH v3 4/4] drm/i915/display: tie DMC wakelock to DC5/6 state
> > transitions
> > 
> > We only need DMC wakelocks when we allow DC5 and DC6 states.  Add the calls
> > to enable and disable DMC wakelock accordingly.
> 
> > Signed-off-by: Luca Coelho <luciano.coelho at intel.com>
> > ---
> >  drivers/gpu/drm/i915/display/intel_display_power_well.c | 7 +++++++
> >  drivers/gpu/drm/i915/display/intel_dmc.c                | 4 ++++
> >  2 files changed, 11 insertions(+)
> > 
> > diff --git a/drivers/gpu/drm/i915/display/intel_display_power_well.c
> > b/drivers/gpu/drm/i915/display/intel_display_power_well.c
> > index 217f82f1da84..367464f5c5cd 100644
> > --- a/drivers/gpu/drm/i915/display/intel_display_power_well.c
> > +++ b/drivers/gpu/drm/i915/display/intel_display_power_well.c
> > @@ -17,6 +17,7 @@
> >  #include "intel_dkl_phy.h"
> >  #include "intel_dkl_phy_regs.h"
> >  #include "intel_dmc.h"
> > +#include "intel_dmc_wl.h"
> >  #include "intel_dp_aux_regs.h"
> >  #include "intel_dpio_phy.h"
> >  #include "intel_dpll.h"
> > @@ -821,6 +822,8 @@ void gen9_enable_dc5(struct drm_i915_private
> > *dev_priv)
> >  		intel_de_rmw(dev_priv, GEN8_CHICKEN_DCPR_1,
> >  			     0, SKL_SELECT_ALTERNATE_DC_EXIT);
> > 
> > +	intel_dmc_wl_enable(dev_priv);
> 
> We can have platform checks here and call only when its supported.
> No strong objection but doing it here seems better than calling for all
> and then checking for platform inside.

I prefer not to check for wakelock specifics outside the wakelock code
itself.  So if we need to change it, we change it in a single place. 
The compiler will probably inline some of these checks anyway, if it
deems the function call to be too inefficient.

Is it okay for you?

--
Cheers,
Luca.


More information about the Intel-gfx mailing list