aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/nouveau/core/include/core/engine.h
diff options
context:
space:
mode:
authorBen Skeggs <bskeggs@redhat.com>2012-08-10 13:47:56 +1000
committerBen Skeggs <bskeggs@redhat.com>2012-10-03 13:13:02 +1000
commit3acec63aee5d082f86218973912e682e84ec2a05 (patch)
treefbd45dda08d5039be919d006d3801a42978e294b /drivers/gpu/drm/nouveau/core/include/core/engine.h
parentdrm/nv84/fifo: mask only the engine we're waiting on for channel unload (diff)
downloadlinux-dev-3acec63aee5d082f86218973912e682e84ec2a05.tar.xz
linux-dev-3acec63aee5d082f86218973912e682e84ec2a05.zip
drm/nouveau/core: protect engine context list with hardirq-safe spinlock
IRQ handlers will need access to engine contexts. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Diffstat (limited to '')
-rw-r--r--drivers/gpu/drm/nouveau/core/include/core/engine.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/gpu/drm/nouveau/core/include/core/engine.h b/drivers/gpu/drm/nouveau/core/include/core/engine.h
index 1a7b0a7455ca..666d06de77ec 100644
--- a/drivers/gpu/drm/nouveau/core/include/core/engine.h
+++ b/drivers/gpu/drm/nouveau/core/include/core/engine.h
@@ -11,7 +11,10 @@ struct nouveau_engine {
struct nouveau_subdev base;
struct nouveau_oclass *cclass;
struct nouveau_oclass *sclass;
+
struct list_head contexts;
+ spinlock_t lock;
+
void (*tile_prog)(struct nouveau_engine *, int region);
int (*tlb_flush)(struct nouveau_engine *);
};