Patch "drm/amd/display: Fix 10/12 bpc setup in DCE output bit depth reduction." has been added to the 5.4-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    drm/amd/display: Fix 10/12 bpc setup in DCE output bit depth reduction.

to the 5.4-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     drm-amd-display-fix-10-12-bpc-setup-in-dce-output-bi.patch
and it can be found in the queue-5.4 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit 698d1df12af9acf41fa5600d129d8c31899224a9
Author: Mario Kleiner <mario.kleiner.de@xxxxxxxxx>
Date:   Thu Jan 21 07:17:02 2021 +0100

    drm/amd/display: Fix 10/12 bpc setup in DCE output bit depth reduction.
    
    [ Upstream commit 1916866dfa4aaceba1a70db83fde569387649d93 ]
    
    In set_clamp(), the comments and definitions for the COLOR_DEPTH_101010
    and COLOR_DEPTH_121212 cases directly contradict the code comment which
    explains how this should work, whereas the COLOR_DEPTH_888 case
    is consistent with the code comments. Comment says the bitmask should
    be chosen to align to the top-most 10 or 12 MSB's on a 14 bit bus, but
    the implementation contradicts that: 10 bit case sets a mask for 12 bpc
    clamping, whereas 12 bit case sets a mask for 14 bpc clamping.
    
    Note that during my limited testing on DCE-8.3 (HDMI deep color)
    and DCE-11.2 (DP deep color), this didn't have any obvious ill
    effects, neither did fixing it change anything obvious for the
    better, so this fix may be inconsequential on DCE, and just
    reduce the confusion of innocent bystanders when reading the code
    and trying to investigate problems with 10 bpc+ output.
    
    Fixes: 4562236b3bc0 ("drm/amd/dc: Add dc display driver (v2)")
    
    Signed-off-by: Mario Kleiner <mario.kleiner.de@xxxxxxxxx>
    Cc: Harry Wentland <harry.wentland@xxxxxxx>
    Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/drivers/gpu/drm/amd/display/dc/dce/dce_transform.c b/drivers/gpu/drm/amd/display/dc/dce/dce_transform.c
index ab63d0d0304cb..6fd57cfb112f5 100644
--- a/drivers/gpu/drm/amd/display/dc/dce/dce_transform.c
+++ b/drivers/gpu/drm/amd/display/dc/dce/dce_transform.c
@@ -429,12 +429,12 @@ static void set_clamp(
 		clamp_max = 0x3FC0;
 		break;
 	case COLOR_DEPTH_101010:
-		/* 10bit MSB aligned on 14 bit bus '11 1111 1111 1100' */
-		clamp_max = 0x3FFC;
+		/* 10bit MSB aligned on 14 bit bus '11 1111 1111 0000' */
+		clamp_max = 0x3FF0;
 		break;
 	case COLOR_DEPTH_121212:
-		/* 12bit MSB aligned on 14 bit bus '11 1111 1111 1111' */
-		clamp_max = 0x3FFF;
+		/* 12bit MSB aligned on 14 bit bus '11 1111 1111 1100' */
+		clamp_max = 0x3FFC;
 		break;
 	default:
 		clamp_max = 0x3FC0;



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux