/linux/net/core/ |
A D | timestamping.c | 16 skb->dev->phydev->mii_ts)) in classify() 24 struct mii_timestamper *mii_ts; in skb_clone_tx_timestamp() local 35 mii_ts = skb->dev->phydev->mii_ts; in skb_clone_tx_timestamp() 36 if (likely(mii_ts->txtstamp)) { in skb_clone_tx_timestamp() 40 mii_ts->txtstamp(mii_ts, clone, type); in skb_clone_tx_timestamp() 47 struct mii_timestamper *mii_ts; in skb_defer_rx_timestamp() local 50 if (!skb->dev || !skb->dev->phydev || !skb->dev->phydev->mii_ts) in skb_defer_rx_timestamp() 65 mii_ts = skb->dev->phydev->mii_ts; in skb_defer_rx_timestamp() 66 if (likely(mii_ts->rxtstamp)) in skb_defer_rx_timestamp() 67 return mii_ts->rxtstamp(mii_ts, skb, type); in skb_defer_rx_timestamp()
|
/linux/drivers/net/phy/ |
A D | mii_timestamper.c | 81 struct mii_timestamper *mii_ts = NULL; in register_mii_timestamper() local 89 mii_ts = desc->ctrl->probe_channel(desc->device, port); in register_mii_timestamper() 90 if (!IS_ERR(mii_ts)) { in register_mii_timestamper() 91 mii_ts->device = desc->device; in register_mii_timestamper() 99 return mii_ts ? mii_ts : ERR_PTR(-EPROBE_DEFER); in register_mii_timestamper() 109 void unregister_mii_timestamper(struct mii_timestamper *mii_ts) in unregister_mii_timestamper() argument 114 if (!mii_ts) in unregister_mii_timestamper() 121 if (!mii_ts->device) in unregister_mii_timestamper() 127 if (desc->device == mii_ts->device) { in unregister_mii_timestamper() 128 desc->ctrl->release_channel(desc->device, mii_ts); in unregister_mii_timestamper()
|
A D | nxp-c45-tja11xx.c | 191 struct mii_timestamper mii_ts; member 474 mii_ts); in nxp_c45_txtstamp() 496 mii_ts); in nxp_c45_rxtstamp() 516 mii_ts); in nxp_c45_hwtstamp() 569 static int nxp_c45_ts_info(struct mii_timestamper *mii_ts, in nxp_c45_ts_info() argument 573 mii_ts); in nxp_c45_ts_info() 1105 priv->mii_ts.rxtstamp = nxp_c45_rxtstamp; in nxp_c45_probe() 1106 priv->mii_ts.txtstamp = nxp_c45_txtstamp; in nxp_c45_probe() 1107 priv->mii_ts.hwtstamp = nxp_c45_hwtstamp; in nxp_c45_probe() 1108 priv->mii_ts.ts_info = nxp_c45_ts_info; in nxp_c45_probe() [all …]
|
A D | dp83640.c | 109 struct mii_timestamper mii_ts; member 1231 container_of(mii_ts, struct dp83640_private, mii_ts); in dp83640_hwtstamp() 1346 container_of(mii_ts, struct dp83640_private, mii_ts); in dp83640_rxtstamp() 1397 container_of(mii_ts, struct dp83640_private, mii_ts); in dp83640_txtstamp() 1424 container_of(mii_ts, struct dp83640_private, mii_ts); in dp83640_ts_info() 1462 dp83640->mii_ts.rxtstamp = dp83640_rxtstamp; in dp83640_probe() 1463 dp83640->mii_ts.txtstamp = dp83640_txtstamp; in dp83640_probe() 1464 dp83640->mii_ts.hwtstamp = dp83640_hwtstamp; in dp83640_probe() 1465 dp83640->mii_ts.ts_info = dp83640_ts_info; in dp83640_probe() 1473 phydev->mii_ts = &dp83640->mii_ts; in dp83640_probe() [all …]
|
A D | phy.c | 367 if (phydev->mii_ts && phydev->mii_ts->hwtstamp) in phy_mii_ioctl() 368 return phydev->mii_ts->hwtstamp(phydev->mii_ts, ifr); in phy_mii_ioctl()
|
A D | phy_device.c | 960 unregister_mii_timestamper(phydev->mii_ts); in phy_device_remove() 1012 if (phydev->mii_ts && phydev->mii_ts->link_state) in phy_link_change() 1013 phydev->mii_ts->link_state(phydev->mii_ts, phydev); in phy_link_change()
|
/linux/include/linux/ |
A D | mii_timestamper.h | 47 bool (*rxtstamp)(struct mii_timestamper *mii_ts, 50 void (*txtstamp)(struct mii_timestamper *mii_ts, 53 int (*hwtstamp)(struct mii_timestamper *mii_ts, 56 void (*link_state)(struct mii_timestamper *mii_ts, 59 int (*ts_info)(struct mii_timestamper *mii_ts, 80 struct mii_timestamper *mii_ts); 93 void unregister_mii_timestamper(struct mii_timestamper *mii_ts); 115 static inline void unregister_mii_timestamper(struct mii_timestamper *mii_ts) in unregister_mii_timestamper() argument
|
A D | phy.h | 696 struct mii_timestamper *mii_ts; member 1288 return phydev && phydev->mii_ts && phydev->mii_ts->hwtstamp; in phy_has_hwtstamp() 1297 return phydev && phydev->mii_ts && phydev->mii_ts->rxtstamp; in phy_has_rxtstamp() 1307 return phydev && phydev->mii_ts && phydev->mii_ts->ts_info; in phy_has_tsinfo() 1316 return phydev && phydev->mii_ts && phydev->mii_ts->txtstamp; in phy_has_txtstamp() 1321 return phydev->mii_ts->hwtstamp(phydev->mii_ts, ifr); in phy_hwtstamp() 1327 return phydev->mii_ts->rxtstamp(phydev->mii_ts, skb, type); in phy_rxtstamp() 1333 return phydev->mii_ts->ts_info(phydev->mii_ts, tsinfo); in phy_ts_info() 1339 phydev->mii_ts->txtstamp(phydev->mii_ts, skb, type); in phy_txtstamp()
|
/linux/drivers/net/mdio/ |
A D | fwnode_mdio.c | 88 struct mii_timestamper *mii_ts = NULL; in fwnode_mdiobus_register_phy() local 94 mii_ts = fwnode_find_mii_timestamper(child); in fwnode_mdiobus_register_phy() 95 if (IS_ERR(mii_ts)) in fwnode_mdiobus_register_phy() 96 return PTR_ERR(mii_ts); in fwnode_mdiobus_register_phy() 108 unregister_mii_timestamper(mii_ts); in fwnode_mdiobus_register_phy() 130 unregister_mii_timestamper(mii_ts); in fwnode_mdiobus_register_phy() 140 if (mii_ts) in fwnode_mdiobus_register_phy() 141 phy->mii_ts = mii_ts; in fwnode_mdiobus_register_phy()
|
/linux/drivers/ptp/ |
A D | ptp_ines.c | 147 struct mii_timestamper mii_ts; member 333 struct ines_port *port = container_of(mii_ts, struct ines_port, mii_ts); in ines_hwtstamp() 406 struct ines_port *port = container_of(mii_ts, struct ines_port, mii_ts); in ines_link_state() 482 struct ines_port *port = container_of(mii_ts, struct ines_port, mii_ts); in ines_rxtstamp() 624 struct ines_port *port = container_of(mii_ts, struct ines_port, mii_ts); in ines_txtstamp() 720 port->mii_ts.rxtstamp = ines_rxtstamp; in ines_ptp_probe_channel() 721 port->mii_ts.txtstamp = ines_txtstamp; in ines_ptp_probe_channel() 722 port->mii_ts.hwtstamp = ines_hwtstamp; in ines_ptp_probe_channel() 724 port->mii_ts.ts_info = ines_ts_info; in ines_ptp_probe_channel() 726 return &port->mii_ts; in ines_ptp_probe_channel() [all …]
|
/linux/drivers/net/phy/mscc/ |
A D | mscc_ptp.c | 1051 container_of(mii_ts, struct vsc8531_private, mii_ts); in vsc85xx_hwtstamp() 1141 static int vsc85xx_ts_info(struct mii_timestamper *mii_ts, in vsc85xx_ts_info() argument 1145 container_of(mii_ts, struct vsc8531_private, mii_ts); in vsc85xx_ts_info() 1164 static void vsc85xx_txtstamp(struct mii_timestamper *mii_ts, in vsc85xx_txtstamp() argument 1168 container_of(mii_ts, struct vsc8531_private, mii_ts); in vsc85xx_txtstamp() 1189 container_of(mii_ts, struct vsc8531_private, mii_ts); in vsc85xx_rxtstamp() 1487 vsc8531->mii_ts.rxtstamp = vsc85xx_rxtstamp; in __vsc8584_init_ptp() 1488 vsc8531->mii_ts.txtstamp = vsc85xx_txtstamp; in __vsc8584_init_ptp() 1489 vsc8531->mii_ts.hwtstamp = vsc85xx_hwtstamp; in __vsc8584_init_ptp() 1490 vsc8531->mii_ts.ts_info = vsc85xx_ts_info; in __vsc8584_init_ptp() [all …]
|
A D | mscc.h | 390 struct mii_timestamper mii_ts; member
|
/linux/Documentation/networking/ |
A D | timestamping.rst | 683 mii_timestamper`` and add a pointer to it in ``phydev->mii_ts``. The presence 700 enabled, and ``skb->dev->phydev->mii_ts`` exists, its ``.rxtstamp()`` hook 712 function that calls the ``mii_ts->txtstamp()`` hook is named 727 for the rest, they use the same mii_ts infrastructure as those. See
|