^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) ===================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) drm/amd/display - Display Core (DC)
^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) *placeholder - general description of supported platforms, what dc is, etc.*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) Because it is partially shared with other operating systems, the Display Core
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) Driver is divided in two pieces.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) 1. **Display Core (DC)** contains the OS-agnostic components. Things like
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) hardware programming and resource management are handled here.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) 2. **Display Manager (DM)** contains the OS-dependent components. Hooks to the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) amdgpu base driver and DRM are implemented here.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) It doesn't help that the entire package is frequently referred to as DC. But
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) with the context in mind, it should be clear.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) When CONFIG_DRM_AMD_DC is enabled, DC will be initialized by default for
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) supported ASICs. To force disable, set `amdgpu.dc=0` on kernel command line.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) Likewise, to force enable on unsupported ASICs, set `amdgpu.dc=1`.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) To determine if DC is loaded, search dmesg for the following entry:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) ``Display Core initialized with <version number here>``
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) AMDgpu Display Manager
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) ======================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) .. kernel-doc:: drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) :doc: overview
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) .. kernel-doc:: drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) :internal:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) Lifecycle
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) ---------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) .. kernel-doc:: drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) :doc: DM Lifecycle
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) .. kernel-doc:: drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) :functions: dm_hw_init dm_hw_fini
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) Interrupts
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45) ----------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47) .. kernel-doc:: drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_irq.c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48) :doc: overview
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50) .. kernel-doc:: drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_irq.c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51) :internal:
^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/amd/display/amdgpu_dm/amdgpu_dm.c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54) :functions: register_hpd_handlers dm_crtc_high_irq dm_pflip_high_irq
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56) Atomic Implementation
^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/amd/display/amdgpu_dm/amdgpu_dm.c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 60) :doc: atomic
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 61)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 62) .. kernel-doc:: drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 63) :functions: amdgpu_dm_atomic_check amdgpu_dm_atomic_commit_tail
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 64)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 65) Display Core
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 66) ============
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 67)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 68) **WIP**