Messages in this thread | | | Date | Thu, 28 Sep 2023 14:39:58 +0200 | From | Köry Maincent <> | Subject | Re: [PATCH v9 net-next 12/12] net: remove phy_has_hwtstamp() -> phy_mii_ioctl() decision from converted drivers |
| |
On Thu, 28 Sep 2023 12:12:14 +0200 Köry Maincent <kory.maincent@bootlin.com> wrote:
> On Tue, 1 Aug 2023 17:28:24 +0300 > Vladimir Oltean <vladimir.oltean@nxp.com> wrote: > > > It is desirable that the new .ndo_hwtstamp_set() API gives more > > uniformity, less overhead and future flexibility w.r.t. the PHY > > timestamping behavior. > > > > Currently there are some drivers which allow PHY timestamping through > > the procedure mentioned in Documentation/networking/timestamping.rst. > > They don't do anything locally if phy_has_hwtstamp() is set, except for > > lan966x which installs PTP packet traps. > > > > Centralize that behavior in a new dev_set_hwtstamp_phylib() code > > function, which calls either phy_mii_ioctl() for the phylib PHY, > > or .ndo_hwtstamp_set() of the netdev, based on a single policy > > (currently simplistic: phy_has_hwtstamp()). > > > > Any driver converted to .ndo_hwtstamp_set() will automatically opt into > > the centralized phylib timestamping policy. Unconverted drivers still > > get to choose whether they let the PHY handle timestamping or not. > > > > Netdev drivers with integrated PHY drivers that don't use phylib > > presumably don't set dev->phydev, and those will always see > > HWTSTAMP_SOURCE_NETDEV requests even when converted. The timestamping > > policy will remain 100% up to them. > > > +static int dev_set_hwtstamp_phylib(struct net_device *dev, > > + struct kernel_hwtstamp_config *cfg, > > + struct netlink_ext_ack *extack) > > +{ > ... > > > + if (phy_ts) { > > + err = phy_hwtstamp_set(dev->phydev, cfg, extack); > > + if (err) { > > + if (changed) > > + ops->ndo_hwtstamp_set(dev, &old_cfg, NULL); > > + return err; > > + } > > + } > > In this case the copy_from_user function will be call 2 times, one in > dev_set_hwtstamp and one in the mii_ts.hwtstamp callback of the PHY driver. > Should we create also a copied_from_user flag? Other idea?
oops sorry for the noise the issue I face seems elsewhere. If I understand it well, two call of copy_from_user consecutive will behave the same.
| |