From: Alvin Lee <[email protected]>

[Description]
On newer products no DDC / I2C pins exist for DP. In this case
instance "ddc line" using aux hw inst, matching the i2c scenario
where we must rely on I2C over aux.

Reviewed-by: Dominik Kaszewski <[email protected]>
Signed-off-by: Alvin Lee <[email protected]>
Signed-off-by: Ivan Lipski <[email protected]>
---
 drivers/gpu/drm/amd/display/dc/dc_fused_io.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/amd/display/dc/dc_fused_io.c 
b/drivers/gpu/drm/amd/display/dc/dc_fused_io.c
index 923f70724419..1c58223acce1 100644
--- a/drivers/gpu/drm/amd/display/dc/dc_fused_io.c
+++ b/drivers/gpu/drm/amd/display/dc/dc_fused_io.c
@@ -131,7 +131,9 @@ bool dm_atomic_write_poll_read_aux(
        if (!link)
                return false;
 
-       const uint32_t ddc_line = link->ddc->ddc_pin->pin_data->en;
+       /* If no DDC pins exist, then use the aux hw inst instead. Same logic 
as in dm_atomic_write_poll_read_i2c */
+       const uint32_t ddc_line = link->no_ddc_pin ?
+                       link->aux_hw_inst : link->ddc->ddc_pin->pin_data->en;
        union dmub_rb_cmd commands[3] = { 0 };
        const bool converted = op_aux_convert(&commands[0], write, 
FUSED_REQUEST_WRITE, ddc_line)
                        && op_aux_convert(&commands[1], poll, 
FUSED_REQUEST_POLL, ddc_line)
-- 
2.43.0

Reply via email to