Message ID | 1387559381-1515-1-git-send-email-przanoni@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Fri, 2013-12-20 at 15:09 -0200, Paulo Zanoni wrote: > From: Paulo Zanoni <paulo.r.zanoni@intel.com> > > We're iterating over the CPU transcoders, so check for the correct > power domain. > > This fixes many "unclaimed register" error messages. > > This can be reproduced by the IGT test mentioned below, but we still > get a FAIL when we run it. > > Testcase: igt/kms_lip/flip-vs-panning-vs-hang > Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com> > --- > drivers/gpu/drm/i915/intel_display.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > > I didn't bisect to check, but it really really looks like a regression from > "drm/i915: add intel_display_power_enabled_sw() for use in atomic ctx". Yep, that was an overlook on my part:/ The fix looks ok: Reviewed-by: Imre Deak <imre.deak@intel.com> > > > > diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c > index 4d1357a..4d4b4bc 100644 > --- a/drivers/gpu/drm/i915/intel_display.c > +++ b/drivers/gpu/drm/i915/intel_display.c > @@ -11459,7 +11459,8 @@ intel_display_capture_error_state(struct drm_device *dev) > enum transcoder cpu_transcoder = transcoders[i]; > > error->transcoder[i].power_domain_on = > - intel_display_power_enabled_sw(dev, POWER_DOMAIN_PIPE(i)); > + intel_display_power_enabled_sw(dev, > + POWER_DOMAIN_TRANSCODER(cpu_transcoder)); > if (!error->transcoder[i].power_domain_on) > continue; >
On Fri, Dec 20, 2013 at 03:09:41PM -0200, Paulo Zanoni wrote: > From: Paulo Zanoni <paulo.r.zanoni@intel.com> > > We're iterating over the CPU transcoders, so check for the correct > power domain. > > This fixes many "unclaimed register" error messages. > > This can be reproduced by the IGT test mentioned below, but we still > get a FAIL when we run it. > > Testcase: igt/kms_lip/flip-vs-panning-vs-hang > Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com> This of course breaks error capture on every platform that doesn't use rpm, and even then is spectacularly useless on those that do. -Chris
On Mon, 2014-06-02 at 14:35 +0100, Chris Wilson wrote: > On Fri, Dec 20, 2013 at 03:09:41PM -0200, Paulo Zanoni wrote: > > From: Paulo Zanoni <paulo.r.zanoni@intel.com> > > > > We're iterating over the CPU transcoders, so check for the correct > > power domain. > > > > This fixes many "unclaimed register" error messages. > > > > This can be reproduced by the IGT test mentioned below, but we still > > get a FAIL when we run it. > > > > Testcase: igt/kms_lip/flip-vs-panning-vs-hang > > Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com> > > This of course breaks error capture on every platform that doesn't use > rpm, and even then is spectacularly useless on those that do. It is broken atm, because of the bug in intel_display_power_enabled_sw(). With that fixed these checks should work everywhere, since POWER_DOMAIN_INIT is always held on platforms w/o RPM. --Imre
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c index 4d1357a..4d4b4bc 100644 --- a/drivers/gpu/drm/i915/intel_display.c +++ b/drivers/gpu/drm/i915/intel_display.c @@ -11459,7 +11459,8 @@ intel_display_capture_error_state(struct drm_device *dev) enum transcoder cpu_transcoder = transcoders[i]; error->transcoder[i].power_domain_on = - intel_display_power_enabled_sw(dev, POWER_DOMAIN_PIPE(i)); + intel_display_power_enabled_sw(dev, + POWER_DOMAIN_TRANSCODER(cpu_transcoder)); if (!error->transcoder[i].power_domain_on) continue;