From 9e49fb0ac417b38840176385eb781245642b1ac7 Mon Sep 17 00:00:00 2001 From: Alex Bee Date: Sun, 15 Dec 2024 12:53:18 +0100 Subject: [PATCH] Rockchip: RK3288: Disable VPU iommu Due to bug in either hantro, iommu or general dma management drivers for ARMv7 buffers are not correctly flushed when being re-used. To work around that, disable VPU iommu and increase cma memory size to be sufficient for 4K H.264 decoding. Signed-off-by: Alex Bee --- projects/Rockchip/devices/RK3288/options | 2 +- .../linux-9000-temp-rk3288-disable-vpu-iommu.patch | 12 ++++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) create mode 100644 projects/Rockchip/patches/linux/default/linux-9000-temp-rk3288-disable-vpu-iommu.patch diff --git a/projects/Rockchip/devices/RK3288/options b/projects/Rockchip/devices/RK3288/options index ec837522bd..337cbcb225 100644 --- a/projects/Rockchip/devices/RK3288/options +++ b/projects/Rockchip/devices/RK3288/options @@ -25,7 +25,7 @@ GRAPHIC_DRIVERS="panfrost" # kernel serial console - EXTRA_CMDLINE="console=uart8250,mmio32,0xff690000 console=tty0 coherent_pool=2M cec.debounce_ms=5000" + EXTRA_CMDLINE="console=uart8250,mmio32,0xff690000 console=tty0 coherent_pool=2M cec.debounce_ms=5000 cma=384M" # set the addon project ADDON_PROJECT="ARMv7" diff --git a/projects/Rockchip/patches/linux/default/linux-9000-temp-rk3288-disable-vpu-iommu.patch b/projects/Rockchip/patches/linux/default/linux-9000-temp-rk3288-disable-vpu-iommu.patch new file mode 100644 index 0000000000..575db99f4d --- /dev/null +++ b/projects/Rockchip/patches/linux/default/linux-9000-temp-rk3288-disable-vpu-iommu.patch @@ -0,0 +1,12 @@ +diff --git a/arch/arm/boot/dts/rockchip/rk3288.dtsi b/arch/arm/boot/dts/rockchip/rk3288.dtsi +index 9ff190ab1d..1d5a4a68f6 100644 +--- a/arch/arm/boot/dts/rockchip/rk3288.dtsi ++++ b/arch/arm/boot/dts/rockchip/rk3288.dtsi +@@ -1298,6 +1298,7 @@ vpu_mmu: iommu@ff9a0800 { + clock-names = "aclk", "iface"; + #iommu-cells = <0>; + power-domains = <&power RK3288_PD_VIDEO>; ++ status = "disabled"; + }; + + hevc: hevc@ff9c0000 {