Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1631563

[PATCH net-next 17/18] net: dsa: mv88e6xxx: support the VTU Page bit

From Vivien Didelot <vivien.didelot@savoirfairelinux.com>
Newsgroups linux.kernel
Subject [PATCH net-next 17/18] net: dsa: mv88e6xxx: support the VTU Page bit
Date 2017-04-26 18:00 +0200
Message-ID <tAxwe-4hS-19@gated-at.bofh.it> (permalink)
References <tAxwd-4hS-3@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


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

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH net-next 00/18] net: dsa: mv88e6xxx: 802.1s and 88E6390 VTU Vivien Didelot <vivien.didelot@savoirfairelinux.com> - 2017-04-26 18:00 +0200
  [PATCH net-next 02/18] net: dsa: mv88e6xxx: split VTU entry data member Vivien Didelot <vivien.didelot@savoirfairelinux.com> - 2017-04-26 18:00 +0200
    Re: [PATCH net-next 02/18] net: dsa: mv88e6xxx: split VTU entry data  member Andrew Lunn <andrew@lunn.ch> - 2017-04-27 20:30 +0200
  [PATCH net-next 11/18] net: dsa: mv88e6xxx: get STU entry on VTU GetNext Vivien Didelot <vivien.didelot@savoirfairelinux.com> - 2017-04-26 18:00 +0200
    Re: [PATCH net-next 11/18] net: dsa: mv88e6xxx: get STU entry on VTU  GetNext Andrew Lunn <andrew@lunn.ch> - 2017-04-27 22:20 +0200
  [PATCH net-next 13/18] net: dsa: mv88e6xxx: add VTU GetNext operation Vivien Didelot <vivien.didelot@savoirfairelinux.com> - 2017-04-26 18:00 +0200
    Re: [PATCH net-next 13/18] net: dsa: mv88e6xxx: add VTU GetNext  operation Andrew Lunn <andrew@lunn.ch> - 2017-04-28 04:20 +0200
  [PATCH net-next 17/18] net: dsa: mv88e6xxx: support the VTU Page bit Vivien Didelot <vivien.didelot@savoirfairelinux.com> - 2017-04-26 18:00 +0200
    Re: [PATCH net-next 17/18] net: dsa: mv88e6xxx: support the VTU Page  bit Andrew Lunn <andrew@lunn.ch> - 2017-04-28 15:00 +0200
      Re: [PATCH net-next 17/18] net: dsa: mv88e6xxx: support the VTU Page bit Vivien Didelot <vivien.didelot@savoirfairelinux.com> - 2017-04-28 16:30 +0200
        Re: [PATCH net-next 17/18] net: dsa: mv88e6xxx: support the VTU Page  bit Andrew Lunn <andrew@lunn.ch> - 2017-04-28 17:00 +0200
  [PATCH net-next 04/18] net: dsa: mv88e6xxx: move VTU flush Vivien Didelot <vivien.didelot@savoirfairelinux.com> - 2017-04-26 18:00 +0200
    Re: [PATCH net-next 04/18] net: dsa: mv88e6xxx: move VTU flush Andrew Lunn <andrew@lunn.ch> - 2017-04-27 20:40 +0200
  [PATCH net-next 14/18] net: dsa: mv88e6xxx: add VTU Load/Purge operation Vivien Didelot <vivien.didelot@savoirfairelinux.com> - 2017-04-26 18:00 +0200
    Re: [PATCH net-next 14/18] net: dsa: mv88e6xxx: add VTU Load/Purge  operation Andrew Lunn <andrew@lunn.ch> - 2017-04-28 04:20 +0200
  [PATCH net-next 09/18] net: dsa: mv88e6xxx: move VTU Data accessors Vivien Didelot <vivien.didelot@savoirfairelinux.com> - 2017-04-26 18:00 +0200
    Re: [PATCH net-next 09/18] net: dsa: mv88e6xxx: move VTU Data  accessors Andrew Lunn <andrew@lunn.ch> - 2017-04-27 21:20 +0200
  [PATCH net-next 01/18] net: dsa: mv88e6xxx: add max VID to info Vivien Didelot <vivien.didelot@savoirfairelinux.com> - 2017-04-26 18:00 +0200
    Re: [PATCH net-next 01/18] net: dsa: mv88e6xxx: add max VID to info Andrew Lunn <andrew@lunn.ch> - 2017-04-26 18:10 +0200
  [PATCH net-next 10/18] net: dsa: mv88e6xxx: move STU GetNext operation Vivien Didelot <vivien.didelot@savoirfairelinux.com> - 2017-04-26 18:00 +0200
    Re: [PATCH net-next 10/18] net: dsa: mv88e6xxx: move STU GetNext  operation Andrew Lunn <andrew@lunn.ch> - 2017-04-27 21:50 +0200
  [PATCH net-next 03/18] net: dsa: mv88e6xxx: move VTU Operation accessors Vivien Didelot <vivien.didelot@savoirfairelinux.com> - 2017-04-26 18:00 +0200
    Re: [PATCH net-next 03/18] net: dsa: mv88e6xxx: move VTU Operation  accessors Andrew Lunn <andrew@lunn.ch> - 2017-04-27 20:40 +0200
    Re: [PATCH net-next 03/18] net: dsa: mv88e6xxx: move VTU Operation  accessors Andrew Lunn <andrew@lunn.ch> - 2017-04-27 20:40 +0200
  [PATCH net-next 07/18] net: dsa: mv88e6xxx: move VTU VID accessors Vivien Didelot <vivien.didelot@savoirfairelinux.com> - 2017-04-26 18:00 +0200
    Re: [PATCH net-next 07/18] net: dsa: mv88e6xxx: move VTU VID  accessors Andrew Lunn <andrew@lunn.ch> - 2017-04-27 21:00 +0200
  [PATCH net-next 16/18] net: dsa: mv88e6xxx: simplify VTU entry getter Vivien Didelot <vivien.didelot@savoirfairelinux.com> - 2017-04-26 18:10 +0200
    Re: [PATCH net-next 16/18] net: dsa: mv88e6xxx: simplify VTU entry  getter Andrew Lunn <andrew@lunn.ch> - 2017-04-28 04:30 +0200
  [PATCH net-next 06/18] net: dsa: mv88e6xxx: move VTU SID accessors Vivien Didelot <vivien.didelot@savoirfairelinux.com> - 2017-04-26 18:10 +0200
    Re: [PATCH net-next 06/18] net: dsa: mv88e6xxx: move VTU SID  accessors Andrew Lunn <andrew@lunn.ch> - 2017-04-27 20:40 +0200
  [PATCH net-next 08/18] net: dsa: mv88e6xxx: move generic VTU GetNext Vivien Didelot <vivien.didelot@savoirfairelinux.com> - 2017-04-26 18:10 +0200
    Re: [PATCH net-next 08/18] net: dsa: mv88e6xxx: move generic VTU  GetNext Andrew Lunn <andrew@lunn.ch> - 2017-04-27 21:00 +0200
      Re: [PATCH net-next 08/18] net: dsa: mv88e6xxx: move generic VTU GetNext Vivien Didelot <vivien.didelot@savoirfairelinux.com> - 2017-04-28 17:10 +0200
  [PATCH net-next 12/18] net: dsa: mv88e6xxx: load STU entry with VTU entry Vivien Didelot <vivien.didelot@savoirfairelinux.com> - 2017-04-26 18:10 +0200
    Re: [PATCH net-next 12/18] net: dsa: mv88e6xxx: load STU entry with  VTU entry Andrew Lunn <andrew@lunn.ch> - 2017-04-28 04:10 +0200
  [PATCH net-next 05/18] net: dsa: mv88e6xxx: move VTU FID accessors Vivien Didelot <vivien.didelot@savoirfairelinux.com> - 2017-04-26 18:10 +0200
    Re: [PATCH net-next 05/18] net: dsa: mv88e6xxx: move VTU FID  accessors Andrew Lunn <andrew@lunn.ch> - 2017-04-27 20:40 +0200
  Re: [PATCH net-next 00/18] net: dsa: mv88e6xxx: 802.1s and 88E6390 VTU Vivien Didelot <vivien.didelot@savoirfairelinux.com> - 2017-05-01 18:00 +0200
    Re: [PATCH net-next 00/18] net: dsa: mv88e6xxx: 802.1s and 88E6390  VTU David Miller <davem@davemloft.net> - 2017-05-01 18:10 +0200
      Re: [PATCH net-next 00/18] net: dsa: mv88e6xxx: 802.1s and 88E6390  VTU Andrew Lunn <andrew@lunn.ch> - 2017-05-01 18:30 +0200
        Re: [PATCH net-next 00/18] net: dsa: mv88e6xxx: 802.1s and 88E6390 VTU Vivien Didelot <vivien.didelot@savoirfairelinux.com> - 2017-05-01 19:20 +0200
      Re: [PATCH net-next 00/18] net: dsa: mv88e6xxx: 802.1s and 88E6390 VTU Vivien Didelot <vivien.didelot@savoirfairelinux.com> - 2017-05-01 18:30 +0200
        Re: [PATCH net-next 00/18] net: dsa: mv88e6xxx: 802.1s and 88E6390  VTU David Miller <davem@davemloft.net> - 2017-05-01 18:30 +0200
          Re: [PATCH net-next 00/18] net: dsa: mv88e6xxx: 802.1s and 88E6390 VTU Vivien Didelot <vivien.didelot@savoirfairelinux.com> - 2017-05-01 18:40 +0200

csiph-web