aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/nouveau/nouveau_bios.h
diff options
context:
space:
mode:
authorBen Skeggs <bskeggs@redhat.com>2010-02-09 10:22:29 +1000
committerBen Skeggs <bskeggs@redhat.com>2010-02-10 08:19:18 +1000
commit39c9bfb453b748ce220ceefacbe2a5c19fabf67b (patch)
treeadc629eb6e8fb8303e5ce2e950871889e035d06c /drivers/gpu/drm/nouveau/nouveau_bios.h
parentdrm/nouveau: make dp auxch xfer len check for reads only (diff)
downloadlinux-dev-39c9bfb453b748ce220ceefacbe2a5c19fabf67b.tar.xz
linux-dev-39c9bfb453b748ce220ceefacbe2a5c19fabf67b.zip
drm/nv50: prevent multiple init tables being parsed at the same time
With DVI and DP plugged, the DVI clock change interrupts being run can cause DP link training to fail. This adds a spinlock around init table parsing to prevent this. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Diffstat (limited to '')
-rw-r--r--drivers/gpu/drm/nouveau/nouveau_bios.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/gpu/drm/nouveau/nouveau_bios.h b/drivers/gpu/drm/nouveau/nouveau_bios.h
index 058e98c76d89..68446fd4146b 100644
--- a/drivers/gpu/drm/nouveau/nouveau_bios.h
+++ b/drivers/gpu/drm/nouveau/nouveau_bios.h
@@ -205,6 +205,8 @@ struct nvbios {
struct drm_device *dev;
struct nouveau_bios_info pub;
+ spinlock_t lock;
+
uint8_t data[NV_PROM_SIZE];
unsigned int length;
bool execute;