net: dsa: mt7530: store port 5 SGMII capability of MT7531
authorArınç ÜNAL <arinc.unal@arinc9.com>
Mon, 22 Jan 2024 05:35:54 +0000 (08:35 +0300)
committerJakub Kicinski <kuba@kernel.org>
Tue, 30 Jan 2024 02:04:11 +0000 (18:04 -0800)
commit1f4a85f2eaa8f21ea19c27d63258fd46f8b45290
treebc68fb61f90fb09513567a5862299054a826bc3f
parentb198c9097f0659da80e675a9df94f83ec9495076
net: dsa: mt7530: store port 5 SGMII capability of MT7531

Introduce the p5_sgmii field to store the information for whether port 5
has got SGMII or not. Instead of reading the MT7531_TOP_SIG_SR register
multiple times, the register will be read once and the value will be
stored on the p5_sgmii field. This saves unnecessary reads of the
register.

Move the comment about MT7531AE and MT7531BE to mt7531_setup(), where the
switch is identified.

Get rid of mt7531_dual_sgmii_supported() now that priv->p5_sgmii stores the
information. Address the code where mt7531_dual_sgmii_supported() is used.

Get rid of mt7531_is_rgmii_port() which just prints the opposite of
priv->p5_sgmii.

Instead of calling mt7531_pll_setup() then returning, do not call it if
port 5 is SGMII.

Remove P5_INTF_SEL_GMAC5_SGMII. The p5_interface_select enum is supposed to
represent the mode that port 5 is being used in, not the hardware
information of port 5. Set p5_intf_sel to P5_INTF_SEL_GMAC5 instead, if
port 5 is not dsa_is_unused_port().

Signed-off-by: Arınç ÜNAL <arinc.unal@arinc9.com>
Acked-by: Daniel Golle <daniel@makrotopia.org>
Reviewed-by: Vladimir Oltean <olteanv@gmail.com>
Link: https://lore.kernel.org/r/20240122-for-netnext-mt7530-improvements-1-v3-3-042401f2b279@arinc9.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/dsa/mt7530-mdio.c
drivers/net/dsa/mt7530.c
drivers/net/dsa/mt7530.h