Message ID | 20230927210357.17461-2-nirmoy.das@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [v6,1/4] drm/i915: Introduce intel_gt_mcr_lock_reset() | expand |
Hi Nirmoy, On Wed, Sep 27, 2023 at 11:03:55PM +0200, Nirmoy Das wrote: > Move early resume functions of gt to a proper file. > > Signed-off-by: Nirmoy Das <nirmoy.das@intel.com> > --- > drivers/gpu/drm/i915/gt/intel_gt_pm.c | 6 ++++++ > drivers/gpu/drm/i915/gt/intel_gt_pm.h | 1 + > drivers/gpu/drm/i915/i915_driver.c | 6 ++---- > 3 files changed, 9 insertions(+), 4 deletions(-) > > diff --git a/drivers/gpu/drm/i915/gt/intel_gt_pm.c b/drivers/gpu/drm/i915/gt/intel_gt_pm.c > index 5a942af0a14e..dab73980c9f1 100644 > --- a/drivers/gpu/drm/i915/gt/intel_gt_pm.c > +++ b/drivers/gpu/drm/i915/gt/intel_gt_pm.c > @@ -216,6 +216,12 @@ void intel_gt_pm_fini(struct intel_gt *gt) > intel_rc6_fini(>->rc6); > } > > +void intel_gt_resume_early(struct intel_gt *gt) > +{ > + intel_uncore_resume_early(gt->uncore); > + intel_gt_check_and_clear_faults(gt); > +} > + should this go into the gt/ directory? Besides, if we don't need spinlocks in the whole reset function, we could directly have the intel_uncore_write_fw(gt->uncore, MTL_STEER_SEMAPHORE, 0x1); here, so that we avoid having one line functions. Andi
Hi Andi, On 9/28/2023 9:24 AM, Andi Shyti wrote: > Hi Nirmoy, > > On Wed, Sep 27, 2023 at 11:03:55PM +0200, Nirmoy Das wrote: >> Move early resume functions of gt to a proper file. >> >> Signed-off-by: Nirmoy Das <nirmoy.das@intel.com> >> --- >> drivers/gpu/drm/i915/gt/intel_gt_pm.c | 6 ++++++ >> drivers/gpu/drm/i915/gt/intel_gt_pm.h | 1 + >> drivers/gpu/drm/i915/i915_driver.c | 6 ++---- >> 3 files changed, 9 insertions(+), 4 deletions(-) >> >> diff --git a/drivers/gpu/drm/i915/gt/intel_gt_pm.c b/drivers/gpu/drm/i915/gt/intel_gt_pm.c >> index 5a942af0a14e..dab73980c9f1 100644 >> --- a/drivers/gpu/drm/i915/gt/intel_gt_pm.c >> +++ b/drivers/gpu/drm/i915/gt/intel_gt_pm.c >> @@ -216,6 +216,12 @@ void intel_gt_pm_fini(struct intel_gt *gt) >> intel_rc6_fini(>->rc6); >> } >> >> +void intel_gt_resume_early(struct intel_gt *gt) >> +{ >> + intel_uncore_resume_early(gt->uncore); >> + intel_gt_check_and_clear_faults(gt); >> +} >> + > should this go into the gt/ directory? Don't wanted to add anything new to i915_driver which can be done at lower levels as suggested by Jani and this seems like it should go to gt dir. > Besides, if we don't need > spinlocks in the whole reset function, we could directly have the > > intel_uncore_write_fw(gt->uncore, MTL_STEER_SEMAPHORE, 0x1); > > here, so that we avoid having one line functions. I think steer specific functions should stay in one file/header. Thanks, Nirmoy > > Andi
diff --git a/drivers/gpu/drm/i915/gt/intel_gt_pm.c b/drivers/gpu/drm/i915/gt/intel_gt_pm.c index 5a942af0a14e..dab73980c9f1 100644 --- a/drivers/gpu/drm/i915/gt/intel_gt_pm.c +++ b/drivers/gpu/drm/i915/gt/intel_gt_pm.c @@ -216,6 +216,12 @@ void intel_gt_pm_fini(struct intel_gt *gt) intel_rc6_fini(>->rc6); } +void intel_gt_resume_early(struct intel_gt *gt) +{ + intel_uncore_resume_early(gt->uncore); + intel_gt_check_and_clear_faults(gt); +} + int intel_gt_resume(struct intel_gt *gt) { struct intel_engine_cs *engine; diff --git a/drivers/gpu/drm/i915/gt/intel_gt_pm.h b/drivers/gpu/drm/i915/gt/intel_gt_pm.h index 6c9a46452364..b1eeb5b33918 100644 --- a/drivers/gpu/drm/i915/gt/intel_gt_pm.h +++ b/drivers/gpu/drm/i915/gt/intel_gt_pm.h @@ -78,6 +78,7 @@ void intel_gt_pm_fini(struct intel_gt *gt); void intel_gt_suspend_prepare(struct intel_gt *gt); void intel_gt_suspend_late(struct intel_gt *gt); int intel_gt_resume(struct intel_gt *gt); +void intel_gt_resume_early(struct intel_gt *gt); void intel_gt_runtime_suspend(struct intel_gt *gt); int intel_gt_runtime_resume(struct intel_gt *gt); diff --git a/drivers/gpu/drm/i915/i915_driver.c b/drivers/gpu/drm/i915/i915_driver.c index d50347e5773a..78501a83ba10 100644 --- a/drivers/gpu/drm/i915/i915_driver.c +++ b/drivers/gpu/drm/i915/i915_driver.c @@ -1327,10 +1327,8 @@ static int i915_drm_resume_early(struct drm_device *dev) drm_err(&dev_priv->drm, "Resume prepare failed: %d, continuing anyway\n", ret); - for_each_gt(gt, dev_priv, i) { - intel_uncore_resume_early(gt->uncore); - intel_gt_check_and_clear_faults(gt); - } + for_each_gt(gt, dev_priv, i) + intel_gt_resume_early(gt); intel_display_power_resume_early(dev_priv);
Move early resume functions of gt to a proper file. Signed-off-by: Nirmoy Das <nirmoy.das@intel.com> --- drivers/gpu/drm/i915/gt/intel_gt_pm.c | 6 ++++++ drivers/gpu/drm/i915/gt/intel_gt_pm.h | 1 + drivers/gpu/drm/i915/i915_driver.c | 6 ++---- 3 files changed, 9 insertions(+), 4 deletions(-)