drm/amd/display: Consolidate two-pixels-per-container check
authorNikola Cornij <nikola.cornij@amd.com>
Thu, 25 Oct 2018 21:02:42 +0000 (17:02 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Mon, 19 Nov 2018 20:27:38 +0000 (15:27 -0500)
[why]
The condition to check for two pixels per containter has become rather
long and is used in number of places.

[how]
Move the check to a helper function.

Signed-off-by: Nikola Cornij <nikola.cornij@amd.com>
Reviewed-by: Eric Bernstein <Eric.Bernstein@amd.com>
Acked-by: Bhawanpreet Lakha <Bhawanpreet.Lakha@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/display/dc/dcn10/dcn10_optc.c
drivers/gpu/drm/amd/display/dc/dcn10/dcn10_optc.h

index 7d1f667..7c76f40 100644 (file)
@@ -335,9 +335,8 @@ void optc1_program_timing(
        /* Enable stereo - only when we need to pack 3D frame. Other types
         * of stereo handled in explicit call
         */
-       h_div_2 = (dc_crtc_timing->pixel_encoding == PIXEL_ENCODING_YCBCR420) ?
-                       1 : 0;
 
+       h_div_2 = optc1_is_two_pixels_per_containter(&patched_crtc_timing);
        REG_UPDATE(OTG_H_TIMING_CNTL,
                        OTG_H_TIMING_DIV_BY2, h_div_2);
 
@@ -1422,3 +1421,9 @@ void dcn10_timing_generator_init(struct optc *optc1)
        optc1->min_h_sync_width = 8;
        optc1->min_v_sync_width = 1;
 }
+
+bool optc1_is_two_pixels_per_containter(const struct dc_crtc_timing *timing)
+{
+       return timing->pixel_encoding == PIXEL_ENCODING_YCBCR420;
+}
+
index c1b1142..8bacf0b 100644 (file)
@@ -565,4 +565,6 @@ bool optc1_configure_crc(struct timing_generator *optc,
 bool optc1_get_crc(struct timing_generator *optc,
                    uint32_t *r_cr, uint32_t *g_y, uint32_t *b_cb);
 
+bool optc1_is_two_pixels_per_containter(const struct dc_crtc_timing *timing);
+
 #endif /* __DC_TIMING_GENERATOR_DCN10_H__ */