drm/amd/display: Fix HDCP QUERY Error for eDP and Tiled
authorMustapha Ghaddar <mghaddar@amd.com>
Thu, 7 Apr 2022 13:29:16 +0000 (09:29 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Mon, 25 Apr 2022 21:06:04 +0000 (17:06 -0400)
[WHY]
For dio_output_encoder ID we are relying on SW concept which is
invisible to HW

[HOW]
Needed to create separate cases for when DPIA and non DPIA for
dio link encoder ID

Reviewed-by: Wenjing Liu <Wenjing.Liu@amd.com>
Reviewed-by: James Zhang <james.zhang@amd.com>
Acked-by: Tom Chung <chiahsuan.chung@amd.com>
Signed-off-by: Mustapha Ghaddar <mghaddar@amd.com>
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/display/dc/core/dc_link.c

index faab146..3d13ee3 100644 (file)
@@ -3966,8 +3966,12 @@ static void update_psp_stream_config(struct pipe_ctx *pipe_ctx, bool dpms_off)
        if (is_dp_128b_132b_signal(pipe_ctx))
                config.link_enc_idx = pipe_ctx->link_res.hpo_dp_link_enc->inst;
 
-       /* dio output index */
-       config.dio_output_idx = link_enc->transmitter - TRANSMITTER_UNIPHY_A;
+       /* dio output index is dpia index for DPIA endpoint & dcio index by default */
+       if (pipe_ctx->stream->link->ep_type == DISPLAY_ENDPOINT_USB4_DPIA)
+               config.dio_output_idx = pipe_ctx->stream->link->link_id.enum_id - ENUM_ID_1;
+       else
+               config.dio_output_idx = link_enc->transmitter - TRANSMITTER_UNIPHY_A;
+
 
        /* phy index */
        config.phy_idx = resource_transmitter_to_phy_idx(