xref: /linux/Documentation/gpu/vc4.rst (revision c5738c861afc51856e8400e00a0ecd9ffa2633b8)
1=====================================
2 drm/vc4 Broadcom VC4 Graphics Driver
3=====================================
4
5.. kernel-doc:: drivers/gpu/drm/vc4/vc4_drv.c
6   :doc: Broadcom VC4 Graphics Driver
7
8Display Hardware Handling
9=========================
10
11This section covers everything related to the display hardware including
12the mode setting infrastructure, plane, sprite and cursor handling and
13display, output probing and related topics.
14
15Pixel Valve (DRM CRTC)
16----------------------
17
18.. kernel-doc:: drivers/gpu/drm/vc4/vc4_crtc.c
19   :doc: VC4 CRTC module
20
21HVS
22---
23
24.. kernel-doc:: drivers/gpu/drm/vc4/vc4_hvs.c
25   :doc: VC4 HVS module.
26
27HVS planes
28----------
29
30.. kernel-doc:: drivers/gpu/drm/vc4/vc4_plane.c
31   :doc: VC4 plane module
32
33HDMI encoder
34------------
35
36.. kernel-doc:: drivers/gpu/drm/vc4/vc4_hdmi.c
37   :doc: VC4 Falcon HDMI module
38
39DSI encoder
40-----------
41
42.. kernel-doc:: drivers/gpu/drm/vc4/vc4_dsi.c
43   :doc: VC4 DSI0/DSI1 module
44
45DPI encoder
46-----------
47
48.. kernel-doc:: drivers/gpu/drm/vc4/vc4_dpi.c
49   :doc: VC4 DPI module
50
51VEC (Composite TV out) encoder
52------------------------------
53
54.. kernel-doc:: drivers/gpu/drm/vc4/vc4_vec.c
55   :doc: VC4 SDTV module
56
57KUnit Tests
58===========
59
60The VC4 Driver uses KUnit to perform driver-specific unit and
61integration tests.
62
63These tests are using a mock driver and can be ran using the
64command::
65	./tools/testing/kunit/kunit.py run \
66		--kunitconfig=drivers/gpu/drm/vc4/tests/.kunitconfig \
67		--cross_compile aarch64-linux-gnu- --arch arm64
68
69Parts of the driver that are currently covered by tests are:
70 * The HVS to PixelValve dynamic FIFO assignment, for the BCM2835-7
71   and BCM2711.
72
73Memory Management and 3D Command Submission
74===========================================
75
76This section covers the GEM implementation in the vc4 driver.
77
78GPU buffer object (BO) management
79---------------------------------
80
81.. kernel-doc:: drivers/gpu/drm/vc4/vc4_bo.c
82   :doc: VC4 GEM BO management support
83
84V3D binner command list (BCL) validation
85----------------------------------------
86
87.. kernel-doc:: drivers/gpu/drm/vc4/vc4_validate.c
88   :doc: Command list validator for VC4.
89
90V3D render command list (RCL) generation
91----------------------------------------
92
93.. kernel-doc:: drivers/gpu/drm/vc4/vc4_render_cl.c
94   :doc: Render command list generation
95
96Shader validator for VC4
97---------------------------
98.. kernel-doc:: drivers/gpu/drm/vc4/vc4_validate_shaders.c
99   :doc: Shader validator for VC4.
100
101V3D Interrupts
102--------------
103
104.. kernel-doc:: drivers/gpu/drm/vc4/vc4_irq.c
105   :doc: Interrupt management for the V3D engine
106