Re: [PATCH] net: macb: fix endian code for avr32

From: Nicolas Ferre
Date: Wed Mar 18 2015 - 08:27:29 EST


Le 18/03/2015 13:25, Hans-Christian Egtvedt a écrit :
> Around Wed 18 Mar 2015 10:57:27 +0000 or thereabout, Ben Dooks wrote:
>> [note this has yet to be compile tested on avr32]
>>
>
> Compiles fine without warnings.
>
>> The changes to run the macb driver in 29af05aeb98e ("net: macb:
>> Add big endian CPU support") to support big endian operation on
>> ARM may not work on AVR32 which already is naturally big endian
>> architecture (and the driver already works here).
>
> The 29af05aeb98e will brick the macb driver for AVR32, as readZ_relaxed
> translates to readZ calls, which turns into le_to_cpu reads.
>
>> In this case the readl/writel relaxed will do the opposite of __raw
>> accesors which arleady work. Add an indirection of cdneth_ prefixed
>> accesors which are changed as necessary. Also do not issue the DMA
>> descritpor endian fetch configuration for AVR32.
>>
>> From discussions with Arnd Bergman, the following fix changes the use
>> of readl_relaxed and writel_relaxed with a version that can be put
>> back to __raw_readl/__raw_writel for the CONFIG_AVR32 case (and also
>> remove the change to the DMA descriptor endian).
>
> Thank you for spotting this.
>
>> Signed-off-by: Ben Dooks <ben.dooks@xxxxxxxxxxxxxxx>
>> Reported-by: Arnd Bergmann <arnd@xxxxxxxx>
>
> Acked-by: Hans-Christian Egtvedt <egtvedt@xxxxxxxxxxxx>

Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx>

>> --
>> CC: Linux Networking List <netdev@xxxxxxxxxxxxxxx>
>> CC: Arun Chandran <achandran@xxxxxxxxxx>
>> CC: Haavard Skinnemoen <hskinnemoen@xxxxxxxxx>
>> CC: Hans-Christian Egtvedt <egtvedt@xxxxxxxxxxxx>
>> CC: Linux Kernel List <linux-kernel@xxxxxxxxxxxxxxx>
>> CC: Nicolas Ferre <nicolas.ferre@xxxxxxxxx>
>> ---
>> drivers/net/ethernet/cadence/macb.c | 14 +++++++-------
>> drivers/net/ethernet/cadence/macb.h | 20 ++++++++++++++------
>> 2 files changed, 21 insertions(+), 13 deletions(-)
>
> <snipp diff>
>


--
Nicolas Ferre
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/