On 6/12/26 7:52 PM, Sam Edwards wrote:
On Fri, Jun 12, 2026 at 10:32 AM David Lechner <[email protected]> wrote:

Add 64-bit Mediatek ARM SoCs to the default y setting of
LMB_LIMIT_DMA_BELOW_RAM_TOP. These platforms have a 4GiB DMA limit, e.g.
for the SD/MMC controller.

Hi David,

Is the 4GiB DMA limit due to the interconnect itself or are there
merely a few blocks that can't speak 64-bit?

It is a mix of both, depending on the SoC. Old 32bit IPs are reused in 64bit SoCs, sometimes old 32bit interconnect is reused in 64bit SoCs.

If the latter, I think
it'd be clearer to associate the setting with the culprit driver(s)
rather than the whole platform, so that it can be removed if/when
those drivers begin to use bounce buffers.

Marek: I fear that a lot of things are going to depend on this config
option being 'true' in the very near future, and with a lot of
still-unidentified drivers with bugs unveiled by this LMB change (e.g.
I spent much of last weekend chasing down a failure on RK3588 because
U-Boot's SDHCI-SDMA impl. assumes 32-bit addresses) would it be better
to make this setting default true for 2026.07 to buy us more time to
find those cases?

We could do either that, or add more SoCs to this list.

What do others think ?

I'm not very familiar with the rationale behind the
original change ("lmb: Reinstate access to memory above ram_top") but
it sounds like only some users need that access currently?

With LMB_LIMIT_DMA_BELOW_RAM_TOP disabled, TFTP above 4 GiB is not allowed, LMB will block that. If you have a lot of DRAM above 4 GiB and you want to TFTP large payloads there, it won't work, which is unfortunate (perfectly valid DRAM is wasted).

--
Best regards,
Marek Vasut

Reply via email to