drm/atomic: Check old_plane_state->crtc in drm_atomic_helper_async_check()
Async plane update is supposed to work only when updating the FB or FB position of an already enabled plane. That does not apply to requests where the plane was previously disabled or assigned to a different CTRC. Check old_plane_state->crtc value to make sure async plane update is allowed. Fixes: fef9df8b5945 ("drm/atomic: initial support for asynchronous plane update") Cc: <stable@vger.kernel.org> Signed-off-by: Boris Brezillon <boris.brezillon@bootlin.com> Reviewed-by: Eric Anholt <eric@anholt.net> Link: https://patchwork.freedesktop.org/patch/msgid/20180724133215.31917-1-boris.brezillon@bootlin.com
This commit is contained in:
parent
d530b5f1ca
commit
603ba2dfb3
@ -1527,7 +1527,8 @@ int drm_atomic_helper_async_check(struct drm_device *dev,
|
||||
if (n_planes != 1)
|
||||
return -EINVAL;
|
||||
|
||||
if (!new_plane_state->crtc)
|
||||
if (!new_plane_state->crtc ||
|
||||
old_plane_state->crtc != new_plane_state->crtc)
|
||||
return -EINVAL;
|
||||
|
||||
funcs = plane->helper_private;
|
||||
|
Loading…
x
Reference in New Issue
Block a user