Thread (20 messages) 20 messages, 5 authors, 2020-02-27

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 with
s/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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help