Skip to content

Commit e00a2e5

Browse files
committed
drm: Fix DSC BPP increment decoding
Starting with DPCD version 2.0 bits 6:3 of the DP_DSC_BITS_PER_PIXEL_INC DPCD register contains the NativeYCbCr422_MAX_bpp_DELTA field, which can be non-zero as opposed to earlier DPCD versions, hence decoding the bit_per_pixel increment value at bits 2:0 in the same register requires applying a mask, do so. Cc: Ankit Nautiyal <[email protected]> Fixes: 0c2287c ("drm/display/dp: Add helper function to get DSC bpp precision") Reviewed-by: Jani Nikula <[email protected]> Signed-off-by: Imre Deak <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
1 parent 9ab127a commit e00a2e5

File tree

2 files changed

+2
-1
lines changed

2 files changed

+2
-1
lines changed

drivers/gpu/drm/display/drm_dp_helper.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2544,7 +2544,7 @@ u8 drm_dp_dsc_sink_bpp_incr(const u8 dsc_dpcd[DP_DSC_RECEIVER_CAP_SIZE])
25442544
{
25452545
u8 bpp_increment_dpcd = dsc_dpcd[DP_DSC_BITS_PER_PIXEL_INC - DP_DSC_SUPPORT];
25462546

2547-
switch (bpp_increment_dpcd) {
2547+
switch (bpp_increment_dpcd & DP_DSC_BITS_PER_PIXEL_MASK) {
25482548
case DP_DSC_BITS_PER_PIXEL_1_16:
25492549
return 16;
25502550
case DP_DSC_BITS_PER_PIXEL_1_8:

include/drm/display/drm_dp.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -359,6 +359,7 @@
359359
# define DP_DSC_BITS_PER_PIXEL_1_4 0x2
360360
# define DP_DSC_BITS_PER_PIXEL_1_2 0x3
361361
# define DP_DSC_BITS_PER_PIXEL_1_1 0x4
362+
# define DP_DSC_BITS_PER_PIXEL_MASK 0x7
362363

363364
#define DP_PSR_SUPPORT 0x070 /* XXX 1.2? */
364365
# define DP_PSR_IS_SUPPORTED 1

0 commit comments

Comments
 (0)