[PATCH net 5/5] net: pcs: rzn1-miic: Init RX clock early if MAC requires it
Russell King (Oracle)
linux at armlinux.org.uk
Wed Jan 3 07:01:07 PST 2024
On Wed, Jan 03, 2024 at 03:28:25PM +0100, Romain Gantois wrote:
> The GMAC1 controller in the RZN1 IP requires the RX MII clock signal to be
> started before it initializes its own hardware, thus before it calls
> phylink_start.
>
> Check the rxc_always_on pcs flag and enable the clock signal during the
> link validation phase.
However, validation is *not* supposed to change the configuration of
the hardware. Validation may fail. The "interface" that gets passed
to validation may never ever be selected. This change feels like
nothing more than a hack.
Since the MAC driver has to itself provide the PCS to phylink via the
mac_select_pcs() method, the MAC driver already has knowledge of which
PCS it is going to be using. Therefore, I think it may make sense
to do something like this:
int phylink_pcs_preconfig(struct phylink *pl, struct phylink_pcs *pcs)
{
if (pl->config->mac_requires_rxc)
pcs->rxc_always_on = true;
if (pcs->ops->preconfig)
pcs->ops->pcs_preconfig(pcs);
}
and have stmmac call phylink_pcs_preconfig() for each PCS that it will
be using during initialisation / resume paths?
--
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTP is here! 80Mbps down 10Mbps up. Decent connectivity at last!
More information about the linux-arm-kernel
mailing list