160c5d3b7SEric Anholt===================================== 260c5d3b7SEric Anholt drm/vc4 Broadcom VC4 Graphics Driver 360c5d3b7SEric Anholt===================================== 460c5d3b7SEric Anholt 5b787963aSEric Anholt.. kernel-doc:: drivers/gpu/drm/vc4/vc4_drv.c 6b787963aSEric Anholt :doc: Broadcom VC4 Graphics Driver 7b787963aSEric Anholt 860c5d3b7SEric AnholtDisplay Hardware Handling 960c5d3b7SEric Anholt========================= 1060c5d3b7SEric Anholt 1160c5d3b7SEric AnholtThis section covers everything related to the display hardware including 1260c5d3b7SEric Anholtthe mode setting infrastructure, plane, sprite and cursor handling and 1360c5d3b7SEric Anholtdisplay, output probing and related topics. 1460c5d3b7SEric Anholt 1560c5d3b7SEric AnholtPixel Valve (DRM CRTC) 1660c5d3b7SEric Anholt---------------------- 1760c5d3b7SEric Anholt 1860c5d3b7SEric Anholt.. kernel-doc:: drivers/gpu/drm/vc4/vc4_crtc.c 1960c5d3b7SEric Anholt :doc: VC4 CRTC module 2060c5d3b7SEric Anholt 2160c5d3b7SEric AnholtHVS 2260c5d3b7SEric Anholt--- 2360c5d3b7SEric Anholt 2460c5d3b7SEric Anholt.. kernel-doc:: drivers/gpu/drm/vc4/vc4_hvs.c 2560c5d3b7SEric Anholt :doc: VC4 HVS module. 2660c5d3b7SEric Anholt 2760c5d3b7SEric AnholtHVS planes 2860c5d3b7SEric Anholt---------- 2960c5d3b7SEric Anholt 3060c5d3b7SEric Anholt.. kernel-doc:: drivers/gpu/drm/vc4/vc4_plane.c 3160c5d3b7SEric Anholt :doc: VC4 plane module 3260c5d3b7SEric Anholt 3360c5d3b7SEric AnholtHDMI encoder 3460c5d3b7SEric Anholt------------ 3560c5d3b7SEric Anholt 3660c5d3b7SEric Anholt.. kernel-doc:: drivers/gpu/drm/vc4/vc4_hdmi.c 3760c5d3b7SEric Anholt :doc: VC4 Falcon HDMI module 3860c5d3b7SEric Anholt 3960c5d3b7SEric AnholtDSI encoder 4060c5d3b7SEric Anholt----------- 4160c5d3b7SEric Anholt 4260c5d3b7SEric Anholt.. kernel-doc:: drivers/gpu/drm/vc4/vc4_dsi.c 4360c5d3b7SEric Anholt :doc: VC4 DSI0/DSI1 module 4460c5d3b7SEric Anholt 4560c5d3b7SEric AnholtDPI encoder 4660c5d3b7SEric Anholt----------- 4760c5d3b7SEric Anholt 4860c5d3b7SEric Anholt.. kernel-doc:: drivers/gpu/drm/vc4/vc4_dpi.c 4960c5d3b7SEric Anholt :doc: VC4 DPI module 5060c5d3b7SEric Anholt 5160c5d3b7SEric AnholtVEC (Composite TV out) encoder 5260c5d3b7SEric Anholt------------------------------ 5360c5d3b7SEric Anholt 5460c5d3b7SEric Anholt.. kernel-doc:: drivers/gpu/drm/vc4/vc4_vec.c 5560c5d3b7SEric Anholt :doc: VC4 SDTV module 5660c5d3b7SEric Anholt 57*5304c8e6SMaxime RipardKUnit Tests 58*5304c8e6SMaxime Ripard=========== 59*5304c8e6SMaxime Ripard 60*5304c8e6SMaxime RipardThe VC4 Driver uses KUnit to perform driver-specific unit and 61*5304c8e6SMaxime Ripardintegration tests. 62*5304c8e6SMaxime Ripard 63*5304c8e6SMaxime RipardThese tests are using a mock driver and can be ran using the 64*5304c8e6SMaxime Ripardcommand:: 65*5304c8e6SMaxime Ripard ./tools/testing/kunit/kunit.py run \ 66*5304c8e6SMaxime Ripard --kunitconfig=drivers/gpu/drm/vc4/tests/.kunitconfig \ 67*5304c8e6SMaxime Ripard --cross_compile aarch64-linux-gnu- --arch arm64 68*5304c8e6SMaxime Ripard 69*5304c8e6SMaxime RipardParts of the driver that are currently covered by tests are: 70*5304c8e6SMaxime Ripard * The HVS to PixelValve dynamic FIFO assignment, for the BCM2835-7 71*5304c8e6SMaxime Ripard and BCM2711. 72*5304c8e6SMaxime Ripard 7360c5d3b7SEric AnholtMemory Management and 3D Command Submission 7460c5d3b7SEric Anholt=========================================== 7560c5d3b7SEric Anholt 7660c5d3b7SEric AnholtThis section covers the GEM implementation in the vc4 driver. 7760c5d3b7SEric Anholt 7860c5d3b7SEric AnholtGPU buffer object (BO) management 7960c5d3b7SEric Anholt--------------------------------- 8060c5d3b7SEric Anholt 8160c5d3b7SEric Anholt.. kernel-doc:: drivers/gpu/drm/vc4/vc4_bo.c 8260c5d3b7SEric Anholt :doc: VC4 GEM BO management support 8360c5d3b7SEric Anholt 8460c5d3b7SEric AnholtV3D binner command list (BCL) validation 8560c5d3b7SEric Anholt---------------------------------------- 8660c5d3b7SEric Anholt 8760c5d3b7SEric Anholt.. kernel-doc:: drivers/gpu/drm/vc4/vc4_validate.c 8860c5d3b7SEric Anholt :doc: Command list validator for VC4. 8960c5d3b7SEric Anholt 9060c5d3b7SEric AnholtV3D render command list (RCL) generation 9160c5d3b7SEric Anholt---------------------------------------- 9260c5d3b7SEric Anholt 9360c5d3b7SEric Anholt.. kernel-doc:: drivers/gpu/drm/vc4/vc4_render_cl.c 9460c5d3b7SEric Anholt :doc: Render command list generation 9560c5d3b7SEric Anholt 9660c5d3b7SEric AnholtShader validator for VC4 9760c5d3b7SEric Anholt--------------------------- 9860c5d3b7SEric Anholt.. kernel-doc:: drivers/gpu/drm/vc4/vc4_validate_shaders.c 9960c5d3b7SEric Anholt :doc: Shader validator for VC4. 10060c5d3b7SEric Anholt 10160c5d3b7SEric AnholtV3D Interrupts 10260c5d3b7SEric Anholt-------------- 10360c5d3b7SEric Anholt 10460c5d3b7SEric Anholt.. kernel-doc:: drivers/gpu/drm/vc4/vc4_irq.c 10560c5d3b7SEric Anholt :doc: Interrupt management for the V3D engine 106