drm/amd/display: Only use analog link encoder with analog engine

Some GPUs have analog connectors that work with a DP bridge chip
and don't actually have an internal DAC: Those should not use
the analog link encoder code path.

Fixes: 0fbe321a93 ("drm/amd/display: Implement DCE analog link encoders (v2)")
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Alex Hung <alex.hung@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
Timur Kristóf 2026-01-26 22:08:25 +01:00 committed by Alex Deucher
parent 2de34fbcab
commit f402898bd1
3 changed files with 6 additions and 3 deletions

View File

@ -638,7 +638,8 @@ static struct link_encoder *dce100_link_encoder_create(
if (!enc110)
return NULL;
if (enc_init_data->connector.id == CONNECTOR_ID_VGA) {
if (enc_init_data->connector.id == CONNECTOR_ID_VGA &&
enc_init_data->analog_engine != ENGINE_ID_UNKNOWN) {
dce110_link_encoder_construct(enc110,
enc_init_data,
&link_enc_feature,

View File

@ -733,7 +733,8 @@ static struct link_encoder *dce60_link_encoder_create(
if (!enc110)
return NULL;
if (enc_init_data->connector.id == CONNECTOR_ID_VGA) {
if (enc_init_data->connector.id == CONNECTOR_ID_VGA &&
enc_init_data->analog_engine != ENGINE_ID_UNKNOWN) {
dce60_link_encoder_construct(enc110,
enc_init_data,
&link_enc_feature,

View File

@ -740,7 +740,8 @@ static struct link_encoder *dce80_link_encoder_create(
if (!enc110)
return NULL;
if (enc_init_data->connector.id == CONNECTOR_ID_VGA) {
if (enc_init_data->connector.id == CONNECTOR_ID_VGA &&
enc_init_data->analog_engine != ENGINE_ID_UNKNOWN) {
dce110_link_encoder_construct(enc110,
enc_init_data,
&link_enc_feature,