Ulf Hansson wrote:
- Adam, Arnd, Shawn-Lin, sydarn
On Sun, 20 Oct 2024 at 16:30, Aurelien Jarno aurelien@aurel32.net wrote:
The Synopsys DesignWare mmc controller on the JH7110 SoC (dw_mmc-starfive.c driver) is using a 32-bit IDMAC address bus width, and thus requires the use of SWIOTLB.
The commit 8396c793ffdf ("mmc: dw_mmc: Fix IDMAC operation with pages bigger than 4K") increased the max_seq_size, even for 4K pages, causing "swiotlb buffer is full" to happen because swiotlb can only handle a memory size up to 256kB only.
Fix the issue, by making sure the dw_mmc driver doesn't use segments bigger than what SWIOTLB can handle.
Reported-by: Ron Economos re@w6rz.net Reported-by: Jing Luo jing@jing.rocks Fixes: 8396c793ffdf ("mmc: dw_mmc: Fix IDMAC operation with pages bigger than 4K") Cc: stable@vger.kernel.org Signed-off-by: Aurelien Jarno aurelien@aurel32.net
Thanks for working on this!
+1
Looks like we have managed to mess things up. Besides the issue that you have been working on to fix, apparently there seems to be another one too [1].
Unfortunately, $subject patch doesn't seem to fix the problem in [1], as has been reported by Adam.
I have looped in some more people to this thread, hopefully we agree on how this should be fixed properly. Otherwise, I tend to say that we should simply revert the offending commit and start over.
Yes, unfortunately this patch also doesn't fix MMC when running 6.12-rc4 on the StarFive VisionFive V1 (JH7100 SoC).
/Emil