-
-
Notifications
You must be signed in to change notification settings - Fork 2.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
rockchip64-6.14: Set dma mask to 64 bit #7924
Conversation
Please test on RK3399 and/or RK3328. I assume RK3566/8 will behave like RK3588 |
Unfortunately I don't possess any board with those soc |
Perhaps today I can give a shot to rk3328/rk3399 boards |
Quick check on OrangePi 4 LTS (rk3399) and a rk3318 tvbox shows no harm: both present basic DRM console, XFCE works in both composite and non-composite modes, OpenGL works fine (tested quake) and dmesg is clean. The patch seems ok to me |
My unscientific testing on glmark2 on pinebook pro (rk3399) shows a bit of a regression. before1: 397 |
Weird, I felt "something" while watching Quake demo going on... Anyway I guess the patch as-is cannot be mainlined in the kernel because IMHO it would break 32bit, wouldn't it? A nicer way to do that would be enable only for those SoCs which can address more than 4gb of DRAM. This is only for edge kernel though, so there is time for refinement and testing. |
Did a benchmark with glmark2 on rk3399, no regression on my side:
|
Description
This patch sets the DMA mask to 64-bit for Rockchip DRM drivers to properly handle physical addresses above 4GB. The VOP MMU can translate upper 4GB physical addresses to iova below 4GB, resolving "swiotlb buffer full" warnings seen on systems with >4GB RAM.
Source: https://source.mnt.re/reform/reform-debian-packages/-/blob/487191f7ad5c48850c22b3fe8d4d9187f21945e5/linux/patches6.11/rk3588-mnt-reform2/5200-drm-rockchip-Set-dma-mask-to-64-bit.patch
Motivation: Fixes graphical subsystem warnings that occur when handling large memory allocations on Rockchip devices with >4GB DDR.
How Has This Been Tested?
dmesg
monitoringChecklist: