linux-loongson/drivers/net/ethernet/ti/icssg
MD Danish Anwar 01792bc3e5 net: ti: icssg-prueth: Fix HSR and switch offload Enablement during firwmare reload.
To enable HSR / Switch offload, certain configurations are needed.
Currently they are done inside icssg_change_mode(). This function only
gets called if we move from one mode to another without bringing the
links up / down.

Once in HSR / Switch mode, if we bring the links down and bring it back
up again. The callback sequence is,

- emac_ndo_stop()
	Firmwares are stopped
- emac_ndo_open()
	Firmwares are loaded

In this path icssg_change_mode() doesn't get called and as a result the
configurations needed for HSR / Switch is not done.

To fix this, put all these configurations in a separate function
icssg_enable_fw_offload() and call this from both icssg_change_mode()
and emac_ndo_open()

Fixes: 56375086d0 ("net: ti: icssg-prueth: Enable HSR Tx duplication, Tx Tag and Rx Tag offload")
Signed-off-by: MD Danish Anwar <danishanwar@ti.com>
Link: https://patch.msgid.link/20250814105106.1491871-1-danishanwar@ti.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
2025-08-19 12:26:18 +02:00
..
icss_iep.c net: ti: icss-iep: Fix incorrect type for return value in extts_enable() 2025-08-08 12:54:54 -07:00
icss_iep.h net: ti: icss-iep: Move icss_iep structure 2024-09-14 15:14:07 -07:00
icssg_classifier.c net: ti: icssg-prueth: Add support for HSR frame forward offload 2024-09-14 15:14:07 -07:00
icssg_common.c net: ti: icssg-prueth: Fix skb handling for XDP_PASS 2025-08-05 18:03:33 -07:00
icssg_config.c net: ti: icssg-prueth: Fix buffer allocation for ICSSG 2025-07-18 17:20:45 -07:00
icssg_config.h net: ti: icssg-prueth: Fix buffer allocation for ICSSG 2025-07-18 17:20:45 -07:00
icssg_ethtool.c net: ti: icssg-prueth: Make pa_stats optional 2024-09-09 17:43:06 -07:00
icssg_mii_cfg.c net: ti: icssg-prueth: Split out common object into module 2024-07-15 13:50:40 +01:00
icssg_mii_rt.h
icssg_prueth_sr1.c net: ti: icssg-prueth: access ->pp through netmem_desc instead of page 2025-07-23 17:46:55 -07:00
icssg_prueth.c net: ti: icssg-prueth: Fix HSR and switch offload Enablement during firwmare reload. 2025-08-19 12:26:18 +02:00
icssg_prueth.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2025-07-24 11:10:46 -07:00
icssg_queues.c net: ti: icssg-prueth: Split out common object into module 2024-07-15 13:50:40 +01:00
icssg_stats.c net: ti: icssg-prueth: Fix swapped TX stats for MII interfaces. 2025-06-05 10:57:09 +02:00
icssg_stats.h net: ti: icssg-prueth: Add ICSSG FW Stats 2025-04-28 17:20:53 -07:00
icssg_switch_map.h net: ti: icssg-prueth: Fix buffer allocation for ICSSG 2025-07-18 17:20:45 -07:00
icssg_switchdev.c net: ti: icssg-prueth: Split out common object into module 2024-07-15 13:50:40 +01:00
icssg_switchdev.h net: ti: icssg-switch: Add switchdev based driver for ethernet switch support 2024-05-30 15:37:26 +02:00