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