aboutsummaryrefslogtreecommitdiffstats
path: root/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/2028-drm-amd-display-Refactor-DIO-stream-encoder.patch
diff options
context:
space:
mode:
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.patch157
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
+