[PATCH V3] of: Set the DMA mask to 64 bits when dma_addr_t is 64-bits
Laura Abbott
lauraa at codeaurora.org
Mon Jul 8 22:38:58 EDT 2013
On 7/8/2013 3:42 AM, Russell King - ARM Linux wrote:
>>
>> The problem is the way the arm_dma_limit is set up, all dma allocations
>> are currently broken regardless of if the actual device supports 64-bit
>> addresses or not.
>
> Please explain this statement.
>
The statement was a bit shortsighted given recent discussions. My point
was that on LPAE systems right now without ZONE_DMA, the allocation
fails by default (i.e. no call to set_mask) even if the device could
support 64-bit physical memory. Based on this thread though, drivers
should stop assuming the dma_mask will be set up properly and always set
the mask appropriately.
The conclusion also seems to be that if devices on an LPAE system can't
handle > 32-bit addresses and want to limit via mask, ZONE_DMA must be
set up.
Please correct me if I misunderstood anything.
Thanks,
Laura
--
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
hosted by The Linux Foundation
More information about the linux-arm-kernel
mailing list