aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/radeon/radeon.h
diff options
context:
space:
mode:
authorDaniel Vetter <daniel.vetter@ffwll.ch>2012-12-02 08:06:15 -0500
committerAlex Deucher <alexander.deucher@amd.com>2012-12-14 10:45:23 -0500
commit2c385151ed6db8ded2faa3328f0377e6c5fa1e89 (patch)
tree3c4d37e3f7d82519964f9fb8e9224815a5d4c0f1 /drivers/gpu/drm/radeon/radeon.h
parent2ef9bdfe64079c9d0b98dc89af3af52918b818a0 (diff)
drm/radeon: make indirect register access concurrency-safe
With the new per-crtc locking mutliple set-cursor calls could happen in parallel. Out of sheer paranoia I've opted for an irqsave spinlock. But if there's indeed an access from interrupt contexts to these regs it's already broken with the old code, so this can likely just be reduced to a normal spinlock. Otoh the pageflip completion happens from the vblank irq handler ... Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/radeon/radeon.h')
-rw-r--r--drivers/gpu/drm/radeon/radeon.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/gpu/drm/radeon/radeon.h b/drivers/gpu/drm/radeon/radeon.h
index 609bb18d09f1..285fb3f203af 100644
--- a/drivers/gpu/drm/radeon/radeon.h
+++ b/drivers/gpu/drm/radeon/radeon.h
@@ -1556,6 +1556,8 @@ struct radeon_device {
1556 /* Register mmio */ 1556 /* Register mmio */
1557 resource_size_t rmmio_base; 1557 resource_size_t rmmio_base;
1558 resource_size_t rmmio_size; 1558 resource_size_t rmmio_size;
1559 /* protects concurrent MM_INDEX/DATA based register access */
1560 spinlock_t mmio_idx_lock;
1559 void __iomem *rmmio; 1561 void __iomem *rmmio;
1560 radeon_rreg_t mc_rreg; 1562 radeon_rreg_t mc_rreg;
1561 radeon_wreg_t mc_wreg; 1563 radeon_wreg_t mc_wreg;