diff options
author | Lucas Stach <l.stach@pengutronix.de> | 2017-11-17 17:43:37 +0100 |
---|---|---|
committer | Lucas Stach <l.stach@pengutronix.de> | 2018-01-02 17:24:28 +0100 |
commit | a7790d78092e5904beb4de71e1ea43b260d2092a (patch) | |
tree | 30a220935078220766201031fe305d4db7e3f166 /drivers/gpu/drm/etnaviv/etnaviv_gpu.h | |
parent | 4375ffffbf099f14815380a3d9e5784ffc55bf31 (diff) |
drm/etnaviv: move workqueue to be per GPU
While the etnaviv workqueue needs to be ordered, as we rely on work items
being executed in queuing order, this is only true for a single GPU.
Having a shared workqueue for all GPUs in the system limits concurrency
artificially.
Getting each GPU its own ordered workqueue still meets our ordering
expectations and enables retire workers to run concurrently.
Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Reviewed-by: Philipp Zabel <p.zabel@pengutronix.de>
Diffstat (limited to 'drivers/gpu/drm/etnaviv/etnaviv_gpu.h')
-rw-r--r-- | drivers/gpu/drm/etnaviv/etnaviv_gpu.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/gpu/drm/etnaviv/etnaviv_gpu.h b/drivers/gpu/drm/etnaviv/etnaviv_gpu.h index 15090bb68f5a..ccef6139cf70 100644 --- a/drivers/gpu/drm/etnaviv/etnaviv_gpu.h +++ b/drivers/gpu/drm/etnaviv/etnaviv_gpu.h @@ -106,6 +106,7 @@ struct etnaviv_gpu { struct mutex lock; struct etnaviv_chip_identity identity; struct etnaviv_file_private *lastctx; + struct workqueue_struct *wq; /* 'ring'-buffer: */ struct etnaviv_cmdbuf *buffer; |