* [PATCH] drm/i915: Squelch overzealous uncore reset WARN_ON @ 2015-02-05 10:21 Mika Kuoppala 2015-02-05 10:29 ` Chris Wilson 2015-02-05 17:52 ` shuang.he 0 siblings, 2 replies; 7+ messages in thread From: Mika Kuoppala @ 2015-02-05 10:21 UTC (permalink / raw) To: intel-gfx We added this WARN_ON to guard against using uninitialized forcewake domains. But forgot blissfully that not all gens have forcewake domains in the first place. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=88911 Tested-by: Ding Heng <hengx.ding@intel.com> Signed-off-by: Mika Kuoppala <mika.kuoppala@intel.com> --- drivers/gpu/drm/i915/intel_uncore.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/gpu/drm/i915/intel_uncore.c b/drivers/gpu/drm/i915/intel_uncore.c index 76b60a3..bbee962 100644 --- a/drivers/gpu/drm/i915/intel_uncore.c +++ b/drivers/gpu/drm/i915/intel_uncore.c @@ -166,6 +166,9 @@ fw_domains_reset(struct drm_i915_private *dev_priv, enum forcewake_domains fw_do struct intel_uncore_forcewake_domain *d; enum forcewake_domain_id id; + if (INTEL_INFO(dev_priv->dev)->gen <= 5) + return; + WARN_ON(dev_priv->uncore.fw_domains == 0); for_each_fw_domain_mask(d, fw_domains, dev_priv, id) -- 1.9.1 _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH] drm/i915: Squelch overzealous uncore reset WARN_ON 2015-02-05 10:21 [PATCH] drm/i915: Squelch overzealous uncore reset WARN_ON Mika Kuoppala @ 2015-02-05 10:29 ` Chris Wilson 2015-02-05 15:45 ` Mika Kuoppala 2015-02-05 17:52 ` shuang.he 1 sibling, 1 reply; 7+ messages in thread From: Chris Wilson @ 2015-02-05 10:29 UTC (permalink / raw) To: Mika Kuoppala; +Cc: intel-gfx On Thu, Feb 05, 2015 at 12:21:11PM +0200, Mika Kuoppala wrote: > We added this WARN_ON to guard against using uninitialized > forcewake domains. But forgot blissfully that not all > gens have forcewake domains in the first place. > > Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=88911 > Tested-by: Ding Heng <hengx.ding@intel.com> > Signed-off-by: Mika Kuoppala <mika.kuoppala@intel.com> Imo, here we should just if (dev_priv->uncore.fw_domains == 0) return; then it clarifies that we are allowed to call this code everywhere. To address the issue you raise we should move the WARN_ON into the uncore_init. If we have more counter-examples in the future, we may regret adding the WARN, but in the meantime it will help remind us to add the forcewake handling code. -Chris -- Chris Wilson, Intel Open Source Technology Centre _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH] drm/i915: Squelch overzealous uncore reset WARN_ON 2015-02-05 10:29 ` Chris Wilson @ 2015-02-05 15:45 ` Mika Kuoppala 2015-02-05 16:43 ` Chris Wilson 2015-02-07 9:31 ` shuang.he 0 siblings, 2 replies; 7+ messages in thread From: Mika Kuoppala @ 2015-02-05 15:45 UTC (permalink / raw) To: intel-gfx We added this WARN_ON to guard against using uninitialized forcewake domains. But forgot blissfully that not all gens have forcewake domains in the first place. v2: Move WARN_ON to fw_domains_init (Chris) Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=88911 Tested-by: Ding Heng <hengx.ding@intel.com> (v1) Signed-off-by: Mika Kuoppala <mika.kuoppala@intel.com> --- drivers/gpu/drm/i915/intel_uncore.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/i915/intel_uncore.c b/drivers/gpu/drm/i915/intel_uncore.c index 76b60a3..e10bcfc 100644 --- a/drivers/gpu/drm/i915/intel_uncore.c +++ b/drivers/gpu/drm/i915/intel_uncore.c @@ -166,7 +166,8 @@ fw_domains_reset(struct drm_i915_private *dev_priv, enum forcewake_domains fw_do struct intel_uncore_forcewake_domain *d; enum forcewake_domain_id id; - WARN_ON(dev_priv->uncore.fw_domains == 0); + if (dev_priv->uncore.fw_domains == 0) + return; for_each_fw_domain_mask(d, fw_domains, dev_priv, id) fw_domain_reset(d); @@ -997,6 +998,9 @@ static void intel_uncore_fw_domains_init(struct drm_device *dev) { struct drm_i915_private *dev_priv = dev->dev_private; + if (INTEL_INFO(dev_priv->dev)->gen <= 5) + return; + if (IS_GEN9(dev)) { dev_priv->uncore.funcs.force_wake_get = fw_domains_get; dev_priv->uncore.funcs.force_wake_put = fw_domains_put; @@ -1069,6 +1073,8 @@ static void intel_uncore_fw_domains_init(struct drm_device *dev) fw_domain_init(dev_priv, FW_DOMAIN_ID_RENDER, FORCEWAKE, FORCEWAKE_ACK); } + + WARN_ON(dev_priv->uncore.fw_domains == 0); } void intel_uncore_init(struct drm_device *dev) -- 1.9.1 _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH] drm/i915: Squelch overzealous uncore reset WARN_ON 2015-02-05 15:45 ` Mika Kuoppala @ 2015-02-05 16:43 ` Chris Wilson 2015-02-09 12:37 ` Jani Nikula 2015-02-07 9:31 ` shuang.he 1 sibling, 1 reply; 7+ messages in thread From: Chris Wilson @ 2015-02-05 16:43 UTC (permalink / raw) To: Mika Kuoppala; +Cc: intel-gfx On Thu, Feb 05, 2015 at 05:45:42PM +0200, Mika Kuoppala wrote: > We added this WARN_ON to guard against using uninitialized > forcewake domains. But forgot blissfully that not all > gens have forcewake domains in the first place. > > v2: Move WARN_ON to fw_domains_init (Chris) > > Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=88911 > Tested-by: Ding Heng <hengx.ding@intel.com> (v1) > Signed-off-by: Mika Kuoppala <mika.kuoppala@intel.com> > --- > drivers/gpu/drm/i915/intel_uncore.c | 8 +++++++- > 1 file changed, 7 insertions(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/i915/intel_uncore.c b/drivers/gpu/drm/i915/intel_uncore.c > index 76b60a3..e10bcfc 100644 > --- a/drivers/gpu/drm/i915/intel_uncore.c > +++ b/drivers/gpu/drm/i915/intel_uncore.c > @@ -166,7 +166,8 @@ fw_domains_reset(struct drm_i915_private *dev_priv, enum forcewake_domains fw_do > struct intel_uncore_forcewake_domain *d; > enum forcewake_domain_id id; > > - WARN_ON(dev_priv->uncore.fw_domains == 0); > + if (dev_priv->uncore.fw_domains == 0) > + return; > > for_each_fw_domain_mask(d, fw_domains, dev_priv, id) > fw_domain_reset(d); > @@ -997,6 +998,9 @@ static void intel_uncore_fw_domains_init(struct drm_device *dev) > { > struct drm_i915_private *dev_priv = dev->dev_private; > > + if (INTEL_INFO(dev_priv->dev)->gen <= 5) > + return; > + > if (IS_GEN9(dev)) { > dev_priv->uncore.funcs.force_wake_get = fw_domains_get; > dev_priv->uncore.funcs.force_wake_put = fw_domains_put; > @@ -1069,6 +1073,8 @@ static void intel_uncore_fw_domains_init(struct drm_device *dev) > fw_domain_init(dev_priv, FW_DOMAIN_ID_RENDER, > FORCEWAKE, FORCEWAKE_ACK); > } > + Maybe: /* All future platforms are expected to require complex power gating */ > + WARN_ON(dev_priv->uncore.fw_domains == 0); > } Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> -Chris -- Chris Wilson, Intel Open Source Technology Centre _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] drm/i915: Squelch overzealous uncore reset WARN_ON 2015-02-05 16:43 ` Chris Wilson @ 2015-02-09 12:37 ` Jani Nikula 0 siblings, 0 replies; 7+ messages in thread From: Jani Nikula @ 2015-02-09 12:37 UTC (permalink / raw) To: Chris Wilson, Mika Kuoppala; +Cc: intel-gfx On Thu, 05 Feb 2015, Chris Wilson <chris@chris-wilson.co.uk> wrote: > On Thu, Feb 05, 2015 at 05:45:42PM +0200, Mika Kuoppala wrote: >> We added this WARN_ON to guard against using uninitialized >> forcewake domains. But forgot blissfully that not all >> gens have forcewake domains in the first place. >> >> v2: Move WARN_ON to fw_domains_init (Chris) >> >> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=88911 >> Tested-by: Ding Heng <hengx.ding@intel.com> (v1) >> Signed-off-by: Mika Kuoppala <mika.kuoppala@intel.com> >> --- >> drivers/gpu/drm/i915/intel_uncore.c | 8 +++++++- >> 1 file changed, 7 insertions(+), 1 deletion(-) >> >> diff --git a/drivers/gpu/drm/i915/intel_uncore.c b/drivers/gpu/drm/i915/intel_uncore.c >> index 76b60a3..e10bcfc 100644 >> --- a/drivers/gpu/drm/i915/intel_uncore.c >> +++ b/drivers/gpu/drm/i915/intel_uncore.c >> @@ -166,7 +166,8 @@ fw_domains_reset(struct drm_i915_private *dev_priv, enum forcewake_domains fw_do >> struct intel_uncore_forcewake_domain *d; >> enum forcewake_domain_id id; >> >> - WARN_ON(dev_priv->uncore.fw_domains == 0); >> + if (dev_priv->uncore.fw_domains == 0) >> + return; >> >> for_each_fw_domain_mask(d, fw_domains, dev_priv, id) >> fw_domain_reset(d); >> @@ -997,6 +998,9 @@ static void intel_uncore_fw_domains_init(struct drm_device *dev) >> { >> struct drm_i915_private *dev_priv = dev->dev_private; >> >> + if (INTEL_INFO(dev_priv->dev)->gen <= 5) >> + return; >> + >> if (IS_GEN9(dev)) { >> dev_priv->uncore.funcs.force_wake_get = fw_domains_get; >> dev_priv->uncore.funcs.force_wake_put = fw_domains_put; >> @@ -1069,6 +1073,8 @@ static void intel_uncore_fw_domains_init(struct drm_device *dev) >> fw_domain_init(dev_priv, FW_DOMAIN_ID_RENDER, >> FORCEWAKE, FORCEWAKE_ACK); >> } >> + > Maybe: /* All future platforms are expected to require complex power gating */ >> + WARN_ON(dev_priv->uncore.fw_domains == 0); >> } > > Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> Pushed to drm-intel-next-fixes, thanks for the patch and review. BR, Jani. > -Chris > > -- > Chris Wilson, Intel Open Source Technology Centre > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/intel-gfx -- Jani Nikula, Intel Open Source Technology Center _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] drm/i915: Squelch overzealous uncore reset WARN_ON 2015-02-05 15:45 ` Mika Kuoppala 2015-02-05 16:43 ` Chris Wilson @ 2015-02-07 9:31 ` shuang.he 1 sibling, 0 replies; 7+ messages in thread From: shuang.he @ 2015-02-07 9:31 UTC (permalink / raw) To: shuang.he, ethan.gao, intel-gfx, mika.kuoppala Tested-By: PRC QA PRTS (Patch Regression Test System Contact: shuang.he@intel.com) Task id: 5722 -------------------------------------Summary------------------------------------- Platform Delta drm-intel-nightly Series Applied PNV 282/283 282/283 ILK +3 316/319 319/319 SNB +2-3 322/346 321/346 IVB -2 382/384 380/384 BYT 296/296 296/296 HSW -1 351/354 350/354 BDW 318/333 318/333 -------------------------------------Detailed------------------------------------- Platform Test drm-intel-nightly Series Applied *ILK igt_drv_suspend_debugfs-reader DMESG_WARN(3, M26M37) PASS(1, M37) *ILK igt_drv_suspend_forcewake DMESG_WARN(6, M26M37) PASS(1, M37) *ILK igt_gem_workarounds_suspend-resume DMESG_WARN(3, M26M37) PASS(1, M37) SNB igt_kms_cursor_crc_cursor-size-change NSPT(2, M22M35)PASS(2, M35)DMESG_FAIL(1, M35) PASS(1, M35) SNB igt_kms_flip_dpms-vs-vblank-race-interruptible DMESG_WARN(2, M35)PASS(3, M22M35) DMESG_WARN(1, M35) SNB igt_kms_flip_event_leak NSPT(2, M22M35)PASS(3, M35) PASS(1, M35) SNB igt_kms_flip_modeset-vs-vblank-race DMESG_WARN(1, M35)PASS(2, M22M35) DMESG_WARN(1, M35) *SNB igt_kms_flip_tiling_flip-changes-tiling PASS(2, M22M35) FAIL(1, M35) IVB igt_gem_pwrite_pread_snooped-pwrite-blt-cpu_mmap-performance DMESG_WARN(2, M34)PASS(6, M21M34) DMESG_WARN(1, M34) *IVB igt_gem_storedw_batches_loop_normal PASS(2, M21M34) DMESG_WARN(1, M34) *HSW igt_gem_pwrite_pread_snooped-pwrite-blt-cpu_mmap-performance PASS(3, M20) DMESG_WARN(1, M40) *HSW igt_pm_rpm_debugfs-read DMESG_WARN(3, M20) INIT(1, M40) Note: You need to pay more attention to line start with '*' _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] drm/i915: Squelch overzealous uncore reset WARN_ON 2015-02-05 10:21 [PATCH] drm/i915: Squelch overzealous uncore reset WARN_ON Mika Kuoppala 2015-02-05 10:29 ` Chris Wilson @ 2015-02-05 17:52 ` shuang.he 1 sibling, 0 replies; 7+ messages in thread From: shuang.he @ 2015-02-05 17:52 UTC (permalink / raw) To: shuang.he, ethan.gao, intel-gfx, mika.kuoppala Tested-By: PRC QA PRTS (Patch Regression Test System Contact: shuang.he@intel.com) Task id: 5716 -------------------------------------Summary------------------------------------- Platform Delta drm-intel-nightly Series Applied PNV +1 282/283 283/283 ILK +3 316/319 319/319 SNB 322/346 322/346 IVB -1 382/384 381/384 BYT 296/296 296/296 HSW 425/428 425/428 BDW 318/333 318/333 -------------------------------------Detailed------------------------------------- Platform Test drm-intel-nightly Series Applied PNV igt_gen3_render_linear_blits FAIL(2, M7)CRASH(1, M23)PASS(4, M25M23) PASS(1, M25) *ILK igt_drv_suspend_debugfs-reader DMESG_WARN(2, M26M37) PASS(1, M37) *ILK igt_drv_suspend_forcewake DMESG_WARN(4, M26M37) PASS(1, M37) *ILK igt_gem_workarounds_suspend-resume DMESG_WARN(2, M26M37) PASS(1, M37) IVB igt_gem_pwrite_pread_snooped-pwrite-blt-cpu_mmap-performance DMESG_WARN(2, M34)PASS(5, M21M34) DMESG_WARN(1, M21) Note: You need to pay more attention to line start with '*' _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2015-02-09 12:36 UTC | newest] Thread overview: 7+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2015-02-05 10:21 [PATCH] drm/i915: Squelch overzealous uncore reset WARN_ON Mika Kuoppala 2015-02-05 10:29 ` Chris Wilson 2015-02-05 15:45 ` Mika Kuoppala 2015-02-05 16:43 ` Chris Wilson 2015-02-09 12:37 ` Jani Nikula 2015-02-07 9:31 ` shuang.he 2015-02-05 17:52 ` shuang.he
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox