[Intel-gfx] [PATCH] drm/plane-helper: Adapt cursor hack to transitional helpers

Mario Kleiner mario.kleiner.de at gmail.com
Thu May 21 07:17:49 PDT 2015


On 05/20/2015 10:36 AM, Daniel Vetter wrote:
> In
>
> commit f02ad907cd9e7fe3a6405d2d005840912f1ed258
> Author: Daniel Vetter <daniel.vetter at ffwll.ch>
> Date:   Thu Jan 22 16:36:23 2015 +0100
>
>      drm/atomic-helpers: Recover full cursor plane behaviour
>
> we've added a hack to atomic helpers to never to vblank waits for
> cursor updates through the legacy apis since that's what X expects.
> Unfortunately we've (again) forgotten to adjust the transitional
> helpers. Do this now.
>
> This fixes regressions for drivers only partially converted over to
> atomic (like i915).
>
> Reported-by: Pekka Paalanen <ppaalanen at gmail.com>
> Cc: Pekka Paalanen <ppaalanen at gmail.com>
> Cc: stable at vger.kernel.org
> Signed-off-by: Daniel Vetter <daniel.vetter at intel.com>
> ---
>   drivers/gpu/drm/drm_plane_helper.c | 3 +++
>   1 file changed, 3 insertions(+)
>
> diff --git a/drivers/gpu/drm/drm_plane_helper.c b/drivers/gpu/drm/drm_plane_helper.c
> index 40c1db9ad7c3..2f0ed11024eb 100644
> --- a/drivers/gpu/drm/drm_plane_helper.c
> +++ b/drivers/gpu/drm/drm_plane_helper.c
> @@ -465,6 +465,9 @@ int drm_plane_helper_commit(struct drm_plane *plane,
>   		if (!crtc[i])
>   			continue;
>
> +		if (crtc[i]->cursor == plane)
> +			continue;
> +
>   		/* There's no other way to figure out whether the crtc is running. */
>   		ret = drm_crtc_vblank_get(crtc[i]);
>   		if (ret == 0) {
>

This one is

Reviewed-and-tested-by: Mario Kleiner <mario.kleiner.de at gmail.com>

I was looking into Weston performance and the cursor problem, so had 
necessary tracing in place to test this. I can confirm that cursor 
related blocking in Westons drm-backend execution are gone with this 
patch applied, whereas they are still present when using hardware 
overlays on Intel, as expected.

So hardware cursors should be fine again, once the patch also ends in 
stable kernels.

thanks,
-mario


More information about the Intel-gfx mailing list