From: Jakub Kicinski <kuba@kernel.org>
To: "Arınç ÜNAL via B4 Relay" <devnull+arinc.unal.arinc9.com@kernel.org>
Cc: <arinc.unal@arinc9.com>, Daniel Golle <daniel@makrotopia.org>,
DENG Qingfang <dqfext@gmail.com>,
Sean Wang <sean.wang@mediatek.com>, Andrew Lunn <andrew@lunn.ch>,
Florian Fainelli <f.fainelli@gmail.com>,
Vladimir Oltean <olteanv@gmail.com>,
"David S. Miller" <davem@davemloft.net>,
Eric Dumazet <edumazet@google.com>,
Paolo Abeni <pabeni@redhat.com>,
Matthias Brugger <matthias.bgg@gmail.com>,
AngeloGioacchino Del Regno
<angelogioacchino.delregno@collabora.com>,
Russell King <linux@armlinux.org.uk>,
mithat.guner@xeront.com, erkin.bozoglu@xeront.com,
Bartel Eerdekens <bartel.eerdekens@constell8.be>,
netdev@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
linux-mediatek@lists.infradead.org
Subject: Re: [PATCH net-next v2 8/8] net: dsa: mt7530: simplify link operations and force link down on all ports
Date: Wed, 28 Feb 2024 17:49:32 -0800 [thread overview]
Message-ID: <20240228174932.2500653d@kernel.org> (raw)
In-Reply-To: <20240216-for-netnext-mt7530-improvements-3-v2-8-094cae3ff23b@arinc9.com>
On Fri, 16 Feb 2024 14:05:36 +0300 Arınç ÜNAL via B4 Relay wrote:
> From: Arınç ÜNAL <arinc.unal@arinc9.com>
>
> Currently, the link operations for switch MACs are scattered across
> port_enable, port_disable, phylink_mac_config, phylink_mac_link_up, and
> phylink_mac_link_down.
>
> port_enable and port_disable clears the link settings. Move that to
> mt7530_setup() and mt7531_setup_common() which set up the switches. This
> way, the link settings are cleared on all ports at setup, and then only
> once with phylink_mac_link_down() when a link goes down.
>
> Enable force mode at setup to apply the force part of the link settings.
> This ensures that only active ports will have their link up.
I don't know phylink so some basic questions..
What's "mode" in this case?
> Now that the bit for setting the port on force mode is done on
> mt7530_setup() and mt7531_setup_common(), get rid of PMCR_FORCE_MODE_ID()
> which helped determine which bit to use for the switch model.
MT7531_FORCE_MODE also includes MT7531_FORCE_LNK, doesn't that mean
the link will be up?
> The "MT7621 Giga Switch Programming Guide v0.3", "MT7531 Reference Manual
> for Development Board v1.0", and "MT7988A Wi-Fi 7 Generation Router
> Platform: Datasheet (Open Version) v0.1" documents show that these bits are
> enabled at reset:
>
> PMCR_IFG_XMIT(1) (not part of PMCR_LINK_SETTINGS_MASK)
> PMCR_MAC_MODE (not part of PMCR_LINK_SETTINGS_MASK)
> PMCR_TX_EN
> PMCR_RX_EN
> PMCR_BACKOFF_EN (not part of PMCR_LINK_SETTINGS_MASK)
> PMCR_BACKPR_EN (not part of PMCR_LINK_SETTINGS_MASK)
> PMCR_TX_FC_EN
> PMCR_RX_FC_EN
>
> These bits also don't exist on the MT7530_PMCR_P(6) register of the switch
> on the MT7988 SoC:
>
> PMCR_IFG_XMIT()
> PMCR_MAC_MODE
> PMCR_BACKOFF_EN
> PMCR_BACKPR_EN
>
> Remove the setting of the bits not part of PMCR_LINK_SETTINGS_MASK on
> phylink_mac_config as they're already set.
This should be a separate change.
> Suggested-by: Vladimir Oltean <olteanv@gmail.com>
> Signed-off-by: Arınç ÜNAL <arinc.unal@arinc9.com>
> @@ -2257,6 +2255,12 @@ mt7530_setup(struct dsa_switch *ds)
> mt7530_mib_reset(ds);
>
> for (i = 0; i < MT7530_NUM_PORTS; i++) {
> + /* Clear link settings and enable force mode to force link down
"Clear link settings to force link down" makes sense.
Since I don't know what the mode is, the "and enable force mode"
sounds possibly out of place. If you're only combining this
for the convenience of RMW, keep the reasoning separate.
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2024-02-29 1:49 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-02-16 11:05 [PATCH net-next v2 0/8] MT7530 DSA Subdriver Improvements Act III Arınç ÜNAL via B4 Relay
2024-02-16 11:05 ` [PATCH net-next v2 1/8] net: dsa: mt7530: remove .mac_port_config for MT7988 and make it optional Arınç ÜNAL via B4 Relay
2024-02-16 11:05 ` [PATCH net-next v2 2/8] net: dsa: mt7530: set interrupt register only for MT7530 Arınç ÜNAL via B4 Relay
2024-02-16 11:05 ` [PATCH net-next v2 3/8] net: dsa: mt7530: do not use SW_PHY_RST to reset MT7531 switch Arınç ÜNAL via B4 Relay
2024-02-16 11:05 ` [PATCH net-next v2 4/8] net: dsa: mt7530: get rid of useless error returns on phylink code path Arınç ÜNAL via B4 Relay
2024-02-16 11:05 ` [PATCH net-next v2 5/8] net: dsa: mt7530: get rid of priv->info->cpu_port_config() Arınç ÜNAL via B4 Relay
2024-02-16 11:05 ` [PATCH net-next v2 6/8] net: dsa: mt7530: get rid of mt753x_mac_config() Arınç ÜNAL via B4 Relay
2024-02-16 11:05 ` [PATCH net-next v2 7/8] net: dsa: mt7530: put initialising PCS devices code back to original order Arınç ÜNAL via B4 Relay
2024-02-16 11:05 ` [PATCH net-next v2 8/8] net: dsa: mt7530: simplify link operations and force link down on all ports Arınç ÜNAL via B4 Relay
2024-02-29 1:49 ` Jakub Kicinski [this message]
2024-03-01 7:17 ` Arınç ÜNAL
2024-02-27 1:26 ` [PATCH net-next v2 0/8] MT7530 DSA Subdriver Improvements Act III Jakub Kicinski
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240228174932.2500653d@kernel.org \
--to=kuba@kernel.org \
--cc=andrew@lunn.ch \
--cc=angelogioacchino.delregno@collabora.com \
--cc=arinc.unal@arinc9.com \
--cc=bartel.eerdekens@constell8.be \
--cc=daniel@makrotopia.org \
--cc=davem@davemloft.net \
--cc=devnull+arinc.unal.arinc9.com@kernel.org \
--cc=dqfext@gmail.com \
--cc=edumazet@google.com \
--cc=erkin.bozoglu@xeront.com \
--cc=f.fainelli@gmail.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mediatek@lists.infradead.org \
--cc=linux@armlinux.org.uk \
--cc=matthias.bgg@gmail.com \
--cc=mithat.guner@xeront.com \
--cc=netdev@vger.kernel.org \
--cc=olteanv@gmail.com \
--cc=pabeni@redhat.com \
--cc=sean.wang@mediatek.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).