linux/drivers/net/dsa/microchip
Lukasz Majewski 2d61298fdd net: dsa: microchip: Enable HSR offloading for KSZ9477
This patch adds functions for providing in KSZ9477 switch HSR
(High-availability Seamless Redundancy) hardware offloading.

According to AN3474 application note following features are provided:
- TX packet duplication from host to switch (NETIF_F_HW_HSR_DUP)
- RX packet duplication discarding
- Prevention of packet loop

For last two ones - there is a probability that some packets will not
be filtered in HW (in some special cases - described in AN3474).
Hence, the HSR core code shall be used to discard those not caught frames.

Moreover, some switch registers adjustments are required - like setting
MAC address of HSR network interface.

Additionally, the KSZ9477 switch has been configured to forward frames
between HSR ports (e.g. 1,2) members to provide support for
NETIF_F_HW_HSR_FWD flag.

Join and leave functions are written in a way, that are executed with
single port - i.e. configuration is NOT done only when second HSR port
is configured.

Co-developed-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Signed-off-by: Lukasz Majewski <lukma@denx.de>
Reviewed-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
History 2023-10-03 13:51:02 +02:00
..
Kconfig net: dsa: microchip: ptp: fix up PTP dependency 2023-01-31 13:21:38 +01:00
ksz8.h net: dsa: microchip: Remove unused declarations 2023-08-22 10:28:13 -07:00
ksz8795.c net: dsa: microchip: correct KSZ8795 static MAC table access 2023-07-17 07:43:11 +01:00
ksz8795_reg.h net: dsa: microchip: move REG_SW_MAC_ADDR to dev->info->regs[] 2023-10-03 13:51:02 +02:00
ksz8863_smi.c net: dsa: Explicitly include correct DT includes 2023-07-26 21:54:16 -07:00
ksz9477.c net: dsa: microchip: Enable HSR offloading for KSZ9477 2023-10-03 13:51:02 +02:00
ksz9477.h net: dsa: microchip: Enable HSR offloading for KSZ9477 2023-10-03 13:51:02 +02:00
ksz9477_acl.c net: dsa: microchip: Fix spelling mistake "unxpexted" -> "unexpected" 2023-09-19 16:42:27 +02:00
ksz9477_i2c.c net: dsa: Switch i2c drivers back to use .probe() 2023-05-31 09:52:55 +01:00
ksz9477_reg.h net: dsa: microchip: move REG_SW_MAC_ADDR to dev->info->regs[] 2023-10-03 13:51:02 +02:00
ksz9477_tc_flower.c net: dsa: microchip: Add partial ACL support for ksz9477 switches 2023-09-17 14:28:34 +01:00
ksz_common.c net: dsa: microchip: Enable HSR offloading for KSZ9477 2023-10-03 13:51:02 +02:00
ksz_common.h net: dsa: microchip: Enable HSR offloading for KSZ9477 2023-10-03 13:51:02 +02:00
ksz_ptp.c net: dsa: microchip: ptp: Fix error code in ksz_hwtstamp_set() 2023-01-19 18:57:16 -08:00
ksz_ptp.h net: dsa: microchip: ptp: add support for perout programmable pins 2023-01-13 08:40:41 +00:00
ksz_ptp_reg.h net: dsa: microchip: ptp: lan937x: Enable periodic output in LED pins 2023-01-13 08:40:41 +00:00
ksz_spi.c net: dsa: microchip: add an enum for regmap widths 2023-05-30 09:48:17 +02:00
lan937x.h net: dsa: microchip: add support for credit based shaper 2023-01-23 22:12:35 -08:00
lan937x_main.c net: dsa: microchip: add an enum for regmap widths 2023-05-30 09:48:17 +02:00
lan937x_reg.h net: dsa: microchip: add support for credit based shaper 2023-01-23 22:12:35 -08:00
Makefile net: dsa: microchip: Add partial ACL support for ksz9477 switches 2023-09-17 14:28:34 +01:00