OSDN Git Service

net: mvneta: Use cacheable memory to store the rx buffer virtual address
authorGregory CLEMENT <gregory.clement@free-electrons.com>
Thu, 1 Dec 2016 17:03:06 +0000 (18:03 +0100)
committerDavid S. Miller <davem@davemloft.net>
Fri, 2 Dec 2016 18:52:00 +0000 (13:52 -0500)
commitf88bee1c4bfa4faad8aeab75502cc76244a06291
tree85155be58ad75558c9ab24caf1b8de012931517b
parente9f6499965c64109e296f61e3aa7fd91f9f2233c
net: mvneta: Use cacheable memory to store the rx buffer virtual address

Until now the virtual address of the received buffer were stored in the
cookie field of the rx descriptor. However, this field is 32-bits only
which prevents to use the driver on a 64-bits architecture.

With this patch the virtual address is stored in an array not shared with
the hardware (no more need to use the DMA API). Thanks to this, it is
possible to use cache contrary to the access of the rx descriptor member.

The change is done in the swbm path only because the hwbm uses the cookie
field, this also means that currently the hwbm is not usable in 64-bits.

Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
Reviewed-by: Jisheng Zhang <jszhang@marvell.com>
Tested-by: Marcin Wojtas <mw@semihalf.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/marvell/mvneta.c