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: 0fbe321a93ce ("drm/amd/display: Implement DCE analog link encoders (v2)")
Signed-off-by: Timur Kristóf <[email protected]>
---
.../gpu/drm/amd/display/dc/resource/dce100/dce100_resource.c | 3 ++-
drivers/gpu/drm/amd/display/dc/resource/dce60/dce60_resource.c | 3 ++-
drivers/gpu/drm/amd/display/dc/resource/dce80/dce80_resource.c | 3 ++-
3 files changed, 6 insertions(+), 3 deletions(-)
diff --git a/drivers/gpu/drm/amd/display/dc/resource/dce100/dce100_resource.c
b/drivers/gpu/drm/amd/display/dc/resource/dce100/dce100_resource.c
index d40d91ec2035..a916872db7bd 100644
--- a/drivers/gpu/drm/amd/display/dc/resource/dce100/dce100_resource.c
+++ b/drivers/gpu/drm/amd/display/dc/resource/dce100/dce100_resource.c
@@ -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,
diff --git a/drivers/gpu/drm/amd/display/dc/resource/dce60/dce60_resource.c
b/drivers/gpu/drm/amd/display/dc/resource/dce60/dce60_resource.c
index 068fb1df8d88..90d826237cf0 100644
--- a/drivers/gpu/drm/amd/display/dc/resource/dce60/dce60_resource.c
+++ b/drivers/gpu/drm/amd/display/dc/resource/dce60/dce60_resource.c
@@ -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,
diff --git a/drivers/gpu/drm/amd/display/dc/resource/dce80/dce80_resource.c
b/drivers/gpu/drm/amd/display/dc/resource/dce80/dce80_resource.c
index 8687104cabb7..cde2c2cba1dd 100644
--- a/drivers/gpu/drm/amd/display/dc/resource/dce80/dce80_resource.c
+++ b/drivers/gpu/drm/amd/display/dc/resource/dce80/dce80_resource.c
@@ -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,
--
2.52.0