Re: [PATCH net-next v2 1/8] net: phylink: propagate resolved link config via mac_link_up()
From: Russell King - ARM Linux admin <linux@armlinux.org.uk>
Date: 2020-02-26 19:12:13
Also in:
linux-arm-kernel, linux-doc, linux-mediatek
On Wed, Feb 26, 2020 at 06:32:55PM +0000, Ioana Ciornei wrote:
quoted
Subject: Re: [PATCH net-next v2 1/8] net: phylink: propagate resolved link config via mac_link_up() On Wed, 26 Feb 2020 at 20:21, Vladimir Oltean [off-list ref] wrote:quoted
On Wed, 26 Feb 2020 at 15:36, Russell King - ARM Linux admin [off-list ref] wrote:quoted
dpaa2 is complicated by the firmware, and that we can't switch the interface mode between (SGMII,1000base-X) and 10G. If the firmware is in "DPMAC_LINK_TYPE_PHY" mode, it expects to be told the current link parameters via the dpmac_set_link_state() call - it isn't clear whether that needs to be called for other modes with the up/down state (firmware API documentation is poor.)With PCS control in Linux, I am pretty sure that you don't want anything other than DPMAC_LINK_TYPE_PHY anyway. Basically in DPMAC_LINK_TYPE_FIXED, the MC firmware is in control of the PCS and polls its link state to emit link notifications to objects connected to the DPMAC. So Linux control of PCS would class withs/class/clash/quoted
firmware control of the PCS, leading to undesirable side-effects to say the least.If the DPMAC object is in DPMAC_LINK_TYPE_FIXED, the dpaa2-eth in fact does not even connect to a phy so all the phylink interaction is not happening. As Vladimir said, in this case it's the MC firmware's job to poll the PCS and notify any connected objects of a link change.
Please see the patches I've referred Vladimir to, specifically this:
if (attr.link_type == DPMAC_LINK_TYPE_PHY) {
/* FIXME: how do we know whether this DPMAC has a PCS? */
err = dpaa2_pcs_create(mac, attr.id);
if (err)
goto err_phylink_destroy;
phylink_add_pcs(mac->phylink, &dpaa2_pcs_phylink_ops);
}
Hence, if we are not in DPMAC_LINK_TYPE_PHY, then we never talk to
the PCS, thereby satisfying the requirements of the firmware not to
touch the PCS if it's in FIXED mode.
It seems this is becoming a storm in a tea cup. Please stop.
--
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTC broadband for 0.8mile line in suburbia: sync at 12.1Mbps down 622kbps up
According to speedtest.net: 11.9Mbps down 500kbps up