[PATCH] drm: don't override possible_crtcs for primary/cursor planes
Daniel Vetter
daniel at ffwll.ch
Tue Nov 8 10:19:11 UTC 2016
On Sat, Nov 05, 2016 at 10:52:01AM -0400, Rob Clark wrote:
> It is kind of a pointless restriction. If userspace does silly things
> like using crtcA's cursor plane on crtcB, and then setcursor on crtcA,
> it will end up with the overlay disabled on crtcB. But userspace is
> allowed to shoot itself like this.
>
> v2: don't WARN_ON() if caller did not set ->possible_crtcs. This keeps
> the existing behavior by default, if caller does not set the
> ->possible_crtcs.
>
> Signed-off-by: Rob Clark <robdclark at gmail.com>
Applied to drm-misc, thanks. Should we maybe also update the kerneldoc a
bit in struct drm_plane?
-Daniel
> ---
> drivers/gpu/drm/drm_crtc.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/drm_crtc.c b/drivers/gpu/drm/drm_crtc.c
> index 13441e2..ce274ed 100644
> --- a/drivers/gpu/drm/drm_crtc.c
> +++ b/drivers/gpu/drm/drm_crtc.c
> @@ -229,9 +229,9 @@ int drm_crtc_init_with_planes(struct drm_device *dev, struct drm_crtc *crtc,
>
> crtc->primary = primary;
> crtc->cursor = cursor;
> - if (primary)
> + if (primary && !primary->possible_crtcs)
> primary->possible_crtcs = 1 << drm_crtc_index(crtc);
> - if (cursor)
> + if (cursor && !cursor->possible_crtcs)
> cursor->possible_crtcs = 1 << drm_crtc_index(crtc);
>
> ret = drm_crtc_crc_init(crtc);
> --
> 2.7.4
>
--
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
More information about the dri-devel
mailing list