^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) =============================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) Mode Setting Helper Functions
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) =============================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) The DRM subsystem aims for a strong separation between core code and helper
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) libraries. Core code takes care of general setup and teardown and decoding
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) userspace requests to kernel internal objects. Everything else is handled by a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) large set of helper libraries, which can be combined freely to pick and choose
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) for each driver what fits, and avoid shared code where special behaviour is
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) needed.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) This distinction between core code and helpers is especially strong in the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) modesetting code, where there's a shared userspace ABI for all drivers. This is
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) in contrast to the render side, where pretty much everything (with very few
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) exceptions) can be considered optional helper code.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) There are a few areas these helpers can grouped into:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) * Helpers to implement modesetting. The important ones here are the atomic
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) helpers. Old drivers still often use the legacy CRTC helpers. They both share
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) the same set of common helper vtables. For really simple drivers (anything
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) that would have been a great fit in the deprecated fbdev subsystem) there's
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) also the simple display pipe helpers.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) * There's a big pile of helpers for handling outputs. First the generic bridge
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) helpers for handling encoder and transcoder IP blocks. Second the panel helpers
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) for handling panel-related information and logic. Plus then a big set of
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) helpers for the various sink standards (DisplayPort, HDMI, MIPI DSI). Finally
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) there's also generic helpers for handling output probing, and for dealing with
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) EDIDs.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) * The last group of helpers concerns itself with the frontend side of a display
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) pipeline: Planes, handling rectangles for visibility checking and scissoring,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) flip queues and assorted bits.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) Modeset Helper Reference for Common Vtables
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) ===========================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) .. kernel-doc:: include/drm/drm_modeset_helper_vtables.h
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) :doc: overview
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) .. kernel-doc:: include/drm/drm_modeset_helper_vtables.h
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43) :internal:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45) .. _drm_atomic_helper:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47) Atomic Modeset Helper Functions Reference
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48) =========================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50) Overview
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51) --------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53) .. kernel-doc:: drivers/gpu/drm/drm_atomic_helper.c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54) :doc: overview
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56) Implementing Asynchronous Atomic Commit
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 57) ---------------------------------------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 58)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 59) .. kernel-doc:: drivers/gpu/drm/drm_atomic_helper.c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 60) :doc: implementing nonblocking commit
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 61)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 62) Helper Functions Reference
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 63) --------------------------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 64)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 65) .. kernel-doc:: include/drm/drm_atomic_helper.h
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 66) :internal:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 67)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 68) .. kernel-doc:: drivers/gpu/drm/drm_atomic_helper.c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 69) :export:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 70)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 71) Atomic State Reset and Initialization
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 72) -------------------------------------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 73)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 74) .. kernel-doc:: drivers/gpu/drm/drm_atomic_state_helper.c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 75) :doc: atomic state reset and initialization
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 76)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 77) Atomic State Helper Reference
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 78) -----------------------------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 79)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 80) .. kernel-doc:: drivers/gpu/drm/drm_atomic_state_helper.c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 81) :export:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 82)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 83) Simple KMS Helper Reference
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 84) ===========================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 85)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 86) .. kernel-doc:: drivers/gpu/drm/drm_simple_kms_helper.c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 87) :doc: overview
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 88)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 89) .. kernel-doc:: include/drm/drm_simple_kms_helper.h
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 90) :internal:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 91)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 92) .. kernel-doc:: drivers/gpu/drm/drm_simple_kms_helper.c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 93) :export:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 94)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 95) fbdev Helper Functions Reference
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 96) ================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 97)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 98) .. kernel-doc:: drivers/gpu/drm/drm_fb_helper.c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 99) :doc: fbdev helpers
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 100)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 101) .. kernel-doc:: include/drm/drm_fb_helper.h
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 102) :internal:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 103)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 104) .. kernel-doc:: drivers/gpu/drm/drm_fb_helper.c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 105) :export:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 106)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 107) format Helper Functions Reference
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 108) =================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 109)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 110) .. kernel-doc:: drivers/gpu/drm/drm_format_helper.c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 111) :export:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 112)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 113) Framebuffer CMA Helper Functions Reference
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 114) ==========================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 115)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 116) .. kernel-doc:: drivers/gpu/drm/drm_fb_cma_helper.c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 117) :doc: framebuffer cma helper functions
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 118)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 119) .. kernel-doc:: drivers/gpu/drm/drm_fb_cma_helper.c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 120) :export:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 121)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 122) Framebuffer GEM Helper Reference
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 123) ================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 124)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 125) .. kernel-doc:: drivers/gpu/drm/drm_gem_framebuffer_helper.c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 126) :doc: overview
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 127)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 128) .. kernel-doc:: drivers/gpu/drm/drm_gem_framebuffer_helper.c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 129) :export:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 130)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 131) .. _drm_bridges:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 132)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 133) Bridges
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 134) =======
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 135)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 136) Overview
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 137) --------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 138)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 139) .. kernel-doc:: drivers/gpu/drm/drm_bridge.c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 140) :doc: overview
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 141)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 142) Bridge Operations
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 143) -----------------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 144)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 145) .. kernel-doc:: drivers/gpu/drm/drm_bridge.c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 146) :doc: bridge operations
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 147)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 148) Bridge Connector Helper
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 149) -----------------------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 150)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 151) .. kernel-doc:: drivers/gpu/drm/drm_bridge_connector.c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 152) :doc: overview
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 153)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 154)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 155) Bridge Helper Reference
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 156) -------------------------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 157)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 158) .. kernel-doc:: include/drm/drm_bridge.h
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 159) :internal:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 160)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 161) .. kernel-doc:: drivers/gpu/drm/drm_bridge.c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 162) :export:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 163)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 164) Bridge Connector Helper Reference
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 165) ---------------------------------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 166)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 167) .. kernel-doc:: drivers/gpu/drm/drm_bridge_connector.c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 168) :export:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 169)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 170) Panel-Bridge Helper Reference
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 171) -----------------------------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 172)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 173) .. kernel-doc:: drivers/gpu/drm/bridge/panel.c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 174) :export:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 175)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 176) .. _drm_panel_helper:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 177)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 178) Panel Helper Reference
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 179) ======================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 180)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 181) .. kernel-doc:: drivers/gpu/drm/drm_panel.c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 182) :doc: drm panel
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 183)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 184) .. kernel-doc:: include/drm/drm_panel.h
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 185) :internal:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 186)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 187) .. kernel-doc:: drivers/gpu/drm/drm_panel.c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 188) :export:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 189)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 190) .. kernel-doc:: drivers/gpu/drm/drm_panel_orientation_quirks.c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 191) :export:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 192)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 193) Panel Self Refresh Helper Reference
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 194) ===================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 195)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 196) .. kernel-doc:: drivers/gpu/drm/drm_self_refresh_helper.c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 197) :doc: overview
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 198)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 199) .. kernel-doc:: drivers/gpu/drm/drm_self_refresh_helper.c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 200) :export:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 201)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 202) HDCP Helper Functions Reference
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 203) ===============================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 204)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 205) .. kernel-doc:: drivers/gpu/drm/drm_hdcp.c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 206) :export:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 207)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 208) Display Port Helper Functions Reference
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 209) =======================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 210)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 211) .. kernel-doc:: drivers/gpu/drm/drm_dp_helper.c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 212) :doc: dp helpers
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 213)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 214) .. kernel-doc:: include/drm/drm_dp_helper.h
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 215) :internal:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 216)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 217) .. kernel-doc:: drivers/gpu/drm/drm_dp_helper.c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 218) :export:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 219)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 220) Display Port CEC Helper Functions Reference
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 221) ===========================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 222)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 223) .. kernel-doc:: drivers/gpu/drm/drm_dp_cec.c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 224) :doc: dp cec helpers
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 225)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 226) .. kernel-doc:: drivers/gpu/drm/drm_dp_cec.c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 227) :export:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 228)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 229) Display Port Dual Mode Adaptor Helper Functions Reference
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 230) =========================================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 231)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 232) .. kernel-doc:: drivers/gpu/drm/drm_dp_dual_mode_helper.c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 233) :doc: dp dual mode helpers
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 234)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 235) .. kernel-doc:: include/drm/drm_dp_dual_mode_helper.h
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 236) :internal:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 237)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 238) .. kernel-doc:: drivers/gpu/drm/drm_dp_dual_mode_helper.c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 239) :export:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 240)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 241) Display Port MST Helpers
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 242) ========================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 243)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 244) Overview
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 245) --------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 246)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 247) .. kernel-doc:: drivers/gpu/drm/drm_dp_mst_topology.c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 248) :doc: dp mst helper
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 249)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 250) .. kernel-doc:: drivers/gpu/drm/drm_dp_mst_topology.c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 251) :doc: Branch device and port refcounting
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 252)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 253) Functions Reference
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 254) -------------------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 255)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 256) .. kernel-doc:: include/drm/drm_dp_mst_helper.h
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 257) :internal:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 258)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 259) .. kernel-doc:: drivers/gpu/drm/drm_dp_mst_topology.c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 260) :export:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 261)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 262) Topology Lifetime Internals
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 263) ---------------------------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 264)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 265) These functions aren't exported to drivers, but are documented here to help make
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 266) the MST topology helpers easier to understand
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 267)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 268) .. kernel-doc:: drivers/gpu/drm/drm_dp_mst_topology.c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 269) :functions: drm_dp_mst_topology_try_get_mstb drm_dp_mst_topology_get_mstb
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 270) drm_dp_mst_topology_put_mstb
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 271) drm_dp_mst_topology_try_get_port drm_dp_mst_topology_get_port
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 272) drm_dp_mst_topology_put_port
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 273) drm_dp_mst_get_mstb_malloc drm_dp_mst_put_mstb_malloc
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 274)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 275) MIPI DBI Helper Functions Reference
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 276) ===================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 277)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 278) .. kernel-doc:: drivers/gpu/drm/drm_mipi_dbi.c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 279) :doc: overview
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 280)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 281) .. kernel-doc:: include/drm/drm_mipi_dbi.h
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 282) :internal:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 283)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 284) .. kernel-doc:: drivers/gpu/drm/drm_mipi_dbi.c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 285) :export:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 286)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 287) MIPI DSI Helper Functions Reference
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 288) ===================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 289)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 290) .. kernel-doc:: drivers/gpu/drm/drm_mipi_dsi.c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 291) :doc: dsi helpers
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 292)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 293) .. kernel-doc:: include/drm/drm_mipi_dsi.h
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 294) :internal:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 295)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 296) .. kernel-doc:: drivers/gpu/drm/drm_mipi_dsi.c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 297) :export:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 298)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 299) Display Stream Compression Helper Functions Reference
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 300) =====================================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 301)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 302) .. kernel-doc:: drivers/gpu/drm/drm_dsc.c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 303) :doc: dsc helpers
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 304)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 305) .. kernel-doc:: include/drm/drm_dsc.h
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 306) :internal:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 307)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 308) .. kernel-doc:: drivers/gpu/drm/drm_dsc.c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 309) :export:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 310)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 311) Output Probing Helper Functions Reference
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 312) =========================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 313)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 314) .. kernel-doc:: drivers/gpu/drm/drm_probe_helper.c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 315) :doc: output probing helper overview
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 316)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 317) .. kernel-doc:: drivers/gpu/drm/drm_probe_helper.c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 318) :export:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 319)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 320) EDID Helper Functions Reference
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 321) ===============================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 322)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 323) .. kernel-doc:: include/drm/drm_edid.h
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 324) :internal:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 325)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 326) .. kernel-doc:: drivers/gpu/drm/drm_edid.c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 327) :export:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 328)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 329) SCDC Helper Functions Reference
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 330) ===============================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 331)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 332) .. kernel-doc:: drivers/gpu/drm/drm_scdc_helper.c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 333) :doc: scdc helpers
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 334)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 335) .. kernel-doc:: include/drm/drm_scdc_helper.h
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 336) :internal:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 337)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 338) .. kernel-doc:: drivers/gpu/drm/drm_scdc_helper.c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 339) :export:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 340)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 341) HDMI Infoframes Helper Reference
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 342) ================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 343)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 344) Strictly speaking this is not a DRM helper library but generally useable
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 345) by any driver interfacing with HDMI outputs like v4l or alsa drivers.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 346) But it nicely fits into the overall topic of mode setting helper
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 347) libraries and hence is also included here.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 348)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 349) .. kernel-doc:: include/linux/hdmi.h
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 350) :internal:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 351)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 352) .. kernel-doc:: drivers/video/hdmi.c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 353) :export:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 354)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 355) Rectangle Utilities Reference
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 356) =============================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 357)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 358) .. kernel-doc:: include/drm/drm_rect.h
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 359) :doc: rect utils
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 360)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 361) .. kernel-doc:: include/drm/drm_rect.h
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 362) :internal:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 363)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 364) .. kernel-doc:: drivers/gpu/drm/drm_rect.c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 365) :export:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 366)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 367) Flip-work Helper Reference
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 368) ==========================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 369)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 370) .. kernel-doc:: include/drm/drm_flip_work.h
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 371) :doc: flip utils
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 372)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 373) .. kernel-doc:: include/drm/drm_flip_work.h
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 374) :internal:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 375)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 376) .. kernel-doc:: drivers/gpu/drm/drm_flip_work.c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 377) :export:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 378)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 379) Auxiliary Modeset Helpers
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 380) =========================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 381)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 382) .. kernel-doc:: drivers/gpu/drm/drm_modeset_helper.c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 383) :doc: aux kms helpers
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 384)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 385) .. kernel-doc:: drivers/gpu/drm/drm_modeset_helper.c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 386) :export:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 387)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 388) OF/DT Helpers
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 389) =============
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 390)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 391) .. kernel-doc:: drivers/gpu/drm/drm_of.c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 392) :doc: overview
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 393)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 394) .. kernel-doc:: drivers/gpu/drm/drm_of.c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 395) :export:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 396)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 397) Legacy Plane Helper Reference
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 398) =============================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 399)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 400) .. kernel-doc:: drivers/gpu/drm/drm_plane_helper.c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 401) :doc: overview
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 402)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 403) .. kernel-doc:: drivers/gpu/drm/drm_plane_helper.c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 404) :export:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 405)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 406) Legacy CRTC/Modeset Helper Functions Reference
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 407) ==============================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 408)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 409) .. kernel-doc:: drivers/gpu/drm/drm_crtc_helper.c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 410) :doc: overview
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 411)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 412) .. kernel-doc:: drivers/gpu/drm/drm_crtc_helper.c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 413) :export: