summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/amd/display/dc/dce/dce_clock_source.c
diff options
context:
space:
mode:
authorCharlene Liu <charlene.liu@amd.com>2017-02-01 20:35:53 -0500
committerAlex Deucher <alexander.deucher@amd.com>2017-09-26 17:13:37 -0400
commitcc4d99b8a888e16093b985d6a11fbd37ab92697c (patch)
tree82fe0d1328638f8252068ad2853b618594137921 /drivers/gpu/drm/amd/display/dc/dce/dce_clock_source.c
parent8fde5884f4a18dec81ab5d498bf7bf3c156f8dfb (diff)
downloadlinux-cc4d99b8a888e16093b985d6a11fbd37ab92697c.tar.gz
linux-cc4d99b8a888e16093b985d6a11fbd37ab92697c.tar.bz2
linux-cc4d99b8a888e16093b985d6a11fbd37ab92697c.zip
drm/amd/display: HDMI YCbCr422 12bpc pixel format issue
Signed-off-by: Charlene Liu <charlene.liu@amd.com> Reviewed-by: Tony Cheng <Tony.Cheng@amd.com> Acked-by: Harry Wentland <Harry.Wentland@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/display/dc/dce/dce_clock_source.c')
-rw-r--r--drivers/gpu/drm/amd/display/dc/dce/dce_clock_source.c29
1 files changed, 14 insertions, 15 deletions
diff --git a/drivers/gpu/drm/amd/display/dc/dce/dce_clock_source.c b/drivers/gpu/drm/amd/display/dc/dce/dce_clock_source.c
index 78f43274a03a..a9f39218ce82 100644
--- a/drivers/gpu/drm/amd/display/dc/dce/dce_clock_source.c
+++ b/drivers/gpu/drm/amd/display/dc/dce/dce_clock_source.c
@@ -390,25 +390,24 @@ static bool pll_adjust_pix_clk(
struct bp_adjust_pixel_clock_parameters bp_adjust_pixel_clock_params = {
0 };
enum bp_result bp_result;
-
switch (pix_clk_params->signal_type) {
case SIGNAL_TYPE_HDMI_TYPE_A: {
requested_clk_khz = pix_clk_params->requested_pix_clk;
-
- switch (pix_clk_params->color_depth) {
- case COLOR_DEPTH_101010:
- requested_clk_khz = (requested_clk_khz * 5) >> 2;
- break; /* x1.25*/
- case COLOR_DEPTH_121212:
- requested_clk_khz = (requested_clk_khz * 6) >> 2;
- break; /* x1.5*/
- case COLOR_DEPTH_161616:
- requested_clk_khz = requested_clk_khz * 2;
- break; /* x2.0*/
- default:
- break;
+ if (pix_clk_params->pixel_encoding != PIXEL_ENCODING_YCBCR422) {
+ switch (pix_clk_params->color_depth) {
+ case COLOR_DEPTH_101010:
+ requested_clk_khz = (requested_clk_khz * 5) >> 2;
+ break; /* x1.25*/
+ case COLOR_DEPTH_121212:
+ requested_clk_khz = (requested_clk_khz * 6) >> 2;
+ break; /* x1.5*/
+ case COLOR_DEPTH_161616:
+ requested_clk_khz = requested_clk_khz * 2;
+ break; /* x2.0*/
+ default:
+ break;
+ }
}
-
actual_pix_clk_khz = requested_clk_khz;
}
break;