diff options
author | Gerd Hoffmann <kraxel@redhat.com> | 2021-02-04 17:57:09 +0300 |
---|---|---|
committer | Gerd Hoffmann <kraxel@redhat.com> | 2021-02-05 10:52:45 +0300 |
commit | 5f6c871fe919999774e8535ea611a6f84ee43ee4 (patch) | |
tree | bc1f8db06144ff7660b81ead867b4163894eb40c /drivers/gpu/drm/qxl/qxl_drv.h | |
parent | a7709b9b89a67f3ead2d188b1d0c261059b1f291 (diff) | |
download | linux-5f6c871fe919999774e8535ea611a6f84ee43ee4.tar.xz |
drm/qxl: properly free qxl releases
Reorganize qxl_device_fini() a bit.
Add missing unpin() calls.
Count releases. Add wait queue for releases. That way
qxl_device_fini() can easily wait until everything is
ready for proper shutdown.
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Acked-by: Thomas Zimmermann <tzimmermann@suse.de>
Link: http://patchwork.freedesktop.org/patch/msgid/20210204145712.1531203-9-kraxel@redhat.com
Diffstat (limited to 'drivers/gpu/drm/qxl/qxl_drv.h')
-rw-r--r-- | drivers/gpu/drm/qxl/qxl_drv.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/gpu/drm/qxl/qxl_drv.h b/drivers/gpu/drm/qxl/qxl_drv.h index 01354b43c413..6dd57cfb2e7c 100644 --- a/drivers/gpu/drm/qxl/qxl_drv.h +++ b/drivers/gpu/drm/qxl/qxl_drv.h @@ -214,6 +214,8 @@ struct qxl_device { spinlock_t release_lock; struct idr release_idr; uint32_t release_seqno; + atomic_t release_count; + wait_queue_head_t release_event; spinlock_t release_idr_lock; struct mutex async_io_mutex; unsigned int last_sent_io_cmd; |