summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/vc4/vc4_drv.h
diff options
context:
space:
mode:
authorEric Anholt <eric@anholt.net>2015-12-28 13:25:41 -0800
committerEric Anholt <eric@anholt.net>2016-02-16 11:24:08 -0800
commitd8dbf44f13b91185c618219d912b246817a8d132 (patch)
treea8af3bb3b1e608514f93cd76b921c9e3d7ace76f /drivers/gpu/drm/vc4/vc4_drv.h
parent6674a904d68041d982ffb284d2827410765a097a (diff)
downloadop-kernel-dev-d8dbf44f13b91185c618219d912b246817a8d132.zip
op-kernel-dev-d8dbf44f13b91185c618219d912b246817a8d132.tar.gz
drm/vc4: Make the CRTCs cooperate on allocating display lists.
So far, we've only ever lit up one CRTC, so this has been fine. To extend to more displays or more planes, we need to make sure we don't run our display lists into each other. Signed-off-by: Eric Anholt <eric@anholt.net>
Diffstat (limited to 'drivers/gpu/drm/vc4/vc4_drv.h')
-rw-r--r--drivers/gpu/drm/vc4/vc4_drv.h8
1 files changed, 7 insertions, 1 deletions
diff --git a/drivers/gpu/drm/vc4/vc4_drv.h b/drivers/gpu/drm/vc4/vc4_drv.h
index 4c734d0..ae98024 100644
--- a/drivers/gpu/drm/vc4/vc4_drv.h
+++ b/drivers/gpu/drm/vc4/vc4_drv.h
@@ -149,7 +149,13 @@ struct vc4_v3d {
struct vc4_hvs {
struct platform_device *pdev;
void __iomem *regs;
- void __iomem *dlist;
+ u32 __iomem *dlist;
+
+ /* Memory manager for CRTCs to allocate space in the display
+ * list. Units are dwords.
+ */
+ struct drm_mm dlist_mm;
+ spinlock_t mm_lock;
};
struct vc4_plane {
OpenPOWER on IntegriCloud