OSDN Git Service

drm/amd/display: Refactor DIO stream encoder
authorEric Bernstein <eric.bernstein@amd.com>
Wed, 8 May 2019 20:08:39 +0000 (16:08 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Fri, 31 May 2019 15:39:32 +0000 (10:39 -0500)
* 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>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/display/dc/dce/dce_stream_encoder.c
drivers/gpu/drm/amd/display/dc/dcn10/dcn10_stream_encoder.c
drivers/gpu/drm/amd/display/dc/dcn10/dcn10_stream_encoder.h
drivers/gpu/drm/amd/display/dc/inc/hw/stream_encoder.h

index 61fe259..3690ca9 100644 (file)
@@ -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*/
index ba71b52..2d15ae6 100644 (file)
@@ -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);
index a292b10..46c93ff 100644 (file)
@@ -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__ */
index 5375638..74db1d8 100644 (file)
@@ -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;