mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson
synced 2025-08-31 14:13:39 +00:00
![]() 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:
|
||
---|---|---|
.. | ||
icss_iep.c | ||
icss_iep.h | ||
icssg_classifier.c | ||
icssg_common.c | ||
icssg_config.c | ||
icssg_config.h | ||
icssg_ethtool.c | ||
icssg_mii_cfg.c | ||
icssg_mii_rt.h | ||
icssg_prueth_sr1.c | ||
icssg_prueth.c | ||
icssg_prueth.h | ||
icssg_queues.c | ||
icssg_stats.c | ||
icssg_stats.h | ||
icssg_switch_map.h | ||
icssg_switchdev.c | ||
icssg_switchdev.h |