drm/amd/display: Update DP HPO MSA with colorimetry from test request
authorGeorge Shen <george.shen@amd.com>
Wed, 11 Oct 2023 20:32:39 +0000 (16:32 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Tue, 7 Nov 2023 16:17:18 +0000 (11:17 -0500)
[Why]
Some DP link layer tests request a different colorimetry than the
default one that is used. Currently, our test automation logic does not
update the MSA with the test request value for DP HPO case.

[How]
Update HPO MSA colorimetry with test automation request value.

Reviewed-by: Wenjing Liu <wenjing.liu@amd.com>
Acked-by: Hersen Wu <hersenxs.wu@amd.com>
Signed-off-by: George Shen <george.shen@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/link/accessories/link_dp_cts.c

index a3ae757613384a1606dbbe6beb21ebb48c079f2d..2d152b68a501f41a48c180f7953365aa6a48129c 100644 (file)
@@ -598,6 +598,7 @@ bool dp_set_test_pattern(
        const unsigned char *p_custom_pattern,
        unsigned int cust_pattern_size)
 {
+       const struct link_hwss *link_hwss;
        struct pipe_ctx *pipes = link->dc->current_state->res_ctx.pipe_ctx;
        struct pipe_ctx *pipe_ctx = NULL;
        unsigned int lane;
@@ -834,11 +835,9 @@ bool dp_set_test_pattern(
 
                pipe_ctx->stream_res.tg->funcs->lock(pipe_ctx->stream_res.tg);
                /* update MSA to requested color space */
-               pipe_ctx->stream_res.stream_enc->funcs->dp_set_stream_attribute(pipe_ctx->stream_res.stream_enc,
-                               &pipe_ctx->stream->timing,
-                               color_space,
-                               pipe_ctx->stream->use_vsc_sdp_for_colorimetry,
-                               link->dpcd_caps.dprx_feature.bits.SST_SPLIT_SDP_CAP);
+               link_hwss = get_link_hwss(link, &pipe_ctx->link_res);
+               pipe_ctx->stream->output_color_space = color_space;
+               link_hwss->setup_stream_attribute(pipe_ctx);
 
                if (pipe_ctx->stream->use_vsc_sdp_for_colorimetry) {
                        if (test_pattern == DP_TEST_PATTERN_COLOR_SQUARES_CEA)