From: Greg Kroah-Hartman Date: Mon, 8 Sep 2025 09:11:05 +0000 (+0200) Subject: drop a drm patch from 6.12 X-Git-Tag: v5.4.299~2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=a0e454315ca5518533acdae7f7ee358bad4c218d;p=thirdparty%2Fkernel%2Fstable-queue.git drop a drm patch from 6.12 --- diff --git a/queue-6.12/drm-rockchip-vop2-make-vp-registers-nonvolatile.patch b/queue-6.12/drm-rockchip-vop2-make-vp-registers-nonvolatile.patch deleted file mode 100644 index 987404b490..0000000000 --- a/queue-6.12/drm-rockchip-vop2-make-vp-registers-nonvolatile.patch +++ /dev/null @@ -1,62 +0,0 @@ -From cb1c250e64e93dbb297b2d28d65a37eb60928eb6 Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Sun, 6 Jul 2025 08:36:58 +0000 -Subject: drm/rockchip: vop2: make vp registers nonvolatile - -From: Piotr Zalewski - -[ Upstream commit a52dffaa46c2c5ff0b311c4dc1288581f7b9109e ] - -Make video port registers nonvolatile. As DSP_CTRL register is written -to twice due to gamma LUT enable bit which is set outside of the main -DSP_CTRL initialization within atomic_enable (for rk356x case it is also -necessary to always disable gamma LUT before writing a new LUT) there is -a chance that DSP_CTRL value read-out in gamma LUT init/update code is -not the one which was written by the preceding DSP_CTRL initialization -code within atomic_enable. This might result in misconfigured DSP_CTRL -which leads to no visual output[1]. Since DSP_CTRL write takes effect -after VSYNC[1] the issue is not always present. When tested on Pinetab2 -with kernel 6.14 it happenes only when DRM is compiled as a module[1]. -In order to confirm that it is a timing issue I inserted 18ms udelay -before vop2_crtc_atomic_try_set_gamma in atomic enable and compiled DRM -as module - this has also fixed the issue. - -[1] https://lore.kernel.org/linux-rockchip/562b38e5.a496.1975f09f983.Coremail.andyshrk@163.com/ - -Reported-by: Diederik de Haas -Closes: https://lore.kernel.org/linux-rockchip/DAEVDSTMWI1E.J454VZN0R9MA@cknow.org/ -Suggested-by: Andy Yan -Signed-off-by: Piotr Zalewski -Tested-by: Diederik de Haas -Signed-off-by: Heiko Stuebner -Link: https://lore.kernel.org/r/20250706083629.140332-2-pZ010001011111@proton.me -Signed-off-by: Sasha Levin ---- - drivers/gpu/drm/rockchip/rockchip_drm_vop2.c | 9 +++++---- - 1 file changed, 5 insertions(+), 4 deletions(-) - -diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_vop2.c b/drivers/gpu/drm/rockchip/rockchip_drm_vop2.c -index 5d7df4c3b08c4..bb936964d9211 100644 ---- a/drivers/gpu/drm/rockchip/rockchip_drm_vop2.c -+++ b/drivers/gpu/drm/rockchip/rockchip_drm_vop2.c -@@ -3153,12 +3153,13 @@ static int vop2_win_init(struct vop2 *vop2) - } - - /* -- * The window registers are only updated when config done is written. -- * Until that they read back the old value. As we read-modify-write -- * these registers mark them as non-volatile. This makes sure we read -- * the new values from the regmap register cache. -+ * The window and video port registers are only updated when config -+ * done is written. Until that they read back the old value. As we -+ * read-modify-write these registers mark them as non-volatile. This -+ * makes sure we read the new values from the regmap register cache. - */ - static const struct regmap_range vop2_nonvolatile_range[] = { -+ regmap_reg_range(RK3568_VP0_CTRL_BASE, RK3588_VP3_CTRL_BASE + 255), - regmap_reg_range(0x1000, 0x23ff), - }; - --- -2.50.1 - diff --git a/queue-6.12/series b/queue-6.12/series index 4e87189871..319547c85c 100644 --- a/queue-6.12/series +++ b/queue-6.12/series @@ -10,7 +10,6 @@ cdc_ncm-flag-intel-oem-version-of-fibocom-l850-gl-as.patch drm-amd-display-don-t-warn-when-missing-dce-encoder-.patch cpupower-fix-a-bug-where-the-t-option-of-the-set-sub.patch bluetooth-hci_sync-avoid-adding-default-advertising-.patch -drm-rockchip-vop2-make-vp-registers-nonvolatile.patch btrfs-zoned-skip-zone-finish-of-conventional-zones.patch fs-writeback-fix-use-after-free-in-__mark_inode_dirt.patch tee-fix-null-pointer-dereference-in-tee_shm_put.patch