diff options
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/2028-drm-amd-display-Refactor-DIO-stream-encoder.patch')
-rw-r--r-- | meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/2028-drm-amd-display-Refactor-DIO-stream-encoder.patch | 157 |
1 files changed, 157 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/2028-drm-amd-display-Refactor-DIO-stream-encoder.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/2028-drm-amd-display-Refactor-DIO-stream-encoder.patch new file mode 100644 index 00000000..350e165a --- /dev/null +++ b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/2028-drm-amd-display-Refactor-DIO-stream-encoder.patch @@ -0,0 +1,157 @@ +From 2011ed2cb288d8c4b1362c661297816074365183 Mon Sep 17 00:00:00 2001 +From: Eric Bernstein <eric.bernstein@amd.com> +Date: Wed, 8 May 2019 16:08:39 -0400 +Subject: [PATCH 2028/2940] drm/amd/display: Refactor DIO stream encoder + +* Pull duplicate audio_clock_info struct to stream_encoder.h +* Generalize sec_gsp7* to sec_gsp_pps* +* Expose enc1 and enc2 stream encoder audio funcs + +Signed-off-by: Eric Bernstein <eric.bernstein@amd.com> +Reviewed-by: Charlene Liu <Charlene.Liu@amd.com> +Reviewed-by: Dmytro Laktyushkin <Dmytro.Laktyushkin@amd.com> +Acked-by: Leo Li <sunpeng.li@amd.com> +--- + .../amd/display/dc/dce/dce_stream_encoder.c | 13 ------------ + .../display/dc/dcn10/dcn10_stream_encoder.c | 21 ++++--------------- + .../display/dc/dcn10/dcn10_stream_encoder.h | 17 +++++++++++++++ + .../amd/display/dc/inc/hw/stream_encoder.h | 13 ++++++++++++ + 4 files changed, 34 insertions(+), 30 deletions(-) + +diff --git a/drivers/gpu/drm/amd/display/dc/dce/dce_stream_encoder.c b/drivers/gpu/drm/amd/display/dc/dce/dce_stream_encoder.c +index da4671df57d8..d13e05a1937d 100644 +--- a/drivers/gpu/drm/amd/display/dc/dce/dce_stream_encoder.c ++++ b/drivers/gpu/drm/amd/display/dc/dce/dce_stream_encoder.c +@@ -1124,19 +1124,6 @@ union audio_cea_channels { + } channels; + }; + +-struct audio_clock_info { +- /* pixel clock frequency*/ +- uint32_t pixel_clock_in_10khz; +- /* N - 32KHz audio */ +- uint32_t n_32khz; +- /* CTS - 32KHz audio*/ +- uint32_t cts_32khz; +- uint32_t n_44khz; +- uint32_t cts_44khz; +- uint32_t n_48khz; +- uint32_t cts_48khz; +-}; +- + /* 25.2MHz/1.001*/ + /* 25.2MHz/1.001*/ + /* 25.2MHz*/ +diff --git a/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_stream_encoder.c b/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_stream_encoder.c +index ba71b5224e7f..2d15ae664226 100644 +--- a/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_stream_encoder.c ++++ b/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_stream_encoder.c +@@ -472,7 +472,7 @@ void enc1_stream_encoder_dp_set_stream_attribute( + hw_crtc_timing.v_addressable + hw_crtc_timing.v_border_bottom); + } + +-static void enc1_stream_encoder_set_stream_attribute_helper( ++void enc1_stream_encoder_set_stream_attribute_helper( + struct dcn10_stream_encoder *enc1, + struct dc_crtc_timing *crtc_timing) + { +@@ -1091,19 +1091,6 @@ union audio_cea_channels { + } channels; + }; + +-struct audio_clock_info { +- /* pixel clock frequency*/ +- uint32_t pixel_clock_in_10khz; +- /* N - 32KHz audio */ +- uint32_t n_32khz; +- /* CTS - 32KHz audio*/ +- uint32_t cts_32khz; +- uint32_t n_44khz; +- uint32_t cts_44khz; +- uint32_t n_48khz; +- uint32_t cts_48khz; +-}; +- + /* 25.2MHz/1.001*/ + /* 25.2MHz/1.001*/ + /* 25.2MHz*/ +@@ -1206,7 +1193,7 @@ static union audio_cea_channels speakers_to_channels( + return cea_channels; + } + +-static void get_audio_clock_info( ++void get_audio_clock_info( + enum dc_color_depth color_depth, + uint32_t crtc_pixel_clock_in_khz, + uint32_t actual_pixel_clock_in_khz, +@@ -1410,7 +1397,7 @@ static void enc1_se_setup_dp_audio( + REG_UPDATE(AFMT_60958_0, AFMT_60958_CS_CLOCK_ACCURACY, 0); + } + +-static void enc1_se_enable_audio_clock( ++void enc1_se_enable_audio_clock( + struct stream_encoder *enc, + bool enable) + { +@@ -1432,7 +1419,7 @@ static void enc1_se_enable_audio_clock( + */ + } + +-static void enc1_se_enable_dp_audio( ++void enc1_se_enable_dp_audio( + struct stream_encoder *enc) + { + struct dcn10_stream_encoder *enc1 = DCN10STRENC_FROM_STRENC(enc); +diff --git a/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_stream_encoder.h b/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_stream_encoder.h +index a292b106a8b1..46c93ffc28d2 100644 +--- a/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_stream_encoder.h ++++ b/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_stream_encoder.h +@@ -552,4 +552,21 @@ void enc1_dig_connect_to_otg( + struct stream_encoder *enc, + int tg_inst); + ++void enc1_stream_encoder_set_stream_attribute_helper( ++ struct dcn10_stream_encoder *enc1, ++ struct dc_crtc_timing *crtc_timing); ++ ++void enc1_se_enable_audio_clock( ++ struct stream_encoder *enc, ++ bool enable); ++ ++void enc1_se_enable_dp_audio( ++ struct stream_encoder *enc); ++ ++void get_audio_clock_info( ++ enum dc_color_depth color_depth, ++ uint32_t crtc_pixel_clock_in_khz, ++ uint32_t actual_pixel_clock_in_khz, ++ struct audio_clock_info *audio_clock_info); ++ + #endif /* __DC_STREAM_ENCODER_DCN10_H__ */ +diff --git a/drivers/gpu/drm/amd/display/dc/inc/hw/stream_encoder.h b/drivers/gpu/drm/amd/display/dc/inc/hw/stream_encoder.h +index 537563888f87..74db1d82fa35 100644 +--- a/drivers/gpu/drm/amd/display/dc/inc/hw/stream_encoder.h ++++ b/drivers/gpu/drm/amd/display/dc/inc/hw/stream_encoder.h +@@ -52,6 +52,19 @@ enum dp_component_depth { + DP_COMPONENT_PIXEL_DEPTH_16BPC = 0x00000004 + }; + ++struct audio_clock_info { ++ /* pixel clock frequency*/ ++ uint32_t pixel_clock_in_10khz; ++ /* N - 32KHz audio */ ++ uint32_t n_32khz; ++ /* CTS - 32KHz audio*/ ++ uint32_t cts_32khz; ++ uint32_t n_44khz; ++ uint32_t cts_44khz; ++ uint32_t n_48khz; ++ uint32_t cts_48khz; ++}; ++ + struct encoder_info_frame { + /* auxiliary video information */ + struct dc_info_packet avi; +-- +2.17.1 + |