[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