Message ID | 20220902095126.373036-2-rodrigo.vivi@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [1/2] drm/i915: Don't try to disable host RPS when this was never enabled. | expand |
On Fri, 02 Sep 2022 02:51:26 -0700, Rodrigo Vivi wrote: > > diff --git a/drivers/gpu/drm/i915/gt/intel_rps.c b/drivers/gpu/drm/i915/gt/intel_rps.c > index 6fadde4ee7bf..c29652281f2e 100644 > --- a/drivers/gpu/drm/i915/gt/intel_rps.c > +++ b/drivers/gpu/drm/i915/gt/intel_rps.c > @@ -1960,6 +1960,9 @@ void gen5_rps_irq_handler(struct intel_rps *rps) > > void intel_rps_init_early(struct intel_rps *rps) > { > + if (rps_uses_slpc(rps)) > + return; > + Hi Rodrigo, Let me double check with you, this works correctly at this place, correct? Looks like things to make this work should get initialized in intel_uc_init_early() which is called just before intel_rps_init_early() so looks ok (can't tell for sure with all those uc macros :/): Reviewed-by: Ashutosh Dixit <ashutosh.dixit@intel.com> > mutex_init(&rps->lock); > mutex_init(&rps->power.mutex); > > -- > 2.37.2 >
On Fri, 2022-09-02 at 07:16 -0700, Dixit, Ashutosh wrote: > On Fri, 02 Sep 2022 02:51:26 -0700, Rodrigo Vivi wrote: > > > > diff --git a/drivers/gpu/drm/i915/gt/intel_rps.c > > b/drivers/gpu/drm/i915/gt/intel_rps.c > > index 6fadde4ee7bf..c29652281f2e 100644 > > --- a/drivers/gpu/drm/i915/gt/intel_rps.c > > +++ b/drivers/gpu/drm/i915/gt/intel_rps.c > > @@ -1960,6 +1960,9 @@ void gen5_rps_irq_handler(struct intel_rps > > *rps) > > > > void intel_rps_init_early(struct intel_rps *rps) > > { > > + if (rps_uses_slpc(rps)) > > + return; > > + > > Hi Rodrigo, Let me double check with you, this works correctly at > this > place, correct? Looks like things to make this work should get > initialized > in intel_uc_init_early() which is called just before > intel_rps_init_early() > so looks ok (can't tell for sure with all those uc macros :/): yeap, I hate those uc macros as well! In theory it should work well since @ static void __intel_gt_init_early(struct intel_gt *gt) intel_uc_init_early(>->uc); intel_rps_init_early(>->rps); } And it works well when slpc is enabled... But our CI showed this is a disaster when SLPC is not used. I will have to fix that. > Reviewed-by: Ashutosh Dixit <ashutosh.dixit@intel.com> > > > mutex_init(&rps->lock); > > mutex_init(&rps->power.mutex); > > > > -- > > 2.37.2 > >
diff --git a/drivers/gpu/drm/i915/gt/intel_rps.c b/drivers/gpu/drm/i915/gt/intel_rps.c index 6fadde4ee7bf..c29652281f2e 100644 --- a/drivers/gpu/drm/i915/gt/intel_rps.c +++ b/drivers/gpu/drm/i915/gt/intel_rps.c @@ -1960,6 +1960,9 @@ void gen5_rps_irq_handler(struct intel_rps *rps) void intel_rps_init_early(struct intel_rps *rps) { + if (rps_uses_slpc(rps)) + return; + mutex_init(&rps->lock); mutex_init(&rps->power.mutex);
SLPC has its own waiboost variables and lock mechanism. No need for these extra stuff, in special no need for the timer. Cc: Ashutosh Dixit <ashutosh.dixit@intel.com> Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com> --- drivers/gpu/drm/i915/gt/intel_rps.c | 3 +++ 1 file changed, 3 insertions(+)