From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH 6/9] drm/i915: BDW PSR: Remove limitations that aren't valid for BDW. Date: Fri, 13 Jun 2014 10:11:15 +0200 Message-ID: <20140613081115.GH5821@phenom.ffwll.local> References: <1402593406-17869-1-git-send-email-rodrigo.vivi@intel.com> <1402593406-17869-6-git-send-email-rodrigo.vivi@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Received: from mail-we0-f180.google.com (mail-we0-f180.google.com [74.125.82.180]) by gabe.freedesktop.org (Postfix) with ESMTP id E43EC6E9CF for ; Fri, 13 Jun 2014 01:11:21 -0700 (PDT) Received: by mail-we0-f180.google.com with SMTP id x48so2379243wes.11 for ; Fri, 13 Jun 2014 01:11:21 -0700 (PDT) Content-Disposition: inline In-Reply-To: <1402593406-17869-6-git-send-email-rodrigo.vivi@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Rodrigo Vivi Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org On Thu, Jun 12, 2014 at 10:16:43AM -0700, Rodrigo Vivi wrote: > Reviewed-by: Vijay Purushothaman > Signed-off-by: Rodrigo Vivi > --- > 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 -- Daniel Vetter Software Engineer, Intel Corporation +41 (0) 79 365 57 48 - http://blog.ffwll.ch