Merge tag 'trace-printf-v6.13' of git://git.kernel.org/pub/scm/linux/kernel/git/trace...
[drm/drm-misc.git] / Documentation / gpu / vc4.rst
blob5e5e92e4091959914138a4418f6684121ab29afa
1 =====================================
2  drm/vc4 Broadcom VC4 Graphics Driver
3 =====================================
5 .. kernel-doc:: drivers/gpu/drm/vc4/vc4_drv.c
6    :doc: Broadcom VC4 Graphics Driver
8 Display Hardware Handling
9 =========================
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.
15 Pixel Valve (DRM CRTC)
16 ----------------------
18 .. kernel-doc:: drivers/gpu/drm/vc4/vc4_crtc.c
19    :doc: VC4 CRTC module
21 HVS
22 ---
24 .. kernel-doc:: drivers/gpu/drm/vc4/vc4_hvs.c
25    :doc: VC4 HVS module.
27 HVS planes
28 ----------
30 .. kernel-doc:: drivers/gpu/drm/vc4/vc4_plane.c
31    :doc: VC4 plane module
33 HDMI encoder
34 ------------
36 .. kernel-doc:: drivers/gpu/drm/vc4/vc4_hdmi.c
37    :doc: VC4 Falcon HDMI module
39 DSI encoder
40 -----------
42 .. kernel-doc:: drivers/gpu/drm/vc4/vc4_dsi.c
43    :doc: VC4 DSI0/DSI1 module
45 DPI encoder
46 -----------
48 .. kernel-doc:: drivers/gpu/drm/vc4/vc4_dpi.c
49    :doc: VC4 DPI module
51 VEC (Composite TV out) encoder
52 ------------------------------
54 .. kernel-doc:: drivers/gpu/drm/vc4/vc4_vec.c
55    :doc: VC4 SDTV module
57 KUnit Tests
58 ===========
60 The VC4 Driver uses KUnit to perform driver-specific unit and
61 integration tests.
63 These tests are using a mock driver and can be ran using the
64 command below, on either arm or arm64 architectures,
66 .. code-block:: bash
68         $ ./tools/testing/kunit/kunit.py run \
69                 --kunitconfig=drivers/gpu/drm/vc4/tests/.kunitconfig \
70                 --cross_compile aarch64-linux-gnu- --arch arm64
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.
76 Memory Management and 3D Command Submission
77 ===========================================
79 This section covers the GEM implementation in the vc4 driver.
81 GPU buffer object (BO) management
82 ---------------------------------
84 .. kernel-doc:: drivers/gpu/drm/vc4/vc4_bo.c
85    :doc: VC4 GEM BO management support
87 V3D binner command list (BCL) validation
88 ----------------------------------------
90 .. kernel-doc:: drivers/gpu/drm/vc4/vc4_validate.c
91    :doc: Command list validator for VC4.
93 V3D render command list (RCL) generation
94 ----------------------------------------
96 .. kernel-doc:: drivers/gpu/drm/vc4/vc4_render_cl.c
97    :doc: Render command list generation
99 Shader validator for VC4
100 ---------------------------
101 .. kernel-doc:: drivers/gpu/drm/vc4/vc4_validate_shaders.c
102    :doc: Shader validator for VC4.
104 V3D Interrupts
105 --------------
107 .. kernel-doc:: drivers/gpu/drm/vc4/vc4_irq.c
108    :doc: Interrupt management for the V3D engine