lkml.org 
[lkml]   [2016]   [Mar]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRe: [PATCH V3] net: ezchip: adapt driver to little endian architecture
Date
On Thursday 03 March 2016 17:07:46 Lada Trimasova wrote:
> From: Lada Trimasova <Lada.Trimasova@synopsys.com>
> To: netdev@vger.kernel.org
> CC: linux-kernel@vger.kernel.org, Lada Trimasova <Lada.Trimasova@synopsys.com>, Alexey Brodkin <Alexey.Brodkin@synopsys.com>, Noam Camus <noamc@ezchip.com>, Tal Zilcer <talz@ezchip.com>, Arnd Bergmann <arnd@arndb.de>
> Date: Today 15:07:46
> Since ezchip network driver is written with big endian EZChip platform it
> is necessary to add support for little endian architecture.
>
> The first issue is that the order of the bits in a bit field is
> implementation specific. So all the bit fields are removed.
> Named constants are used to access necessary fields.
>
> And the second one is that network byte order is big endian.
> For example, data on ethernet is transmitted with most-significant
> octet (byte) first. So in case of little endian architecture
> it is important to swap data byte order when we read it from
> register. In case of unaligned access we can use "get_unaligned_be32"
> and in other case we can use function "ioread32_rep" which reads all
> data from register and works either with little endian or big endian
> architecture.
>
> And then when we are going to write data to register we need to restore
> byte order using the function "put_unaligned_be32" in case of
> unaligned access and in other case "iowrite32_rep".
>
> The last little fix is a space between type and pointer to observe
> coding style.
>
> Signed-off-by: Lada Trimasova <ltrimas@synopsys.com>
> Cc: Alexey Brodkin <abrodkin@synopsys.com>
> Cc: Noam Camus <noamc@ezchip.com>
> Cc: Tal Zilcer <talz@ezchip.com>
> Cc: Arnd Bergmann <arnd@arndb.de>
>

Acked-by: Arnd Bergmann <arnd@arndb.de>

\
 
 \ /
  Last update: 2016-03-03 15:41    [W:0.050 / U:0.044 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site