drm/dsc: fix drm_edp_dsc_sink_output_bpp() DPCD high byte usage
[ Upstream commit 13525645e2246ebc8a21bd656248d86022a6ee8f ]
The operator precedence between << and & is wrong, leading to the high
byte being completely ignored. For example, with the 6.4 format, 32
becomes 0 and 24 becomes 8. Fix it, and remove the slightly confusing
and unnecessary DP_DSC_MAX_BITS_PER_PIXEL_HI_SHIFT macro while at it.
Fixes: 0575650077
("drm/dp: DRM DP helper/macros to get DP sink DSC parameters")
Cc: Stanislav Lisovskiy <stanislav.lisovskiy@intel.com>
Cc: Manasi Navare <navaremanasi@google.com>
Cc: Anusha Srivatsa <anusha.srivatsa@intel.com>
Cc: <stable@vger.kernel.org> # v5.0+
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Reviewed-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20230406134615.1422509-1-jani.nikula@intel.com
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
f95a60099d
commit
98643c9910
@ -286,7 +286,6 @@
|
|||||||
|
|
||||||
#define DP_DSC_MAX_BITS_PER_PIXEL_HI 0x068 /* eDP 1.4 */
|
#define DP_DSC_MAX_BITS_PER_PIXEL_HI 0x068 /* eDP 1.4 */
|
||||||
# define DP_DSC_MAX_BITS_PER_PIXEL_HI_MASK (0x3 << 0)
|
# define DP_DSC_MAX_BITS_PER_PIXEL_HI_MASK (0x3 << 0)
|
||||||
# define DP_DSC_MAX_BITS_PER_PIXEL_HI_SHIFT 8
|
|
||||||
# define DP_DSC_MAX_BPP_DELTA_VERSION_MASK 0x06
|
# define DP_DSC_MAX_BPP_DELTA_VERSION_MASK 0x06
|
||||||
# define DP_DSC_MAX_BPP_DELTA_AVAILABILITY 0x08
|
# define DP_DSC_MAX_BPP_DELTA_AVAILABILITY 0x08
|
||||||
|
|
||||||
|
@ -181,9 +181,8 @@ static inline u16
|
|||||||
drm_edp_dsc_sink_output_bpp(const u8 dsc_dpcd[DP_DSC_RECEIVER_CAP_SIZE])
|
drm_edp_dsc_sink_output_bpp(const u8 dsc_dpcd[DP_DSC_RECEIVER_CAP_SIZE])
|
||||||
{
|
{
|
||||||
return dsc_dpcd[DP_DSC_MAX_BITS_PER_PIXEL_LOW - DP_DSC_SUPPORT] |
|
return dsc_dpcd[DP_DSC_MAX_BITS_PER_PIXEL_LOW - DP_DSC_SUPPORT] |
|
||||||
(dsc_dpcd[DP_DSC_MAX_BITS_PER_PIXEL_HI - DP_DSC_SUPPORT] &
|
((dsc_dpcd[DP_DSC_MAX_BITS_PER_PIXEL_HI - DP_DSC_SUPPORT] &
|
||||||
DP_DSC_MAX_BITS_PER_PIXEL_HI_MASK <<
|
DP_DSC_MAX_BITS_PER_PIXEL_HI_MASK) << 8);
|
||||||
DP_DSC_MAX_BITS_PER_PIXEL_HI_SHIFT);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline u32
|
static inline u32
|
||||||
|
Loading…
Reference in New Issue
Block a user