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 575304c8e6SMaxime RipardKUnit Tests 585304c8e6SMaxime Ripard=========== 595304c8e6SMaxime Ripard 605304c8e6SMaxime RipardThe VC4 Driver uses KUnit to perform driver-specific unit and 615304c8e6SMaxime Ripardintegration tests. 625304c8e6SMaxime Ripard 635304c8e6SMaxime RipardThese tests are using a mock driver and can be ran using the 64*76f34f13SMaxime Ripardcommand below, on either arm or arm64 architectures, 65*76f34f13SMaxime Ripard 66*76f34f13SMaxime Ripard.. code-block:: bash 67*76f34f13SMaxime Ripard 68*76f34f13SMaxime Ripard $ ./tools/testing/kunit/kunit.py run \ 695304c8e6SMaxime Ripard --kunitconfig=drivers/gpu/drm/vc4/tests/.kunitconfig \ 705304c8e6SMaxime Ripard --cross_compile aarch64-linux-gnu- --arch arm64 715304c8e6SMaxime Ripard 725304c8e6SMaxime RipardParts of the driver that are currently covered by tests are: 735304c8e6SMaxime Ripard * The HVS to PixelValve dynamic FIFO assignment, for the BCM2835-7 745304c8e6SMaxime Ripard and BCM2711. 755304c8e6SMaxime Ripard 7660c5d3b7SEric AnholtMemory Management and 3D Command Submission 7760c5d3b7SEric Anholt=========================================== 7860c5d3b7SEric Anholt 7960c5d3b7SEric AnholtThis section covers the GEM implementation in the vc4 driver. 8060c5d3b7SEric Anholt 8160c5d3b7SEric AnholtGPU buffer object (BO) management 8260c5d3b7SEric Anholt--------------------------------- 8360c5d3b7SEric Anholt 8460c5d3b7SEric Anholt.. kernel-doc:: drivers/gpu/drm/vc4/vc4_bo.c 8560c5d3b7SEric Anholt :doc: VC4 GEM BO management support 8660c5d3b7SEric Anholt 8760c5d3b7SEric AnholtV3D binner command list (BCL) validation 8860c5d3b7SEric Anholt---------------------------------------- 8960c5d3b7SEric Anholt 9060c5d3b7SEric Anholt.. kernel-doc:: drivers/gpu/drm/vc4/vc4_validate.c 9160c5d3b7SEric Anholt :doc: Command list validator for VC4. 9260c5d3b7SEric Anholt 9360c5d3b7SEric AnholtV3D render command list (RCL) generation 9460c5d3b7SEric Anholt---------------------------------------- 9560c5d3b7SEric Anholt 9660c5d3b7SEric Anholt.. kernel-doc:: drivers/gpu/drm/vc4/vc4_render_cl.c 9760c5d3b7SEric Anholt :doc: Render command list generation 9860c5d3b7SEric Anholt 9960c5d3b7SEric AnholtShader validator for VC4 10060c5d3b7SEric Anholt--------------------------- 10160c5d3b7SEric Anholt.. kernel-doc:: drivers/gpu/drm/vc4/vc4_validate_shaders.c 10260c5d3b7SEric Anholt :doc: Shader validator for VC4. 10360c5d3b7SEric Anholt 10460c5d3b7SEric AnholtV3D Interrupts 10560c5d3b7SEric Anholt-------------- 10660c5d3b7SEric Anholt 10760c5d3b7SEric Anholt.. kernel-doc:: drivers/gpu/drm/vc4/vc4_irq.c 10860c5d3b7SEric Anholt :doc: Interrupt management for the V3D engine 109