Message ID | 1402593406-17869-6-git-send-email-rodrigo.vivi@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Thu, Jun 12, 2014 at 10:16:43AM -0700, Rodrigo Vivi wrote: > Reviewed-by: Vijay Purushothaman <vijay.a.purushothaman@intel.com> > Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com> > --- > drivers/gpu/drm/i915/intel_dp.c | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c > index 0d9c7b6..ba020fd 100644 > --- a/drivers/gpu/drm/i915/intel_dp.c > +++ b/drivers/gpu/drm/i915/intel_dp.c > @@ -1776,6 +1776,10 @@ static bool intel_edp_psr_match_conditions(struct intel_dp *intel_dp) > return false; > } > > + /* Below limitations aren't valid for Broadwell */ > + if (IS_BROADWELL(dev)) > + goto out; > + > if (I915_READ(SPRCTL(intel_crtc->pipe)) & SPRITE_ENABLE) { The removal of the sprite checks is tricky, since currently our psr test coverage is a bit spotty. Same for cursor (and you can blame Chris a bit for that). So we need similar nasty tests like with primary plane: 1. setplane/setcursor, wait for psr entry, change with gtt mmap write 2. setplane/setcursor, wait for psr entry, change with pwrite upload 3. setplane/setcursor, wait for psr entry, change with blt/rendercpy Use-case 3. is currently not used, but Chris has code that does both 1&2. So we need to update the testcase a bit. Might be worth to refactor it into a list of buffer object upload methods and a list of tests, but not sure. Essentially this means we need the frontbuffer tracking you have for byt (since it doesn't work well there) also on hsw/bdw for the cursor/sprite stuff. Upside is that we can enable psr also with sprites on hsw. -Daniel > DRM_DEBUG_KMS("PSR condition failed: Sprite is Enabled\n"); > return false; > @@ -1792,6 +1796,7 @@ static bool intel_edp_psr_match_conditions(struct intel_dp *intel_dp) > return false; > } > > + out: > dev_priv->psr.source_ok = true; > return true; > } > -- > 1.9.3 > > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/intel-gfx
diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c index 0d9c7b6..ba020fd 100644 --- a/drivers/gpu/drm/i915/intel_dp.c +++ b/drivers/gpu/drm/i915/intel_dp.c @@ -1776,6 +1776,10 @@ static bool intel_edp_psr_match_conditions(struct intel_dp *intel_dp) return false; } + /* Below limitations aren't valid for Broadwell */ + if (IS_BROADWELL(dev)) + goto out; + if (I915_READ(SPRCTL(intel_crtc->pipe)) & SPRITE_ENABLE) { DRM_DEBUG_KMS("PSR condition failed: Sprite is Enabled\n"); return false; @@ -1792,6 +1796,7 @@ static bool intel_edp_psr_match_conditions(struct intel_dp *intel_dp) return false; } + out: dev_priv->psr.source_ok = true; return true; }