18c2ecf20Sopenharmony_ci===================================
28c2ecf20Sopenharmony_cidrm/amd/display - Display Core (DC)
38c2ecf20Sopenharmony_ci===================================
48c2ecf20Sopenharmony_ci
58c2ecf20Sopenharmony_ci*placeholder - general description of supported platforms, what dc is, etc.*
68c2ecf20Sopenharmony_ci
78c2ecf20Sopenharmony_ciBecause it is partially shared with other operating systems, the Display Core
88c2ecf20Sopenharmony_ciDriver is divided in two pieces.
98c2ecf20Sopenharmony_ci
108c2ecf20Sopenharmony_ci1. **Display Core (DC)** contains the OS-agnostic components. Things like
118c2ecf20Sopenharmony_ci   hardware programming and resource management are handled here.
128c2ecf20Sopenharmony_ci2. **Display Manager (DM)** contains the OS-dependent components. Hooks to the
138c2ecf20Sopenharmony_ci   amdgpu base driver and DRM are implemented here.
148c2ecf20Sopenharmony_ci
158c2ecf20Sopenharmony_ciIt doesn't help that the entire package is frequently referred to as DC. But
168c2ecf20Sopenharmony_ciwith the context in mind, it should be clear.
178c2ecf20Sopenharmony_ci
188c2ecf20Sopenharmony_ciWhen CONFIG_DRM_AMD_DC is enabled, DC will be initialized by default for
198c2ecf20Sopenharmony_cisupported ASICs. To force disable, set `amdgpu.dc=0` on kernel command line.
208c2ecf20Sopenharmony_ciLikewise, to force enable on unsupported ASICs, set `amdgpu.dc=1`.
218c2ecf20Sopenharmony_ci
228c2ecf20Sopenharmony_ciTo determine if DC is loaded, search dmesg for the following entry:
238c2ecf20Sopenharmony_ci
248c2ecf20Sopenharmony_ci``Display Core initialized with <version number here>``
258c2ecf20Sopenharmony_ci
268c2ecf20Sopenharmony_ciAMDgpu Display Manager
278c2ecf20Sopenharmony_ci======================
288c2ecf20Sopenharmony_ci
298c2ecf20Sopenharmony_ci.. kernel-doc:: drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
308c2ecf20Sopenharmony_ci   :doc: overview
318c2ecf20Sopenharmony_ci
328c2ecf20Sopenharmony_ci.. kernel-doc:: drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h
338c2ecf20Sopenharmony_ci   :internal:
348c2ecf20Sopenharmony_ci
358c2ecf20Sopenharmony_ciLifecycle
368c2ecf20Sopenharmony_ci---------
378c2ecf20Sopenharmony_ci
388c2ecf20Sopenharmony_ci.. kernel-doc:: drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
398c2ecf20Sopenharmony_ci   :doc: DM Lifecycle
408c2ecf20Sopenharmony_ci
418c2ecf20Sopenharmony_ci.. kernel-doc:: drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
428c2ecf20Sopenharmony_ci   :functions: dm_hw_init dm_hw_fini
438c2ecf20Sopenharmony_ci
448c2ecf20Sopenharmony_ciInterrupts
458c2ecf20Sopenharmony_ci----------
468c2ecf20Sopenharmony_ci
478c2ecf20Sopenharmony_ci.. kernel-doc:: drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_irq.c
488c2ecf20Sopenharmony_ci   :doc: overview
498c2ecf20Sopenharmony_ci
508c2ecf20Sopenharmony_ci.. kernel-doc:: drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_irq.c
518c2ecf20Sopenharmony_ci   :internal:
528c2ecf20Sopenharmony_ci
538c2ecf20Sopenharmony_ci.. kernel-doc:: drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
548c2ecf20Sopenharmony_ci   :functions: register_hpd_handlers dm_crtc_high_irq dm_pflip_high_irq
558c2ecf20Sopenharmony_ci
568c2ecf20Sopenharmony_ciAtomic Implementation
578c2ecf20Sopenharmony_ci---------------------
588c2ecf20Sopenharmony_ci
598c2ecf20Sopenharmony_ci.. kernel-doc:: drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
608c2ecf20Sopenharmony_ci   :doc: atomic
618c2ecf20Sopenharmony_ci
628c2ecf20Sopenharmony_ci.. kernel-doc:: drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
638c2ecf20Sopenharmony_ci   :functions: amdgpu_dm_atomic_check amdgpu_dm_atomic_commit_tail
648c2ecf20Sopenharmony_ci
658c2ecf20Sopenharmony_ciDisplay Core
668c2ecf20Sopenharmony_ci============
678c2ecf20Sopenharmony_ci
688c2ecf20Sopenharmony_ci**WIP**
69