On 11/4/19 9:51 AM, Florian Fainelli wrote: > On 11/4/19 9:09 AM, Stefan Wahren wrote: > > [snip] > >>> + reserved-memory { >>> + #address-cells = <2>; >>> + #size-cells = <1>; >>> + ranges; >>> + >>> + /* >>> + * arm64 reserves the CMA by default somewhere in ZONE_DMA32, >>> + * that's not good enough for the Raspberry Pi 4 as some >>> + * devices can only address the lower 1G of memory (ZONE_DMA). >>> + */ >>> + linux,cma { >>> + compatible = "shared-dma-pool"; >>> + size = <0x2000000>; /* 32MB */ >>> + alloc-ranges = <0x0 0x00000000 0x40000000>; >>> + reusable; >>> + linux,cma-default; >>> + }; >>> + }; >>> + >> >> i think this is a SoC-specific issue not a board specifc one. Please >> move this to bcm2711.dtsi > > This sounds like a possibly fragile solution if someone changes > CONFIG_CMA_SIZE_MBYTES to a value greater than 32MB no? > > I know we don't want machine descriptors for ARM64 kernels, but since > there is already a specific 2711 machine compatible string check, maybe > you could use that as well for determining whether arm64_dma_phys_limit > or arm64_dma32_phys_limit should be chosen? This last sentence was referring to an earlier version of another patch series, this is not being done right now, although ARCH_BCM2835 does forcibly select ZONE_DMA. Nevermind then, I do not see a cleaner solution right now either. -- Florian