Skip to content

Commit a3626fd

Browse files
Timur Kristófgregkh
authored andcommitted
drm/amd/display: Only use analog link encoder with analog engine
[ Upstream commit f402898 ] 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: 0fbe321 ("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> Signed-off-by: Sasha Levin <sashal@kernel.org>
1 parent 3eee836 commit a3626fd

3 files changed

Lines changed: 6 additions & 3 deletions

File tree

drivers/gpu/drm/amd/display/dc/resource/dce100/dce100_resource.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -638,7 +638,8 @@ static struct link_encoder *dce100_link_encoder_create(
638638
if (!enc110)
639639
return NULL;
640640

641-
if (enc_init_data->connector.id == CONNECTOR_ID_VGA) {
641+
if (enc_init_data->connector.id == CONNECTOR_ID_VGA &&
642+
enc_init_data->analog_engine != ENGINE_ID_UNKNOWN) {
642643
dce110_link_encoder_construct(enc110,
643644
enc_init_data,
644645
&link_enc_feature,

drivers/gpu/drm/amd/display/dc/resource/dce60/dce60_resource.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -733,7 +733,8 @@ static struct link_encoder *dce60_link_encoder_create(
733733
if (!enc110)
734734
return NULL;
735735

736-
if (enc_init_data->connector.id == CONNECTOR_ID_VGA) {
736+
if (enc_init_data->connector.id == CONNECTOR_ID_VGA &&
737+
enc_init_data->analog_engine != ENGINE_ID_UNKNOWN) {
737738
dce60_link_encoder_construct(enc110,
738739
enc_init_data,
739740
&link_enc_feature,

drivers/gpu/drm/amd/display/dc/resource/dce80/dce80_resource.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -740,7 +740,8 @@ static struct link_encoder *dce80_link_encoder_create(
740740
if (!enc110)
741741
return NULL;
742742

743-
if (enc_init_data->connector.id == CONNECTOR_ID_VGA) {
743+
if (enc_init_data->connector.id == CONNECTOR_ID_VGA &&
744+
enc_init_data->analog_engine != ENGINE_ID_UNKNOWN) {
744745
dce110_link_encoder_construct(enc110,
745746
enc_init_data,
746747
&link_enc_feature,

0 commit comments

Comments
 (0)