[PATCH net-next v2 0/6] net: lan966x: Add switchdev and vlan support

From: Horatiu Vultur
Date: Tue Dec 07 2021 - 07:48:14 EST


This patch series extends lan966x with switchdev and vlan support.
The first patches just adds new registers and extend the MAC table to
handle the interrupts when a new address is learn/forget.
The last 2 patches adds the vlan and the switchdev support.

v1->v2:
- when allocating entries for the mac table use kzalloc instead of
devm_kzalloc
- also use GFP_KERNEL instead of GFP_ATOMIC, because is never called
in atomic context
- when deleting an mac table entry, the order of operations was wrong
- if ana irq is enabled make sure it gets disabled when the driver is
removed

Horatiu Vultur (6):
net: lan966x: Add registers that are used for switch and vlan
functionality
dt-bindings: net: lan966x: Extend with the analyzer interrupt
net: lan966x: add support for interrupts from analyzer
net: lan966x: More MAC table functionality
net: lan966x: Add vlan support
net: lan966x: Add switchdev support

.../net/microchip,lan966x-switch.yaml | 2 +
.../net/ethernet/microchip/lan966x/Makefile | 3 +-
.../ethernet/microchip/lan966x/lan966x_mac.c | 352 ++++++++++++
.../ethernet/microchip/lan966x/lan966x_main.c | 99 +++-
.../ethernet/microchip/lan966x/lan966x_main.h | 72 ++-
.../ethernet/microchip/lan966x/lan966x_regs.h | 129 +++++
.../microchip/lan966x/lan966x_switchdev.c | 544 ++++++++++++++++++
.../ethernet/microchip/lan966x/lan966x_vlan.c | 439 ++++++++++++++
8 files changed, 1625 insertions(+), 15 deletions(-)
create mode 100644 drivers/net/ethernet/microchip/lan966x/lan966x_switchdev.c
create mode 100644 drivers/net/ethernet/microchip/lan966x/lan966x_vlan.c

--
2.33.0