diff options
author | Gerd Hoffmann <kraxel@redhat.com> | 2021-02-04 17:57:08 +0300 |
---|---|---|
committer | Gerd Hoffmann <kraxel@redhat.com> | 2021-02-05 10:52:40 +0300 |
commit | a7709b9b89a67f3ead2d188b1d0c261059b1f291 (patch) | |
tree | 7e02b60a207d38b502257c552cf0ff0657729fe8 /drivers/gpu/drm/qxl/qxl_display.c | |
parent | 76aefa4d274a003a6b6d1ab8b76cfa7b82549356 (diff) | |
download | linux-a7709b9b89a67f3ead2d188b1d0c261059b1f291.tar.xz |
drm/qxl: handle shadow in primary destroy
qxl_primary_atomic_disable must check whenever the framebuffer bo has a
shadow surface and in case it has check the shadow primary status.
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Acked-by: Thomas Zimmermann <tzimmermann@suse.de>
Link: http://patchwork.freedesktop.org/patch/msgid/20210204145712.1531203-8-kraxel@redhat.com
Diffstat (limited to 'drivers/gpu/drm/qxl/qxl_display.c')
-rw-r--r-- | drivers/gpu/drm/qxl/qxl_display.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/gpu/drm/qxl/qxl_display.c b/drivers/gpu/drm/qxl/qxl_display.c index d25fd3acc891..c326412136c5 100644 --- a/drivers/gpu/drm/qxl/qxl_display.c +++ b/drivers/gpu/drm/qxl/qxl_display.c @@ -562,6 +562,8 @@ static void qxl_primary_atomic_disable(struct drm_plane *plane, if (old_state->fb) { struct qxl_bo *bo = gem_to_qxl_bo(old_state->fb->obj[0]); + if (bo->shadow) + bo = bo->shadow; if (bo->is_primary) { qxl_io_destroy_primary(qdev); bo->is_primary = false; |