From: Eric Bernstein <[email protected]>

Signed-off-by: Eric Bernstein <[email protected]>
Reviewed-by: Dmytro Laktyushkin <[email protected]>
Acked-by: Rodrigo Siqueira <[email protected]>
---
 .../drm/amd/display/dc/core/dc_link_hwss.c    | 21 ++++++++++---------
 .../dc/virtual/virtual_stream_encoder.c       |  7 +++++++
 2 files changed, 18 insertions(+), 10 deletions(-)

diff --git a/drivers/gpu/drm/amd/display/dc/core/dc_link_hwss.c 
b/drivers/gpu/drm/amd/display/dc/core/dc_link_hwss.c
index dba338c88256..11a619befb42 100644
--- a/drivers/gpu/drm/amd/display/dc/core/dc_link_hwss.c
+++ b/drivers/gpu/drm/amd/display/dc/core/dc_link_hwss.c
@@ -493,13 +493,15 @@ void dp_set_dsc_on_stream(struct pipe_ctx *pipe_ctx, bool 
enable)
                                OPTC_DSC_DISABLED, 0, 0);
 
                /* disable DSC in stream encoder */
-               if (dc_is_dp_signal(stream->signal) && 
!IS_FPGA_MAXIMUS_DC(dc->ctx->dce_environment)) {
-                       
pipe_ctx->stream_res.stream_enc->funcs->dp_set_dsc_config(
-                                       pipe_ctx->stream_res.stream_enc,
-                                       OPTC_DSC_DISABLED, 0, 0);
-
-                       
pipe_ctx->stream_res.stream_enc->funcs->dp_set_dsc_pps_info_packet(
-                                       pipe_ctx->stream_res.stream_enc, false, 
NULL);
+               if (dc_is_dp_signal(stream->signal)) {
+
+                       if (!IS_FPGA_MAXIMUS_DC(dc->ctx->dce_environment)) {
+                               
pipe_ctx->stream_res.stream_enc->funcs->dp_set_dsc_config(
+                                               pipe_ctx->stream_res.stream_enc,
+                                               OPTC_DSC_DISABLED, 0, 0);
+                               
pipe_ctx->stream_res.stream_enc->funcs->dp_set_dsc_pps_info_packet(
+                                                       
pipe_ctx->stream_res.stream_enc, false, NULL);
+                       }
                }
 
                /* disable DSC block */
@@ -536,7 +538,6 @@ bool dp_set_dsc_enable(struct pipe_ctx *pipe_ctx, bool 
enable)
 bool dp_set_dsc_pps_sdp(struct pipe_ctx *pipe_ctx, bool enable)
 {
        struct display_stream_compressor *dsc = pipe_ctx->stream_res.dsc;
-       struct dc *dc = pipe_ctx->stream->ctx->dc;
        struct dc_stream_state *stream = pipe_ctx->stream;
 
        if (!pipe_ctx->stream->timing.flags.DSC || !dsc)
@@ -559,7 +560,7 @@ bool dp_set_dsc_pps_sdp(struct pipe_ctx *pipe_ctx, bool 
enable)
 
                DC_LOG_DSC(" ");
                dsc->funcs->dsc_get_packed_pps(dsc, &dsc_cfg, 
&dsc_packed_pps[0]);
-               if (dc_is_dp_signal(stream->signal) && 
!IS_FPGA_MAXIMUS_DC(dc->ctx->dce_environment)) {
+               if (dc_is_dp_signal(stream->signal)) {
                        DC_LOG_DSC("Setting stream encoder DSC PPS SDP for 
engine %d\n", (int)pipe_ctx->stream_res.stream_enc->id);
                        
pipe_ctx->stream_res.stream_enc->funcs->dp_set_dsc_pps_info_packet(
                                                                        
pipe_ctx->stream_res.stream_enc,
@@ -568,7 +569,7 @@ bool dp_set_dsc_pps_sdp(struct pipe_ctx *pipe_ctx, bool 
enable)
                }
        } else {
                /* disable DSC PPS in stream encoder */
-               if (dc_is_dp_signal(stream->signal) && 
!IS_FPGA_MAXIMUS_DC(dc->ctx->dce_environment)) {
+               if (dc_is_dp_signal(stream->signal)) {
                        
pipe_ctx->stream_res.stream_enc->funcs->dp_set_dsc_pps_info_packet(
                                                
pipe_ctx->stream_res.stream_enc, false, NULL);
                }
diff --git a/drivers/gpu/drm/amd/display/dc/virtual/virtual_stream_encoder.c 
b/drivers/gpu/drm/amd/display/dc/virtual/virtual_stream_encoder.c
index f0a0d419e555..1053b165c139 100644
--- a/drivers/gpu/drm/amd/display/dc/virtual/virtual_stream_encoder.c
+++ b/drivers/gpu/drm/amd/display/dc/virtual/virtual_stream_encoder.c
@@ -99,6 +99,12 @@ static void virtual_setup_stereo_sync(
                        bool enable)
 {}
 
+static void virtual_stream_encoder_set_dsc_pps_info_packet(
+               struct stream_encoder *enc,
+               bool enable,
+               uint8_t *dsc_packed_pps)
+{}
+
 static const struct stream_encoder_funcs virtual_str_enc_funcs = {
        .dp_set_odm_combine =
                virtual_enc_dp_set_odm_combine,
@@ -128,6 +134,7 @@ static const struct stream_encoder_funcs 
virtual_str_enc_funcs = {
        .hdmi_reset_stream_attribute = 
virtual_stream_encoder_reset_hdmi_stream_attribute,
        .dig_connect_to_otg = virtual_dig_connect_to_otg,
        .setup_stereo_sync = virtual_setup_stereo_sync,
+       .dp_set_dsc_pps_info_packet = 
virtual_stream_encoder_set_dsc_pps_info_packet,
 };
 
 bool virtual_stream_encoder_construct(
-- 
2.28.0

_______________________________________________
amd-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

Reply via email to