[PATCH RESEND net-next v2] net: stmmac: dwmac: Add a fixup for the Micrel KSZ9131 PHY
Stefan Eichenberger
eichest at gmail.com
Mon Jan 12 01:23:09 PST 2026
On Sat, Jan 10, 2026 at 03:47:21PM +0000, Russell King (Oracle) wrote:
> On Sat, Jan 10, 2026 at 02:42:13PM +0100, Stefan Eichenberger wrote:
> > Hi Maxime,
> >
> > Not problem, thanks a lot for the feedback and the discussion. I will
> > then proceed with the current approach and send a new version with an
> > updated commit message.
>
> We could add a flag to:
>
> /* Generic phy_device::dev_flags */
> #define PHY_F_NO_IRQ 0x80000000
> #define PHY_F_RXC_ALWAYS_ON 0x40000000
>
> indicating that the MAC requires the full preamble, which the PHY can
> then test for and configure appropiately.
>
> The question is, whether the requirement for the full preamble applies
> to many MACs, and whether there are PHYs that default to producing
> short preambles.
>
> Looking at Marvell 88e151x, the only control it has is to pad odd
> nibbles of preambles on copper (page 2, register 16, bit 6.)
>
> AR8035 seems to make no mention of preamble for the MII interfaces, so
> I guess it has no control over it.
>
> I've not looked further than that.
>From what I have seen only the S32 and i.MX8MP MAC require the full
preamble because of the errata. I also checked the i.MX93 and i.MX8DX,
they don't mention the errata, so I assume they are not affected.
Not sure if adding the flag would be a bit overkill. However, assuming
we would do it that way. Would ndo_open be the right place to set the
flag in the mac so that the phy knows about it?
I would think about something like:
- Add a flag STMMAC_FLAG_KEEP_PREAMBLE_BEFORE_SFD to stmmac.h
- Add a flag PHY_F_KEEP_PREAMBLE_BEFORE_SFD to phy.h
- Add STMMAC_FLAG_KEEP_PREAMBLE_BEFORE_SFD to priv->plat->flags in the
mac driver platform probe (e.g. dwmac-imx.c).
- Set PHY_F_KEEP_PREAMBLE_BEFORE_SFD in stmmac_init_phy (during
ndo_open) if STMMAC_FLAG_KEEP_PREAMBLE_BEFORE_SFD is set under
priv->plat->flags.
- If PHY_F_KEEP_PREAMBLE_BEFORE_SFD is set in the phy driver keep the
full preamble if the phy supports it during config_init.
I could send the next version doing it that way, to see if that's the
better approach.
Regards,
Stefan
More information about the linux-arm-kernel
mailing list