Quick test of iommu commit:
1) Kodi starts with a few drm_gem errors, but keeps running
Code
[ 17.546100] ------------[ cut here ]------------
[ 17.546117] WARNING: CPU: 3 PID: 738 at drivers/gpu/drm/drm_gem.c:1054 drm_gem_mmap_obj+0x158/0x170
[ 17.546140] Modules linked in: 8021q garp stp mrp llc rfkill dwmac_sun8i hantro_vpu(C) sunxi_cir crct10dif_ce v4l2_vp9 v4l2_h264 sun50i_di panfrost gpu_sched videobuf2_vmalloc fuse
[ 17.546181] CPU: 3 PID: 738 Comm: kodi.bin Tainted: G C 5.16.5 #1
[ 17.546186] Hardware name: Beelink GS1 (DT)
[ 17.546190] pstate: 60000005 (nZCv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--)
[ 17.546196] pc : drm_gem_mmap_obj+0x158/0x170
[ 17.546200] lr : drm_gem_mmap_obj+0x78/0x170
[ 17.546204] sp : ffff800009d03bb0
[ 17.546207] x29: ffff800009d03bb0 x28: ffff000002250a80 x27: 0000000000000008
[ 17.546214] x26: 00000000ea902000 x25: ffff000006313730 x24: ffff0000061cdf18
[ 17.546222] x23: ffff000003516a00 x22: ffff000006dc6800 x21: 0000000000000000
[ 17.546229] x20: ffff000006313730 x19: ffff0000061db000 x18: 0000000000000000
[ 17.546237] x17: 0000000000000000 x16: 0000000000000000 x15: 0000000000000002
[ 17.546244] x14: 0000000000069f42 x13: 0000000000000001 x12: 0000000000000000
[ 17.546251] x11: 00000000ea902000 x10: 00000000eb0eb000 x9 : 00000000000007e9
[ 17.546259] x8 : 0000000000000001 x7 : 0000000000000012 x6 : ffff800076950000
[ 17.546266] x5 : ffff800009d03990 x4 : ffff8000095274c0 x3 : 0000000000000000
[ 17.546273] x2 : 0000000000000000 x1 : ffff000003443500 x0 : 00000000100000fb
[ 17.546281] Call trace:
[ 17.546284] drm_gem_mmap_obj+0x158/0x170
[ 17.546289] drm_gem_mmap+0x12c/0x200
[ 17.546293] mmap_region+0x388/0x574
[ 17.546300] do_mmap+0x2c8/0x49c
[ 17.546304] vm_mmap_pgoff+0xd8/0x100
[ 17.546312] ksys_mmap_pgoff+0x194/0x1d4
[ 17.546316] __arm64_compat_sys_aarch32_mmap2+0x1c/0x24
[ 17.546324] invoke_syscall+0x44/0x110
[ 17.546329] el0_svc_common.constprop.0+0x40/0xe0
[ 17.546334] do_el0_svc_compat+0x18/0x30
[ 17.546339] el0_svc_compat+0x14/0x4c
[ 17.546348] el0t_32_sync_handler+0x88/0x11c
[ 17.546354] el0t_32_sync+0x15c/0x160
[ 17.546360] ---[ end trace daa0f7c2d1a9e063 ]---
[ 19.070650] ------------[ cut here ]------------
Display More
2) Some HEVC videos give iommu faults, requiring reboot. Uploaded F1.x265.2160p50.ts sample to GDrive at the link above.
Code
[ 111.890421] sun50i-iommu 30f0000.iommu: Page fault for 0x000000000000e000 (master 1, dir rd)
[ 111.890445] IOMMU: Level 1 page error
[ 113.890831] cedrus 1c0e000.video-codec: frame processing timed out!
3) VP9 10bit videos are failing with iommu fault as well
Code
[ 363.631608] sun50i-iommu 30f0000.iommu: Page fault for 0x00000000f17ff000 (master 5, dir rd)
[ 363.631651] IOMMU: Level 2 page error
[ 365.661445] hantro_watchdog:119: frame processing timed out!
[ 367.677482] hantro_watchdog:119: frame processing timed out!
[ 369.697446] hantro_watchdog:119: frame processing timed out!
[ 371.713483] hantro_watchdog:119: frame processing timed out!
[ 373.725456] hantro_watchdog:119: frame processing timed out!
[ 375.741441] hantro_watchdog:119: frame processing timed out!
[ 375.743783] sun50i-iommu 30f0000.iommu: TLB Flush timed out!
[ 375.746577] sun50i-iommu 30f0000.iommu: TLB Flush timed out!
[ 375.749433] sun50i-iommu 30f0000.iommu: TLB Flush timed out!
[ 375.752228] sun50i-iommu 30f0000.iommu: TLB Flush timed out!
[ 375.754967] sun50i-iommu 30f0000.iommu: TLB Flush timed out!
[ 375.757727] sun50i-iommu 30f0000.iommu: TLB Flush timed out!
Display More