Patch "drm/meson: Reduce the FIFO lines held when AFBC is not used" has been added to the 5.15-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/meson: Reduce the FIFO lines held when AFBC is not used

to the 5.15-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-meson-reduce-the-fifo-lines-held-when-afbc-is-no.patch
and it can be found in the queue-5.15 subdirectory.

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



commit 6e49e0034301262b77ad78e712f84fe8ccaf5c86
Author: Carlo Caione <ccaione@xxxxxxxxxxxx>
Date:   Mon Dec 19 09:43:05 2022 +0100

    drm/meson: Reduce the FIFO lines held when AFBC is not used
    
    [ Upstream commit 3b754ed6d1cd90017e66e5cc16f3923e4a952ffc ]
    
    Having a bigger number of FIFO lines held after vsync is only useful to
    SoCs using AFBC to give time to the AFBC decoder to be reset, configured
    and enabled again.
    
    For SoCs not using AFBC this, on the contrary, is causing on some
    displays issues and a few pixels vertical offset in the displayed image.
    
    Conditionally increase the number of lines held after vsync only for
    SoCs using AFBC, leaving the default value for all the others.
    
    Fixes: 24e0d4058eff ("drm/meson: hold 32 lines after vsync to give time for AFBC start")
    Signed-off-by: Carlo Caione <ccaione@xxxxxxxxxxxx>
    Acked-by: Martin Blumenstingl <martin.blumenstingl@xxxxxxxxxxxxxx>
    Acked-by: Neil Armstrong <neil.armstrong@xxxxxxxxxx>
    [narmstrong: added fixes tag]
    Signed-off-by: Neil Armstrong <neil.armstrong@xxxxxxxxxx>
    Link: https://patchwork.freedesktop.org/patch/msgid/20221216-afbc_s905x-v1-0-033bebf780d9@xxxxxxxxxxxx
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/drivers/gpu/drm/meson/meson_viu.c b/drivers/gpu/drm/meson/meson_viu.c
index d4b907889a21..cd399b0b7181 100644
--- a/drivers/gpu/drm/meson/meson_viu.c
+++ b/drivers/gpu/drm/meson/meson_viu.c
@@ -436,15 +436,14 @@ void meson_viu_init(struct meson_drm *priv)
 
 	/* Initialize OSD1 fifo control register */
 	reg = VIU_OSD_DDR_PRIORITY_URGENT |
-		VIU_OSD_HOLD_FIFO_LINES(31) |
 		VIU_OSD_FIFO_DEPTH_VAL(32) | /* fifo_depth_val: 32*8=256 */
 		VIU_OSD_WORDS_PER_BURST(4) | /* 4 words in 1 burst */
 		VIU_OSD_FIFO_LIMITS(2);      /* fifo_lim: 2*16=32 */
 
 	if (meson_vpu_is_compatible(priv, VPU_COMPATIBLE_G12A))
-		reg |= VIU_OSD_BURST_LENGTH_32;
+		reg |= (VIU_OSD_BURST_LENGTH_32 | VIU_OSD_HOLD_FIFO_LINES(31));
 	else
-		reg |= VIU_OSD_BURST_LENGTH_64;
+		reg |= (VIU_OSD_BURST_LENGTH_64 | VIU_OSD_HOLD_FIFO_LINES(4));
 
 	writel_relaxed(reg, priv->io_base + _REG(VIU_OSD1_FIFO_CTRL_STAT));
 	writel_relaxed(reg, priv->io_base + _REG(VIU_OSD2_FIFO_CTRL_STAT));



[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