diff options
author | Arınç ÜNAL <arinc.unal@arinc9.com> | 2024-01-22 08:35:56 +0300 |
---|---|---|
committer | Jakub Kicinski <kuba@kernel.org> | 2024-01-29 18:04:12 -0800 |
commit | 152f8e8e7458f39720886c8ed1d55f456096499e (patch) | |
tree | f03616730aa3de04afc28da76e57060541a0afbe /net/ipv4/tcp_input.c | |
parent | 05957aa77ed8713ccaea6bbf1edc7e6a33af00bd (diff) | |
download | linux-152f8e8e7458f39720886c8ed1d55f456096499e.tar.gz linux-152f8e8e7458f39720886c8ed1d55f456096499e.tar.bz2 linux-152f8e8e7458f39720886c8ed1d55f456096499e.zip |
net: dsa: mt7530: improve code path for setting up port 5
There're two code paths for setting up port 5:
mt7530_setup()
-> mt7530_setup_port5()
mt753x_phylink_mac_config()
-> mt753x_mac_config()
-> mt7530_mac_config()
-> mt7530_setup_port5()
Currently mt7530_setup_port5() from mt7530_setup() always runs. If port 5
is used as a CPU, DSA, or user port, mt7530_setup_port5() from
mt753x_phylink_mac_config() won't run. That is because priv->p5_interface
set on mt7530_setup_port5() will match state->interface on
mt753x_phylink_mac_config() which will stop running mt7530_setup_port5()
again.
Therefore, mt7530_setup_port5() will never run from
mt753x_phylink_mac_config().
Address this by not running mt7530_setup_port5() from mt7530_setup() if
port 5 is used as a CPU, DSA, or user port. This driver isn't in the
dsa_switches_apply_workarounds[] array so phylink will always be present.
To keep the cases where port 5 isn't controlled by phylink working as
before, preserve the mt7530_setup_port5() call from mt7530_setup().
Do not set priv->p5_intf_sel to P5_DISABLED. It is already set to that when
"priv" is allocated.
Move setting the interface to a more specific location. It's supposed to be
overwritten if PHY muxing is detected.
Improve the comment which explains the process.
Signed-off-by: Arınç ÜNAL <arinc.unal@arinc9.com>
Reviewed-by: Vladimir Oltean <olteanv@gmail.com>
Link: https://lore.kernel.org/r/20240122-for-netnext-mt7530-improvements-1-v3-5-042401f2b279@arinc9.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'net/ipv4/tcp_input.c')
0 files changed, 0 insertions, 0 deletions