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