Re: [PATCH net] phy: mscc: Fix PTP for vsc8574 and VSC8572
From: Horatiu Vultur
Date: Wed Sep 17 2025 - 03:51:23 EST
The 09/16/2025 15:32, Paolo Abeni wrote:
Hi Paolo,
>
> On 9/15/25 10:01 AM, Horatiu Vultur wrote:
> > When trying to enable PTP on vsc8574 and vsc8572 it is not working even
> > if the function vsc8584_ptp_init it says that it has support for PHY
> > timestamping. It is not working because there is no PTP device.
> > So, to fix this make sure to create a PTP device also for this PHYs as
> > they have the same PTP IP as the other vsc PHYs.
>
> [...]
>
> > diff --git a/drivers/net/phy/mscc/mscc_main.c b/drivers/net/phy/mscc/mscc_main.c
> > index ef0ef1570d392..89b5cd96e8720 100644
> > --- a/drivers/net/phy/mscc/mscc_main.c
> > +++ b/drivers/net/phy/mscc/mscc_main.c
> > @@ -2259,6 +2259,7 @@ static int vsc8574_probe(struct phy_device *phydev)
> > u32 default_mode[4] = {VSC8531_LINK_1000_ACTIVITY,
> > VSC8531_LINK_100_ACTIVITY, VSC8531_LINK_ACTIVITY,
> > VSC8531_DUPLEX_COLLISION};
> > + int ret;
> >
> > vsc8531 = devm_kzalloc(&phydev->mdio.dev, sizeof(*vsc8531), GFP_KERNEL);
> > if (!vsc8531)
>
> vsc8574_probe() is also used by 8504 and 8552, is the side effect intended?
No, that side effect is not intended because I have checked the vsc8552
and vsc8504 datasheet and I couldn't find anything about timestamping.
So this is a mistake.
My first thought was to use vsc8514_probe for these devices but this
will introduce another side effect as the statistics will be different.
So, I will need to create another probe function for these 2 devices.
>
> /P
>
--
/Horatiu