* [PATCH 0/6] Configurable VLAN mode for NCSI driver
@ 2022-06-10 16:45 Jiaqing Zhao
2022-06-10 16:45 ` [PATCH 1/6] net/ncsi: Fix value of NCSI_CAP_VLAN_ANY Jiaqing Zhao
` (5 more replies)
0 siblings, 6 replies; 8+ messages in thread
From: Jiaqing Zhao @ 2022-06-10 16:45 UTC (permalink / raw)
To: Samuel Mendoza-Jonas, David S . Miller, netdev, devicetree, linux-kernel
Cc: Jiaqing Zhao
Currently kernel kernel NCSI driver only supports the "VLAN + non-VLAN"
mode (Mode #2), but this mode is an optional mode [1] defined in NCSI
specification and some NCSI devices like Intel E810 Network Adapter [2]
does not support that mode. This patchset adds a new "ncsi,vlan-mode"
device tree property for configuring the VLAN mode of NCSI device.
[1] Table 58 - VLAN Enable Modes
https://www.dmtf.org/sites/default/files/standards/documents/DSP0222_1.0.0.pdf
[2] 12.6.5.4.3 VLAN
https://cdrdv2.intel.com/v1/dl/getContent/613875
Jiaqing Zhao (6):
net/ncsi: Fix value of NCSI_CAP_VLAN_ANY
net/ncsi: Rename NCSI_CAP_VLAN_NO to NCSI_CAP_VLAN_FILTERED
net/ncsi: Enable VLAN filtering when callback is registered
ftgmac100: Remove enable NCSI VLAN filtering
dt-bindings: net: Add NCSI bindings
net/ncsi: Support VLAN mode configuration
.../devicetree/bindings/net/ncsi.yaml | 34 ++++++++++++++
MAINTAINERS | 2 +
drivers/net/ethernet/faraday/ftgmac100.c | 3 --
include/dt-bindings/net/ncsi.h | 15 ++++++
net/ncsi/internal.h | 5 +-
net/ncsi/ncsi-manage.c | 46 ++++++++++++++++---
6 files changed, 93 insertions(+), 12 deletions(-)
create mode 100644 Documentation/devicetree/bindings/net/ncsi.yaml
create mode 100644 include/dt-bindings/net/ncsi.h
--
2.34.1
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH 1/6] net/ncsi: Fix value of NCSI_CAP_VLAN_ANY
2022-06-10 16:45 [PATCH 0/6] Configurable VLAN mode for NCSI driver Jiaqing Zhao
@ 2022-06-10 16:45 ` Jiaqing Zhao
2022-06-10 16:45 ` [PATCH 2/6] net/ncsi: Rename NCSI_CAP_VLAN_NO to NCSI_CAP_VLAN_FILTERED Jiaqing Zhao
` (4 subsequent siblings)
5 siblings, 0 replies; 8+ messages in thread
From: Jiaqing Zhao @ 2022-06-10 16:45 UTC (permalink / raw)
To: Samuel Mendoza-Jonas, David S . Miller, netdev, devicetree, linux-kernel
Cc: Jiaqing Zhao
According to the NCSI specification (DSP0222) [1], the value of allow
Any VLAN + non-VLAN mode in Enable VLAN command should be 0x03.
[1] https://www.dmtf.org/sites/default/files/standards/documents/DSP0222_1.0.0.pdf
Signed-off-by: Jiaqing Zhao <jiaqing.zhao@linux.intel.com>
---
net/ncsi/internal.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/net/ncsi/internal.h b/net/ncsi/internal.h
index 03757e76bb6b..bc4a00e41695 100644
--- a/net/ncsi/internal.h
+++ b/net/ncsi/internal.h
@@ -47,7 +47,7 @@ enum {
NCSI_CAP_AEN_MASK = 0x07,
NCSI_CAP_VLAN_ONLY = 0x01, /* Filter VLAN packet only */
NCSI_CAP_VLAN_NO = 0x02, /* Filter VLAN and non-VLAN */
- NCSI_CAP_VLAN_ANY = 0x04, /* Filter Any-and-non-VLAN */
+ NCSI_CAP_VLAN_ANY = 0x03, /* Filter Any-and-non-VLAN */
NCSI_CAP_VLAN_MASK = 0x07
};
--
2.34.1
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH 2/6] net/ncsi: Rename NCSI_CAP_VLAN_NO to NCSI_CAP_VLAN_FILTERED
2022-06-10 16:45 [PATCH 0/6] Configurable VLAN mode for NCSI driver Jiaqing Zhao
2022-06-10 16:45 ` [PATCH 1/6] net/ncsi: Fix value of NCSI_CAP_VLAN_ANY Jiaqing Zhao
@ 2022-06-10 16:45 ` Jiaqing Zhao
2022-06-10 16:45 ` [PATCH 3/6] net/ncsi: Enable VLAN filtering when callback is registered Jiaqing Zhao
` (3 subsequent siblings)
5 siblings, 0 replies; 8+ messages in thread
From: Jiaqing Zhao @ 2022-06-10 16:45 UTC (permalink / raw)
To: Samuel Mendoza-Jonas, David S . Miller, netdev, devicetree, linux-kernel
Cc: Jiaqing Zhao
The NCSI_CAP_VLAN_NO actually stands for the "VLAN + non-VLAN" mode
defined in NCSI spec, which accepts both VLAN-tagged packets that match
the enabled VLAN filter settings and non-VLAN-tagged packets. It would
be more clear to rename it to NCSI_CAP_VLAN_FILTERED.
Signed-off-by: Jiaqing Zhao <jiaqing.zhao@linux.intel.com>
---
net/ncsi/internal.h | 2 +-
net/ncsi/ncsi-manage.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/net/ncsi/internal.h b/net/ncsi/internal.h
index bc4a00e41695..7f384f841019 100644
--- a/net/ncsi/internal.h
+++ b/net/ncsi/internal.h
@@ -46,7 +46,7 @@ enum {
NCSI_CAP_AEN_HDS = 0x04, /* HNC driver status */
NCSI_CAP_AEN_MASK = 0x07,
NCSI_CAP_VLAN_ONLY = 0x01, /* Filter VLAN packet only */
- NCSI_CAP_VLAN_NO = 0x02, /* Filter VLAN and non-VLAN */
+ NCSI_CAP_VLAN_FILTERED = 0x02, /* Filter VLAN and non-VLAN */
NCSI_CAP_VLAN_ANY = 0x03, /* Filter Any-and-non-VLAN */
NCSI_CAP_VLAN_MASK = 0x07
};
diff --git a/net/ncsi/ncsi-manage.c b/net/ncsi/ncsi-manage.c
index 78814417d753..a8f7a2ff52a0 100644
--- a/net/ncsi/ncsi-manage.c
+++ b/net/ncsi/ncsi-manage.c
@@ -1098,7 +1098,7 @@ static void ncsi_configure_channel(struct ncsi_dev_priv *ndp)
nca.type = NCSI_PKT_CMD_DV;
} else {
nca.type = NCSI_PKT_CMD_EV;
- nca.bytes[3] = NCSI_CAP_VLAN_NO;
+ nca.bytes[3] = NCSI_CAP_VLAN_FILTERED;
}
nd->state = ncsi_dev_state_config_sma;
} else if (nd->state == ncsi_dev_state_config_sma) {
--
2.34.1
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH 3/6] net/ncsi: Enable VLAN filtering when callback is registered
2022-06-10 16:45 [PATCH 0/6] Configurable VLAN mode for NCSI driver Jiaqing Zhao
2022-06-10 16:45 ` [PATCH 1/6] net/ncsi: Fix value of NCSI_CAP_VLAN_ANY Jiaqing Zhao
2022-06-10 16:45 ` [PATCH 2/6] net/ncsi: Rename NCSI_CAP_VLAN_NO to NCSI_CAP_VLAN_FILTERED Jiaqing Zhao
@ 2022-06-10 16:45 ` Jiaqing Zhao
2022-06-10 16:45 ` [PATCH 4/6] ftgmac100: Remove enable NCSI VLAN filtering Jiaqing Zhao
` (2 subsequent siblings)
5 siblings, 0 replies; 8+ messages in thread
From: Jiaqing Zhao @ 2022-06-10 16:45 UTC (permalink / raw)
To: Samuel Mendoza-Jonas, David S . Miller, netdev, devicetree, linux-kernel
Cc: Jiaqing Zhao
Sets NETIF_F_HW_VLAN_CTAG_FILTER flag to enable hardware VLAN filtering
of NCSI when the ndo_vlan_rx_{add,kill}_vid callbacks are registered to
the NCSI handlers. Previously it was done in the mac driver, this patch
puts it to the NCSI drvier to make it more general.
Signed-off-by: Jiaqing Zhao <jiaqing.zhao@linux.intel.com>
---
net/ncsi/ncsi-manage.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/net/ncsi/ncsi-manage.c b/net/ncsi/ncsi-manage.c
index a8f7a2ff52a0..3fb95f29e3e2 100644
--- a/net/ncsi/ncsi-manage.c
+++ b/net/ncsi/ncsi-manage.c
@@ -1807,6 +1807,11 @@ struct ncsi_dev *ncsi_register_dev(struct net_device *dev,
ndp->mlx_multi_host = true;
}
+ /* Enable hardware VLAN filtering */
+ if (dev->netdev_ops->ndo_vlan_rx_add_vid == ncsi_vlan_rx_add_vid &&
+ dev->netdev_ops->ndo_vlan_rx_kill_vid == ncsi_vlan_rx_kill_vid)
+ dev->hw_features |= NETIF_F_HW_VLAN_CTAG_FILTER;
+
return nd;
}
EXPORT_SYMBOL_GPL(ncsi_register_dev);
--
2.34.1
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH 4/6] ftgmac100: Remove enable NCSI VLAN filtering
2022-06-10 16:45 [PATCH 0/6] Configurable VLAN mode for NCSI driver Jiaqing Zhao
` (2 preceding siblings ...)
2022-06-10 16:45 ` [PATCH 3/6] net/ncsi: Enable VLAN filtering when callback is registered Jiaqing Zhao
@ 2022-06-10 16:45 ` Jiaqing Zhao
2022-06-10 16:45 ` [PATCH 5/6] dt-bindings: net: Add NCSI bindings Jiaqing Zhao
2022-06-10 16:45 ` [PATCH 6/6] net/ncsi: Support VLAN mode configuration Jiaqing Zhao
5 siblings, 0 replies; 8+ messages in thread
From: Jiaqing Zhao @ 2022-06-10 16:45 UTC (permalink / raw)
To: Samuel Mendoza-Jonas, David S . Miller, netdev, devicetree, linux-kernel
Cc: Jiaqing Zhao
Setting NETIF_F_HW_VLAN_CTAG_FILTER flag to enable NCSI VLAN filtering
has been moved to the NCSI driver, the logic in ftgmac100 driver is no
longer needed.
Signed-off-by: Jiaqing Zhao <jiaqing.zhao@linux.intel.com>
---
drivers/net/ethernet/faraday/ftgmac100.c | 3 ---
1 file changed, 3 deletions(-)
diff --git a/drivers/net/ethernet/faraday/ftgmac100.c b/drivers/net/ethernet/faraday/ftgmac100.c
index 5231818943c6..18821ca38795 100644
--- a/drivers/net/ethernet/faraday/ftgmac100.c
+++ b/drivers/net/ethernet/faraday/ftgmac100.c
@@ -1922,9 +1922,6 @@ static int ftgmac100_probe(struct platform_device *pdev)
NETIF_F_GRO | NETIF_F_SG | NETIF_F_HW_VLAN_CTAG_RX |
NETIF_F_HW_VLAN_CTAG_TX;
- if (priv->use_ncsi)
- netdev->hw_features |= NETIF_F_HW_VLAN_CTAG_FILTER;
-
/* AST2400 doesn't have working HW checksum generation */
if (np && (of_device_is_compatible(np, "aspeed,ast2400-mac")))
netdev->hw_features &= ~NETIF_F_HW_CSUM;
--
2.34.1
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH 5/6] dt-bindings: net: Add NCSI bindings
2022-06-10 16:45 [PATCH 0/6] Configurable VLAN mode for NCSI driver Jiaqing Zhao
` (3 preceding siblings ...)
2022-06-10 16:45 ` [PATCH 4/6] ftgmac100: Remove enable NCSI VLAN filtering Jiaqing Zhao
@ 2022-06-10 16:45 ` Jiaqing Zhao
2022-06-10 16:45 ` [PATCH 6/6] net/ncsi: Support VLAN mode configuration Jiaqing Zhao
5 siblings, 0 replies; 8+ messages in thread
From: Jiaqing Zhao @ 2022-06-10 16:45 UTC (permalink / raw)
To: Samuel Mendoza-Jonas, David S . Miller, netdev, devicetree, linux-kernel
Cc: Jiaqing Zhao
Add devicetree bindings for NCSI VLAN modes. This allows VLAN mode to
be configured in devicetree.
Signed-off-by: Jiaqing Zhao <jiaqing.zhao@linux.intel.com>
---
.../devicetree/bindings/net/ncsi.yaml | 34 +++++++++++++++++++
MAINTAINERS | 2 ++
include/dt-bindings/net/ncsi.h | 15 ++++++++
3 files changed, 51 insertions(+)
create mode 100644 Documentation/devicetree/bindings/net/ncsi.yaml
create mode 100644 include/dt-bindings/net/ncsi.h
diff --git a/Documentation/devicetree/bindings/net/ncsi.yaml b/Documentation/devicetree/bindings/net/ncsi.yaml
new file mode 100644
index 000000000000..ec76ae9a77a9
--- /dev/null
+++ b/Documentation/devicetree/bindings/net/ncsi.yaml
@@ -0,0 +1,34 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/net/ncsi.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Network Controller Sideband Interface (NCSI)
+
+maintainers:
+ - Samuel Mendoza-Jonas <sam@mendozajonas.com>
+
+description: |
+ Bindings for the Network Controller Sideband Interface (NCSI) driver
+
+properties:
+ ncsi,vlan-mode:
+ description: VLAN mode used on the NCSI device.
+ $ref: /schemas/types.yaml#/definitions/uint32
+ enum: [0, 1, 2, 3]
+
+examples:
+ - |
+ #include <dt-bindings/net/ncsi.h>
+
+ mac0: ethernet@1e660000 {
+ compatible = "aspeed,ast2600-mac", "faraday,ftgmac100";
+ reg = <0x1e660000 0x180>;
+ status = "okay";
+
+ use-ncsi;
+ ncsi,vlan-mode = <NCSI_VLAN_MODE_ANY>;
+ };
+
+...
diff --git a/MAINTAINERS b/MAINTAINERS
index f468864fd268..199e4b5bceab 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -13534,6 +13534,8 @@ F: drivers/scsi/sun3_scsi_vme.c
NCSI LIBRARY
M: Samuel Mendoza-Jonas <sam@mendozajonas.com>
S: Maintained
+F: Documentation/devicetree/bindings/net/ncsi.yaml
+F: include/dt-bindings/net/ncsi.h
F: net/ncsi/
NCT6775 HARDWARE MONITOR DRIVER
diff --git a/include/dt-bindings/net/ncsi.h b/include/dt-bindings/net/ncsi.h
new file mode 100644
index 000000000000..19eb9a5db08b
--- /dev/null
+++ b/include/dt-bindings/net/ncsi.h
@@ -0,0 +1,15 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+/*
+ * Device Tree constants for NCSI
+ */
+
+#ifndef _DT_BINDINGS_NCSI_H
+#define _DT_BINDINGS_NCSI_H
+
+/* VLAN Modes */
+#define NCSI_VLAN_MODE_DISABLED 0
+#define NCSI_VLAN_MODE_ONLY 1
+#define NCSI_VLAN_MODE_FILTERED 2
+#define NCSI_VLAN_MODE_ANY 3
+
+#endif
--
2.34.1
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH 6/6] net/ncsi: Support VLAN mode configuration
2022-06-10 16:45 [PATCH 0/6] Configurable VLAN mode for NCSI driver Jiaqing Zhao
` (4 preceding siblings ...)
2022-06-10 16:45 ` [PATCH 5/6] dt-bindings: net: Add NCSI bindings Jiaqing Zhao
@ 2022-06-10 16:45 ` Jiaqing Zhao
5 siblings, 0 replies; 8+ messages in thread
From: Jiaqing Zhao @ 2022-06-10 16:45 UTC (permalink / raw)
To: Samuel Mendoza-Jonas, David S . Miller, netdev, devicetree, linux-kernel
Cc: Jiaqing Zhao
NCSI specification defines 4 VLAN modes, currently kernel NCSI driver
only supports the "VLAN + non-VLAN" mode (Mode #2), and there is no
way to detect which modes are supported by the device. This patch adds
support for configuring VLAN mode via the "ncsi,vlan-mode" devicetree
node.
Signed-off-by: Jiaqing Zhao <jiaqing.zhao@linux.intel.com>
---
net/ncsi/internal.h | 1 +
net/ncsi/ncsi-manage.c | 41 ++++++++++++++++++++++++++++++++++-------
2 files changed, 35 insertions(+), 7 deletions(-)
diff --git a/net/ncsi/internal.h b/net/ncsi/internal.h
index 7f384f841019..b868e07f7ffd 100644
--- a/net/ncsi/internal.h
+++ b/net/ncsi/internal.h
@@ -334,6 +334,7 @@ struct ncsi_dev_priv {
struct work_struct work; /* For channel management */
struct packet_type ptype; /* NCSI packet Rx handler */
struct list_head node; /* Form NCSI device list */
+ u32 vlan_mode; /* VLAN mode */
#define NCSI_MAX_VLAN_VIDS 15
struct list_head vlan_vids; /* List of active VLAN IDs */
diff --git a/net/ncsi/ncsi-manage.c b/net/ncsi/ncsi-manage.c
index 3fb95f29e3e2..a398b0eb72b2 100644
--- a/net/ncsi/ncsi-manage.c
+++ b/net/ncsi/ncsi-manage.c
@@ -10,6 +10,7 @@
#include <linux/skbuff.h>
#include <linux/of.h>
#include <linux/platform_device.h>
+#include <dt-bindings/net/ncsi.h>
#include <net/ncsi.h>
#include <net/net_namespace.h>
@@ -1042,7 +1043,11 @@ static void ncsi_configure_channel(struct ncsi_dev_priv *ndp)
nd->state = ncsi_dev_state_config_oem_gma;
break;
case ncsi_dev_state_config_oem_gma:
- nd->state = ncsi_dev_state_config_clear_vids;
+ /* Only set up hardware VLAN filters in filtered mode */
+ if (ndp->vlan_mode == NCSI_VLAN_MODE_FILTERED)
+ nd->state = ncsi_dev_state_config_clear_vids;
+ else
+ nd->state = ncsi_dev_state_config_ev;
ret = -1;
#if IS_ENABLED(CONFIG_NCSI_OEM_CMD_GET_MAC)
@@ -1094,11 +1099,15 @@ static void ncsi_configure_channel(struct ncsi_dev_priv *ndp)
nd->state = ncsi_dev_state_config_svf;
/* Enable/Disable the VLAN filter */
} else if (nd->state == ncsi_dev_state_config_ev) {
- if (list_empty(&ndp->vlan_vids)) {
- nca.type = NCSI_PKT_CMD_DV;
- } else {
+ if (ndp->vlan_mode == NCSI_VLAN_MODE_FILTERED &&
+ !list_empty(&ndp->vlan_vids)) {
nca.type = NCSI_PKT_CMD_EV;
nca.bytes[3] = NCSI_CAP_VLAN_FILTERED;
+ } else if (ndp->vlan_mode == NCSI_VLAN_MODE_ANY) {
+ nca.type = NCSI_PKT_CMD_EV;
+ nca.bytes[3] = NCSI_CAP_VLAN_ANY;
+ } else {
+ nca.type = NCSI_PKT_CMD_DV;
}
nd->state = ncsi_dev_state_config_sma;
} else if (nd->state == ncsi_dev_state_config_sma) {
@@ -1800,15 +1809,33 @@ struct ncsi_dev *ncsi_register_dev(struct net_device *dev,
ndp->ptype.dev = dev;
dev_add_pack(&ndp->ptype);
+ /* Set default VLAN mode (filtered) */
+ ndp->vlan_mode = NCSI_VLAN_MODE_FILTERED;
+
pdev = to_platform_device(dev->dev.parent);
if (pdev) {
np = pdev->dev.of_node;
- if (np && of_get_property(np, "mlx,multi-host", NULL))
- ndp->mlx_multi_host = true;
+ if (np) {
+ u32 vlan_mode;
+
+ if (!of_property_read_u32(np, "ncsi,vlan-mode", &vlan_mode)) {
+ if (vlan_mode > NCSI_VLAN_MODE_ANY ||
+ vlan_mode == NCSI_VLAN_MODE_ONLY)
+ dev_warn(&pdev->dev, "NCSI: Unsupported VLAN mode %u",
+ vlan_mode);
+ else
+ ndp->vlan_mode = vlan_mode;
+ dev_info(&pdev->dev, "NCSI: Configured VLAN mode %u",
+ ndp->vlan_mode);
+ }
+ if (of_get_property(np, "mlx,multi-host", NULL))
+ ndp->mlx_multi_host = true;
+ }
}
/* Enable hardware VLAN filtering */
- if (dev->netdev_ops->ndo_vlan_rx_add_vid == ncsi_vlan_rx_add_vid &&
+ if (ndp->vlan_mode == NCSI_VLAN_MODE_FILTERED &&
+ dev->netdev_ops->ndo_vlan_rx_add_vid == ncsi_vlan_rx_add_vid &&
dev->netdev_ops->ndo_vlan_rx_kill_vid == ncsi_vlan_rx_kill_vid)
dev->hw_features |= NETIF_F_HW_VLAN_CTAG_FILTER;
--
2.34.1
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH 5/6] dt-bindings: net: Add NCSI bindings
2022-06-10 16:48 [PATCH 0/6] Configurable VLAN mode for NCSI driver Jiaqing Zhao
@ 2022-06-10 16:48 ` Jiaqing Zhao
0 siblings, 0 replies; 8+ messages in thread
From: Jiaqing Zhao @ 2022-06-10 16:48 UTC (permalink / raw)
To: Samuel Mendoza-Jonas, David S . Miller, netdev, devicetree,
linux-kernel, openbmc
Cc: Jiaqing Zhao
Add devicetree bindings for NCSI VLAN modes. This allows VLAN mode to
be configured in devicetree.
Signed-off-by: Jiaqing Zhao <jiaqing.zhao@linux.intel.com>
---
.../devicetree/bindings/net/ncsi.yaml | 34 +++++++++++++++++++
MAINTAINERS | 2 ++
include/dt-bindings/net/ncsi.h | 15 ++++++++
3 files changed, 51 insertions(+)
create mode 100644 Documentation/devicetree/bindings/net/ncsi.yaml
create mode 100644 include/dt-bindings/net/ncsi.h
diff --git a/Documentation/devicetree/bindings/net/ncsi.yaml b/Documentation/devicetree/bindings/net/ncsi.yaml
new file mode 100644
index 000000000000..ec76ae9a77a9
--- /dev/null
+++ b/Documentation/devicetree/bindings/net/ncsi.yaml
@@ -0,0 +1,34 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/net/ncsi.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Network Controller Sideband Interface (NCSI)
+
+maintainers:
+ - Samuel Mendoza-Jonas <sam@mendozajonas.com>
+
+description: |
+ Bindings for the Network Controller Sideband Interface (NCSI) driver
+
+properties:
+ ncsi,vlan-mode:
+ description: VLAN mode used on the NCSI device.
+ $ref: /schemas/types.yaml#/definitions/uint32
+ enum: [0, 1, 2, 3]
+
+examples:
+ - |
+ #include <dt-bindings/net/ncsi.h>
+
+ mac0: ethernet@1e660000 {
+ compatible = "aspeed,ast2600-mac", "faraday,ftgmac100";
+ reg = <0x1e660000 0x180>;
+ status = "okay";
+
+ use-ncsi;
+ ncsi,vlan-mode = <NCSI_VLAN_MODE_ANY>;
+ };
+
+...
diff --git a/MAINTAINERS b/MAINTAINERS
index f468864fd268..199e4b5bceab 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -13534,6 +13534,8 @@ F: drivers/scsi/sun3_scsi_vme.c
NCSI LIBRARY
M: Samuel Mendoza-Jonas <sam@mendozajonas.com>
S: Maintained
+F: Documentation/devicetree/bindings/net/ncsi.yaml
+F: include/dt-bindings/net/ncsi.h
F: net/ncsi/
NCT6775 HARDWARE MONITOR DRIVER
diff --git a/include/dt-bindings/net/ncsi.h b/include/dt-bindings/net/ncsi.h
new file mode 100644
index 000000000000..19eb9a5db08b
--- /dev/null
+++ b/include/dt-bindings/net/ncsi.h
@@ -0,0 +1,15 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+/*
+ * Device Tree constants for NCSI
+ */
+
+#ifndef _DT_BINDINGS_NCSI_H
+#define _DT_BINDINGS_NCSI_H
+
+/* VLAN Modes */
+#define NCSI_VLAN_MODE_DISABLED 0
+#define NCSI_VLAN_MODE_ONLY 1
+#define NCSI_VLAN_MODE_FILTERED 2
+#define NCSI_VLAN_MODE_ANY 3
+
+#endif
--
2.34.1
^ permalink raw reply related [flat|nested] 8+ messages in thread
end of thread, other threads:[~2022-06-10 16:50 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-06-10 16:45 [PATCH 0/6] Configurable VLAN mode for NCSI driver Jiaqing Zhao
2022-06-10 16:45 ` [PATCH 1/6] net/ncsi: Fix value of NCSI_CAP_VLAN_ANY Jiaqing Zhao
2022-06-10 16:45 ` [PATCH 2/6] net/ncsi: Rename NCSI_CAP_VLAN_NO to NCSI_CAP_VLAN_FILTERED Jiaqing Zhao
2022-06-10 16:45 ` [PATCH 3/6] net/ncsi: Enable VLAN filtering when callback is registered Jiaqing Zhao
2022-06-10 16:45 ` [PATCH 4/6] ftgmac100: Remove enable NCSI VLAN filtering Jiaqing Zhao
2022-06-10 16:45 ` [PATCH 5/6] dt-bindings: net: Add NCSI bindings Jiaqing Zhao
2022-06-10 16:45 ` [PATCH 6/6] net/ncsi: Support VLAN mode configuration Jiaqing Zhao
2022-06-10 16:48 [PATCH 0/6] Configurable VLAN mode for NCSI driver Jiaqing Zhao
2022-06-10 16:48 ` [PATCH 5/6] dt-bindings: net: Add NCSI bindings Jiaqing Zhao
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).