[PATCH 00/20] Analog connector support in DC
Timur Kristóf
timur.kristof at gmail.com
Wed Jul 23 15:57:53 UTC 2025
This series adds support for analog connectors to DC for DCE6-10.
There are two reasons to add this support:
1. GPUs that already use DC by default and have analog connectors.
Some Tonga and Hawaii graphics cards in fact have DVI-I connectors,
and the analog part doesn't work by default. This functionality
regressed when switching from the amdgpu legacy display code to DC.
2. GPUs that don't use amdgpu by default yet.
Currently, SI (GFX6) and CIK (GFX7) don't use amdgpu by default
yet, and missing analog connector support is cited as one of the
main reasons why not.
With this analog support added to DC, we could already fully switch
CIK discrete GPUs to use DC and switch them to the amdgpu driver.
For GFX7 APUs and SI, further fixes are needed before enabling DC.
Before starting this work, I asked Harry and Alex about how best
to do it and we agreed that we'd like to use the VBIOS to set up
the DAC. So I used the amdgpu legacy display code as a reference.
The first few commits add some minor changes to DC to prepare for
supporting analog stream and link encoders, then analog link
detection is added along with polling, and finally DAC load
detection support, which is useful for old displays and adapters.
Please let me know what you think.
Timur Kristóf (20):
drm/amd/display: Determine DRM connector type more accurately
drm/amd/display: Add analog bit to edid_caps
drm/amd/display: Introduce MAX_LINK_ENCODERS
drm/amd/display: Hook up DAC to bios_parser_encoder_control
drm/amd/display: Add SelectCRTC_Source to BIOS parser
drm/amd/display: Get maximum pixel clock from VBIOS
drm/amd/display: Don't use stereo sync and audio on RGB signals
drm/amd/display: Don't try to enable/disable HPD when unavailable
drm/amd/display: Add concept of analog encoders
drm/amd/display: Implement DCE analog stream encoders
drm/amd/display: Implement DCE analog link encoders
drm/amd/display: Support DAC in dce110_hwseq
drm/amd/display: Add analog link detection
drm/amd/display: Poll analog connectors
drm/amd/display: Add DCE BIOS_SCRATCH_0 register
drm/amd/display: Make get_support_mask_for_device_id reusable
drm/amd/display: Add DAC_LoadDetection to BIOS parser
drm/amd/display: Use DAC load detection on analog connectors
drm/amd/display: Add common modes to analog displays without EDID
drm/amdgpu: Use DC by default for Bonaire
drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 1 -
.../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 144 +++++++--
.../amd/display/amdgpu_dm/amdgpu_dm_debugfs.c | 5 +-
.../amd/display/amdgpu_dm/amdgpu_dm_helpers.c | 1 +
.../drm/amd/display/amdgpu_dm/amdgpu_dm_irq.c | 8 +
.../gpu/drm/amd/display/dc/bios/bios_parser.c | 95 +++++-
.../drm/amd/display/dc/bios/command_table.c | 286 ++++++++++++++++++
.../drm/amd/display/dc/bios/command_table.h | 6 +
.../drm/amd/display/dc/core/dc_link_enc_cfg.c | 4 +-
.../gpu/drm/amd/display/dc/core/dc_resource.c | 8 +
.../gpu/drm/amd/display/dc/dc_bios_types.h | 9 +
drivers/gpu/drm/amd/display/dc/dc_types.h | 5 +
.../drm/amd/display/dc/dce/dce_link_encoder.c | 100 ++++++
.../drm/amd/display/dc/dce/dce_link_encoder.h | 21 +-
.../amd/display/dc/dce/dce_stream_encoder.c | 14 +
.../amd/display/dc/dce/dce_stream_encoder.h | 5 +
.../amd/display/dc/hwss/dce110/dce110_hwseq.c | 75 ++++-
.../gpu/drm/amd/display/dc/inc/core_types.h | 8 +-
.../gpu/drm/amd/display/dc/inc/hw/hw_shared.h | 24 ++
.../drm/amd/display/dc/inc/hw/link_encoder.h | 2 +
drivers/gpu/drm/amd/display/dc/inc/resource.h | 1 +
.../amd/display/dc/link/hwss/link_hwss_dio.c | 19 +-
.../drm/amd/display/dc/link/link_detection.c | 123 +++++++-
.../gpu/drm/amd/display/dc/link/link_dpms.c | 9 +-
.../drm/amd/display/dc/link/link_factory.c | 31 ++
.../dc/resource/dce100/dce100_resource.c | 28 +-
.../dc/resource/dce110/dce110_resource.c | 2 +
.../dc/resource/dce112/dce112_resource.c | 2 +
.../dc/resource/dce120/dce120_resource.c | 1 +
.../dc/resource/dce60/dce60_resource.c | 26 +-
.../dc/resource/dce80/dce80_resource.c | 23 +-
.../amd/display/include/bios_parser_types.h | 11 +-
.../display/include/grph_object_ctrl_defs.h | 1 +
.../drm/amd/display/include/signal_types.h | 5 +
34 files changed, 1027 insertions(+), 76 deletions(-)
--
2.50.1
More information about the amd-gfx
mailing list