5fd953a3f6
Recently, we added support for an experimental feature named Freesync video; for more details on that, refer to: commit6f59f229f8
("drm/amd/display: Skip modeset for front porch change") commitd10cd527f5
("drm/amd/display: Add freesync video modes based on preferred modes") commit0eb1af2e82
("drm/amd/display: Add module parameter for freesync video mode") Nevertheless, we did not document it in detail in our driver. This commit introduces a kernel-doc and expands the module parameter description. Cc: Aurabindo Pillai <aurabindo.pillai@amd.com> Cc: Sean Paul <seanpaul@chromium.org> Cc: Harry Wentland <Harry.Wentland@amd.com> Signed-off-by: Rodrigo Siqueira <Rodrigo.Siqueira@amd.com> Reviewed by: Aurabindo Pillai <aurabindo.pillai@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
75 lines
2.2 KiB
ReStructuredText
75 lines
2.2 KiB
ReStructuredText
===================================
|
|
drm/amd/display - Display Core (DC)
|
|
===================================
|
|
|
|
*placeholder - general description of supported platforms, what dc is, etc.*
|
|
|
|
Because it is partially shared with other operating systems, the Display Core
|
|
Driver is divided in two pieces.
|
|
|
|
1. **Display Core (DC)** contains the OS-agnostic components. Things like
|
|
hardware programming and resource management are handled here.
|
|
2. **Display Manager (DM)** contains the OS-dependent components. Hooks to the
|
|
amdgpu base driver and DRM are implemented here.
|
|
|
|
It doesn't help that the entire package is frequently referred to as DC. But
|
|
with the context in mind, it should be clear.
|
|
|
|
When CONFIG_DRM_AMD_DC is enabled, DC will be initialized by default for
|
|
supported ASICs. To force disable, set `amdgpu.dc=0` on kernel command line.
|
|
Likewise, to force enable on unsupported ASICs, set `amdgpu.dc=1`.
|
|
|
|
To determine if DC is loaded, search dmesg for the following entry:
|
|
|
|
``Display Core initialized with <version number here>``
|
|
|
|
AMDgpu Display Manager
|
|
======================
|
|
|
|
.. kernel-doc:: drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
|
|
:doc: overview
|
|
|
|
.. kernel-doc:: drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h
|
|
:internal:
|
|
|
|
Lifecycle
|
|
---------
|
|
|
|
.. kernel-doc:: drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
|
|
:doc: DM Lifecycle
|
|
|
|
.. kernel-doc:: drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
|
|
:functions: dm_hw_init dm_hw_fini
|
|
|
|
Interrupts
|
|
----------
|
|
|
|
.. kernel-doc:: drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_irq.c
|
|
:doc: overview
|
|
|
|
.. kernel-doc:: drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_irq.c
|
|
:internal:
|
|
|
|
.. kernel-doc:: drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
|
|
:functions: register_hpd_handlers dm_crtc_high_irq dm_pflip_high_irq
|
|
|
|
Atomic Implementation
|
|
---------------------
|
|
|
|
.. kernel-doc:: drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
|
|
:doc: atomic
|
|
|
|
.. kernel-doc:: drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
|
|
:functions: amdgpu_dm_atomic_check amdgpu_dm_atomic_commit_tail
|
|
|
|
Display Core
|
|
============
|
|
|
|
**WIP**
|
|
|
|
FreeSync Video
|
|
--------------
|
|
|
|
.. kernel-doc:: drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
|
|
:doc: FreeSync Video
|