[PATCH 1/2] DMA: fix AMBA PL08x driver issue with 64bit DMA address type

Andre Przywara andre.przywara at linaro.org
Wed Aug 21 17:22:07 EDT 2013


On 08/21/2013 11:01 PM, Linus Walleij wrote:
> On Wed, Aug 14, 2013 at 2:52 PM, Andre Przywara
> <andre.przywara at linaro.org> wrote:
>
>> In Rob's recent pull request the patch
>>          ARM: highbank: select ARCH_DMA_ADDR_T_64BIT for LPAE
>> promotes dma_addr_t to 64bit, which breaks compilation of the
>> AMBA PL08x DMA driver.
>> GCC has no function for the 64bit/8bit modulo operation.
>> Looking more closely the divisor can only be 1, 2 or 4, so the full
>> featured '%' modulo operation is overkill and can be replaced by
>> simple bit masking.
>>
>> Signed-off-by: Andre Przywara <andre.przywara at linaro.org>
>
> Can you give some context? Which platform have you tested
> this on after the change, or is this only compile-tested?

Only compile tested (sorry, forgot to mention that).
Actually I don't have this hardware anywhere, I just happened to had 
this in my config - probably just by accident as a leftover from some 
experiments.
So if you have access to any of those platforms, please give it a test.

> Of the current defconfigs selecting this driver, none is 64bit,

But it would be selected by allyesconfig or randconfig, right? And with 
more and more platforms moving into single zImage, we will spot more of 
those, as one "64-bit platform" will promote the types for every other.

> so makes me a bit curious if there is really some PL08x
> on the Highbank or similar?

Sorry, no hidden DMA controller on Highbank ;-)

Regards,
Andre.




More information about the linux-arm-kernel mailing list