[PATCH 00/20] Analog connector support in DC
Harry Wentland
harry.wentland at amd.com
Wed Jul 30 16:29:24 UTC 2025
On 2025-07-23 11:57, Timur Kristóf wrote:
> 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.
>
The series looks good to me.
Patches 2-20 are
Reviewed-by: Harry Wentland <harry.wentland at amd.com>
Patch 1 is probably good, just waiting for feedback on my comments.
Though I would like to send this through our weekly testing cycle
before we merge to ensure it doesn't regress DCN in some non-obvious
ways.
Harry
> 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(-)
>
More information about the amd-gfx
mailing list