linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Vivien Didelot <vivien.didelot@savoirfairelinux.com>
To: netdev@vger.kernel.org
Cc: linux-kernel@vger.kernel.org, kernel@savoirfairelinux.com,
	"David S. Miller" <davem@davemloft.net>,
	Florian Fainelli <f.fainelli@gmail.com>,
	Andrew Lunn <andrew@lunn.ch>,
	Vivien Didelot <vivien.didelot@savoirfairelinux.com>
Subject: [PATCH net-next 17/18] net: dsa: mv88e6xxx: support the VTU Page bit
Date: Wed, 26 Apr 2017 11:53:35 -0400	[thread overview]
Message-ID: <20170426155336.5937-18-vivien.didelot@savoirfairelinux.com> (raw)
In-Reply-To: <20170426155336.5937-1-vivien.didelot@savoirfairelinux.com>

Newer chips such as the 88E6390 have a VTU Page bit in the VTU VID
register to specify a 13th bit for the VID. This can be used to support
8K VLANs.

When dumping the whole VTU, all VID bits must be set to one, including
this VTU Page bit. Add support for VID greater than 4095.

Signed-off-by: Vivien Didelot <vivien.didelot@savoirfairelinux.com>
---
 drivers/net/dsa/mv88e6xxx/global1_vtu.c | 7 +++++++
 drivers/net/dsa/mv88e6xxx/mv88e6xxx.h   | 1 +
 2 files changed, 8 insertions(+)

diff --git a/drivers/net/dsa/mv88e6xxx/global1_vtu.c b/drivers/net/dsa/mv88e6xxx/global1_vtu.c
index cb0f3359d60b..2ad080291208 100644
--- a/drivers/net/dsa/mv88e6xxx/global1_vtu.c
+++ b/drivers/net/dsa/mv88e6xxx/global1_vtu.c
@@ -95,6 +95,10 @@ static int mv88e6xxx_g1_vtu_vid_read(struct mv88e6xxx_chip *chip,
 		return err;
 
 	entry->vid = val & 0xfff;
+
+	if (val & GLOBAL_VTU_VID_PAGE)
+		entry->vid |= 0x1000;
+
 	entry->valid = !!(val & GLOBAL_VTU_VID_VALID);
 
 	return 0;
@@ -105,6 +109,9 @@ static int mv88e6xxx_g1_vtu_vid_write(struct mv88e6xxx_chip *chip,
 {
 	u16 val = entry->vid & 0xfff;
 
+	if (entry->vid & 0x1000)
+		val |= GLOBAL_VTU_VID_PAGE;
+
 	if (entry->valid)
 		val |= GLOBAL_VTU_VID_VALID;
 
diff --git a/drivers/net/dsa/mv88e6xxx/mv88e6xxx.h b/drivers/net/dsa/mv88e6xxx/mv88e6xxx.h
index a0d57b10acfe..77236cd72df2 100644
--- a/drivers/net/dsa/mv88e6xxx/mv88e6xxx.h
+++ b/drivers/net/dsa/mv88e6xxx/mv88e6xxx.h
@@ -249,6 +249,7 @@
 #define GLOBAL_VTU_OP_STU_GET_NEXT	((0x06 << 12) | GLOBAL_VTU_OP_BUSY)
 #define GLOBAL_VTU_VID		0x06
 #define GLOBAL_VTU_VID_MASK	0xfff
+#define GLOBAL_VTU_VID_PAGE	BIT(13)
 #define GLOBAL_VTU_VID_VALID	BIT(12)
 #define GLOBAL_VTU_DATA_0_3	0x07
 #define GLOBAL_VTU_DATA_4_7	0x08
-- 
2.12.2

  parent reply	other threads:[~2017-04-26 15:59 UTC|newest]

Thread overview: 48+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-04-26 15:53 [PATCH net-next 00/18] net: dsa: mv88e6xxx: 802.1s and 88E6390 VTU Vivien Didelot
2017-04-26 15:53 ` [PATCH net-next 01/18] net: dsa: mv88e6xxx: add max VID to info Vivien Didelot
2017-04-26 16:04   ` Andrew Lunn
2017-04-26 15:53 ` [PATCH net-next 02/18] net: dsa: mv88e6xxx: split VTU entry data member Vivien Didelot
2017-04-27 18:25   ` Andrew Lunn
2017-04-26 15:53 ` [PATCH net-next 03/18] net: dsa: mv88e6xxx: move VTU Operation accessors Vivien Didelot
2017-04-27 18:32   ` Andrew Lunn
2017-04-27 18:33   ` Andrew Lunn
2017-04-26 15:53 ` [PATCH net-next 04/18] net: dsa: mv88e6xxx: move VTU flush Vivien Didelot
2017-04-27 18:34   ` Andrew Lunn
2017-04-26 15:53 ` [PATCH net-next 05/18] net: dsa: mv88e6xxx: move VTU FID accessors Vivien Didelot
2017-04-27 18:35   ` Andrew Lunn
2017-04-26 15:53 ` [PATCH net-next 06/18] net: dsa: mv88e6xxx: move VTU SID accessors Vivien Didelot
2017-04-27 18:37   ` Andrew Lunn
2017-04-26 15:53 ` [PATCH net-next 07/18] net: dsa: mv88e6xxx: move VTU VID accessors Vivien Didelot
2017-04-27 18:51   ` Andrew Lunn
2017-04-26 15:53 ` [PATCH net-next 08/18] net: dsa: mv88e6xxx: move generic VTU GetNext Vivien Didelot
2017-04-27 18:59   ` Andrew Lunn
2017-04-28 15:07     ` Vivien Didelot
2017-04-26 15:53 ` [PATCH net-next 09/18] net: dsa: mv88e6xxx: move VTU Data accessors Vivien Didelot
2017-04-27 19:19   ` Andrew Lunn
2017-04-26 15:53 ` [PATCH net-next 10/18] net: dsa: mv88e6xxx: move STU GetNext operation Vivien Didelot
2017-04-27 19:43   ` Andrew Lunn
2017-04-26 15:53 ` [PATCH net-next 11/18] net: dsa: mv88e6xxx: get STU entry on VTU GetNext Vivien Didelot
2017-04-27 20:17   ` Andrew Lunn
2017-04-26 15:53 ` [PATCH net-next 12/18] net: dsa: mv88e6xxx: load STU entry with VTU entry Vivien Didelot
2017-04-28  2:07   ` Andrew Lunn
2017-04-26 15:53 ` [PATCH net-next 13/18] net: dsa: mv88e6xxx: add VTU GetNext operation Vivien Didelot
2017-04-28  2:10   ` Andrew Lunn
2017-04-26 15:53 ` [PATCH net-next 14/18] net: dsa: mv88e6xxx: add VTU Load/Purge operation Vivien Didelot
2017-04-28  2:14   ` Andrew Lunn
2017-04-26 15:53 ` [PATCH net-next 15/18] net: dsa: mv88e6xxx: make VTU helpers static Vivien Didelot
2017-04-28  2:15   ` Andrew Lunn
2017-04-26 15:53 ` [PATCH net-next 16/18] net: dsa: mv88e6xxx: simplify VTU entry getter Vivien Didelot
2017-04-28  2:19   ` Andrew Lunn
2017-04-26 15:53 ` Vivien Didelot [this message]
2017-04-28 12:53   ` [PATCH net-next 17/18] net: dsa: mv88e6xxx: support the VTU Page bit Andrew Lunn
2017-04-28 14:25     ` Vivien Didelot
2017-04-28 14:52       ` Andrew Lunn
2017-04-26 15:53 ` [PATCH net-next 18/18] net: dsa: mv88e6xxx: add VTU support for 88E6390 Vivien Didelot
2017-04-28 12:55   ` Andrew Lunn
2017-05-01 15:51 ` [PATCH net-next 00/18] net: dsa: mv88e6xxx: 802.1s and 88E6390 VTU Vivien Didelot
2017-05-01 16:08   ` David Miller
2017-05-01 16:21     ` Vivien Didelot
2017-05-01 16:25       ` Andrew Lunn
2017-05-01 17:16         ` Vivien Didelot
2017-05-01 16:26       ` David Miller
2017-05-01 16:36         ` Vivien Didelot

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20170426155336.5937-18-vivien.didelot@savoirfairelinux.com \
    --to=vivien.didelot@savoirfairelinux.com \
    --cc=andrew@lunn.ch \
    --cc=davem@davemloft.net \
    --cc=f.fainelli@gmail.com \
    --cc=kernel@savoirfairelinux.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).