From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maxime Chevallier Subject: [PATCH net-next 0/4] net: mvpp2: Add big-endian support Date: Thu, 28 Jun 2018 14:42:03 +0200 Message-ID: <20180628124207.11635-1-maxime.chevallier@bootlin.com> Cc: Maxime Chevallier , netdev@vger.kernel.org, linux-kernel@vger.kernel.org, Antoine Tenart , thomas.petazzoni@bootlin.com, gregory.clement@bootlin.com, miquel.raynal@bootlin.com, nadavh@marvell.com, stefanc@marvell.com, ymarkman@marvell.com, mw@semihalf.com To: davem@davemloft.net Return-path: Sender: linux-kernel-owner@vger.kernel.org List-Id: netdev.vger.kernel.org This series allows to use PPv2 on system built as big endian. The first patch fixes the way we represent TX and RX descriptors, so that they used fixed little endianness as expected by the PPv2 controller. The second reworks the way we handle the software representation of the Header Parser entries, so that we don't use a union of arrays. The last two patches fixes some incorrect byte swapping logic, that wen't un-noticed on little-endian. This whole series doesn't fix any existing bug for little-endian systems, and since big-endian never worked for this driver, I didn't include 'fixes' tags. This was tested on MacchiatoBin (Armada 8040). Maxime Chevallier (4): net: mvpp2: Make TX / RX descriptors little-endian net: mvpp2: prs: Drop unions representing TCAM and SRAM entries net: mvpp2: prs: Drop unnecessary swab16 in vlan detection net: mvpp2: Use htons when checking protocol info drivers/net/ethernet/marvell/mvpp2/mvpp2.h | 58 ++++----- drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c | 43 ++++--- drivers/net/ethernet/marvell/mvpp2/mvpp2_prs.c | 155 +++++++++++------------- drivers/net/ethernet/marvell/mvpp2/mvpp2_prs.h | 41 +++---- 4 files changed, 141 insertions(+), 156 deletions(-) -- 2.11.0