]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
drm/msm/mdss: correct HBB programmed on UBWC 5.x and 6.x devices
authorDmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Mon, 19 Jan 2026 12:16:37 +0000 (14:16 +0200)
committerDmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Wed, 21 Jan 2026 00:00:01 +0000 (02:00 +0200)
As in the previous generations, on UBWC 5.x and 6.x devices the Highest
Bank Bit value should be programmed into the hardware with the offset of
-13.  Correct the value written into the register to prevent
unpredictable results.

Fixes: 227d4ce0b09e ("drm/msm: Offset MDSS HBB value by 13")
Tested-by: Val Packett <val@packett.cool> # x1e80100-dell-latitude-7455
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Patchwork: https://patchwork.freedesktop.org/patch/699274/
Link: https://lore.kernel.org/r/20260119-msm-ubwc-fixes-v4-1-0987acc0427f@oss.qualcomm.com
drivers/gpu/drm/msm/msm_mdss.c

index bf9a33e925ac83aa540b947277c36324440a9ccc..910242f5a71f24dd934ef106864950224255d919 100644 (file)
@@ -229,7 +229,7 @@ static void msm_mdss_setup_ubwc_dec_50(struct msm_mdss *msm_mdss)
 {
        const struct qcom_ubwc_cfg_data *data = msm_mdss->mdss_data;
        u32 value = MDSS_UBWC_STATIC_UBWC_SWIZZLE(data->ubwc_swizzle) |
-                   MDSS_UBWC_STATIC_HIGHEST_BANK_BIT(data->highest_bank_bit);
+                   MDSS_UBWC_STATIC_HIGHEST_BANK_BIT(data->highest_bank_bit - 13);
 
        if (data->ubwc_bank_spread)
                value |= MDSS_UBWC_STATIC_UBWC_BANK_SPREAD;