From: "Shen, George" <george.s...@amd.com>

[Why]
Certain configurations will result in link encoder
to not be assigned to the link at the time we apply
cable ID logic. We should skip it in those cases.

[How]
Check if link_enc is not null before applying
cable ID.

Reviewed-by: Wenjing Liu <wenjing....@amd.com>
Acked-by: Stylon Wang <stylon.w...@amd.com>
Signed-off-by: George Shen <george.s...@amd.com>
---
 drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c 
b/drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c
index 8cfc9a8197df..117183b5ab44 100644
--- a/drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c
+++ b/drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c
@@ -6327,7 +6327,12 @@ void dpcd_set_source_specific_data(struct dc_link *link)
 
 void dpcd_update_cable_id(struct dc_link *link)
 {
-       if (!link->link_enc->features.flags.bits.IS_UHBR10_CAPABLE ||
+       struct link_encoder *link_enc = NULL;
+
+       link_enc = link_enc_cfg_get_link_enc(link);
+
+       if (!link_enc ||
+                       !link_enc->features.flags.bits.IS_UHBR10_CAPABLE ||
                        link->dprx_status.cable_id_updated)
                return;
 
-- 
2.34.1

Reply via email to