[Intel-gfx] [PATCH 6/9] drm/i915: BDW PSR: Remove limitations that aren't valid for BDW.

Daniel Vetter daniel at ffwll.ch
Fri Jun 13 10:11:15 CEST 2014


On Thu, Jun 12, 2014 at 10:16:43AM -0700, Rodrigo Vivi wrote:
> Reviewed-by: Vijay Purushothaman <vijay.a.purushothaman at intel.com>
> Signed-off-by: Rodrigo Vivi <rodrigo.vivi at 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 at 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



More information about the Intel-gfx mailing list