diff options
author | Dave Airlie <airlied@redhat.com> | 2013-07-22 08:37:39 +0400 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2013-07-24 05:58:09 +0400 |
commit | 0665f9f852b4ac05f2f62046a169f0f5b9212317 (patch) | |
tree | e9af889fd0b9c493318da865f6276ebb3df01ec7 /drivers/gpu/drm/qxl/qxl_drv.h | |
parent | 3b2f64d00c46e1e4e9bd0bb9bb12619adac27a4b (diff) | |
download | linux-0665f9f852b4ac05f2f62046a169f0f5b9212317.tar.xz |
drm/qxl: add delayed fb operations
Due to the nature of qxl hw we cannot queue operations while in an irq
context, so we queue these operations as best we can until atomic allocations
fail, and dequeue them later in a work queue.
Daniel looked over the locking on the list and agrees it should be sufficent.
The atomic allocs use no warn, as the last thing we want if we haven't memory
to allocate space for a printk in an irq context is more printks.
Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/qxl/qxl_drv.h')
-rw-r--r-- | drivers/gpu/drm/qxl/qxl_drv.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/gpu/drm/qxl/qxl_drv.h b/drivers/gpu/drm/qxl/qxl_drv.h index aacb791464a3..6a4106fb4c21 100644 --- a/drivers/gpu/drm/qxl/qxl_drv.h +++ b/drivers/gpu/drm/qxl/qxl_drv.h @@ -314,6 +314,7 @@ struct qxl_device { struct workqueue_struct *gc_queue; struct work_struct gc_work; + struct work_struct fb_work; }; /* forward declaration for QXL_INFO_IO */ |