Platform drivers and hardware for StarFive JH-7110 SoC are not capable of
DMA access above 4GB. This was previously a problem for MMC access then
resolved by a workaround, since reverted in a3075db94d49 ("lmb: Reinstate
access to memory above ram_top"). The symptom of this is EFI boot failure
of GRUB from EFI System Partition on USB MSC with a starfive_visionfive2
board target that has the on-chip Cadence USB, tested with Pine64 Star64.

Restore the workaround with a dependency on LMB_LIMIT_DMA_BELOW_RAM_TOP.

Signed-off-by: E Shattow <[email protected]>
---
 lib/Kconfig | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/Kconfig b/lib/Kconfig
index 6b6b90bc915c..4bb120c97cbd 100644
--- a/lib/Kconfig
+++ b/lib/Kconfig
@@ -1314,7 +1314,7 @@ config SPL_LMB_ARCH_MEM_MAP
 config LMB_LIMIT_DMA_BELOW_RAM_TOP
        bool
        depends on LMB
-       default y if ARCH_BCM283X || ARCH_ROCKCHIP
+       default y if ARCH_BCM283X || ARCH_ROCKCHIP || STARFIVE_JH7110
        help
          Some architectures can not DMA above ram_top boundary,
          which is after 4 GiB or 32-bit boundary too. Limit the

base-commit: 369d71b895bc5ce94556d43f05ef9d20084af0d5
-- 
2.53.0

Reply via email to