[PATCH 2/3] ARM/keystone: move the DMA offset handling under ifdef CONFIG_ARM_LPAE
Robin Murphy
robin.murphy at arm.com
Fri Sep 11 07:27:21 EDT 2020
On 2020-09-11 12:15, Russell King - ARM Linux admin wrote:
> On Thu, Sep 10, 2020 at 07:40:37AM +0200, Christoph Hellwig wrote:
>> The DMA offset notifier can only be used if PHYS_OFFSET is at least
>> KEYSTONE_HIGH_PHYS_START, which can't be represented by a 32-bit
>> phys_addr_t. Currently the code compiles fine despite that, a pending
>> change to the DMA offset handling would create a compiler warning for
>> this case. Add an ifdef to not compile the code except for LPAE
>> configs.
>
> However, to have use of the high physical offset, LPAE needs to be
> enabled, which ensures that phys_addr_t is 64-bit.
>
> I believe that DMA is non-coherent on this platform unless the high
> physical address is used. Or something like that.
Yeah, it's probably not a configuration that anyone would actually want
to use in anger on Keystone itself, but as long as folks might have
ARCH_KEYSTONE selected in their non-LPAE multiplatform config we should
avoid build regressions. I did wonder if Keystone should simply have a
hard dependency on LPAE, but there does appear to be some explicit
support for running directly from the non-coherent low 2G alias :/
Robin.
More information about the linux-arm-kernel
mailing list