Home
last modified time | relevance | path

Searched refs:mii_ts (Results 1 – 18 of 18) sorted by relevance

/linux-6.15/net/core/
H A Dtimestamping.c17 skb->dev->phydev->mii_ts)) in classify()
26 struct mii_timestamper *mii_ts; in skb_clone_tx_timestamp() local
57 mii_ts = phydev->mii_ts; in skb_clone_tx_timestamp()
58 if (likely(mii_ts->txtstamp)) { in skb_clone_tx_timestamp()
62 mii_ts->txtstamp(mii_ts, clone, type); in skb_clone_tx_timestamp()
70 struct mii_timestamper *mii_ts; in skb_defer_rx_timestamp() local
108 mii_ts = phydev->mii_ts; in skb_defer_rx_timestamp()
109 if (likely(mii_ts->rxtstamp)) in skb_defer_rx_timestamp()
110 return mii_ts->rxtstamp(mii_ts, skb, type); in skb_defer_rx_timestamp()
/linux-6.15/drivers/net/phy/
H A Dmii_timestamper.c81 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()
H A Dbcm-phy-ptp.c131 struct mii_timestamper mii_ts; member
169 return container_of(mii_ts, struct bcm_ptp_private, mii_ts); in mii2priv()
388 struct bcm_ptp_private *priv = mii2priv(mii_ts); in bcm_ptp_rxtstamp()
749 struct bcm_ptp_private *priv = mii2priv(mii_ts); in bcm_ptp_txtstamp()
789 struct bcm_ptp_private *priv = mii2priv(mii_ts); in bcm_ptp_hwtstamp()
847 struct bcm_ptp_private *priv = mii2priv(mii_ts); in bcm_ptp_ts_info()
901 priv->mii_ts.rxtstamp = bcm_ptp_rxtstamp; in bcm_ptp_init()
902 priv->mii_ts.txtstamp = bcm_ptp_txtstamp; in bcm_ptp_init()
903 priv->mii_ts.hwtstamp = bcm_ptp_hwtstamp; in bcm_ptp_init()
904 priv->mii_ts.ts_info = bcm_ptp_ts_info; in bcm_ptp_init()
[all …]
H A Dmicrochip_rds_ptp.c329 struct mchp_rds_ptp_clock *clock = container_of(mii_ts, in mchp_rds_ptp_txtstamp()
331 mii_ts); in mchp_rds_ptp_txtstamp()
463 mii_ts); in mchp_rds_ptp_rxtstamp()
488 container_of(mii_ts, struct mchp_rds_ptp_clock, in mchp_rds_ptp_hwtstamp()
489 mii_ts); in mchp_rds_ptp_hwtstamp()
603 mii_ts); in mchp_rds_ptp_ts_info()
1285 clock->mii_ts.rxtstamp = mchp_rds_ptp_rxtstamp; in mchp_rds_ptp_probe()
1286 clock->mii_ts.txtstamp = mchp_rds_ptp_txtstamp; in mchp_rds_ptp_probe()
1287 clock->mii_ts.hwtstamp = mchp_rds_ptp_hwtstamp; in mchp_rds_ptp_probe()
1288 clock->mii_ts.ts_info = mchp_rds_ptp_ts_info; in mchp_rds_ptp_probe()
[all …]
H A Ddp83640.c109 struct mii_timestamper mii_ts; member
1215 container_of(mii_ts, struct dp83640_private, mii_ts); in dp83640_hwtstamp()
1323 container_of(mii_ts, struct dp83640_private, mii_ts); in dp83640_rxtstamp()
1374 container_of(mii_ts, struct dp83640_private, mii_ts); in dp83640_txtstamp()
1401 container_of(mii_ts, struct dp83640_private, mii_ts); in dp83640_ts_info()
1439 dp83640->mii_ts.rxtstamp = dp83640_rxtstamp; in dp83640_probe()
1440 dp83640->mii_ts.txtstamp = dp83640_txtstamp; in dp83640_probe()
1441 dp83640->mii_ts.hwtstamp = dp83640_hwtstamp; in dp83640_probe()
1442 dp83640->mii_ts.ts_info = dp83640_ts_info; in dp83640_probe()
1452 phydev->mii_ts = &dp83640->mii_ts; in dp83640_probe()
[all …]
H A Dnxp-c45-tja11xx.c983 mii_ts); in nxp_c45_txtstamp()
1005 mii_ts); in nxp_c45_rxtstamp()
1021 static int nxp_c45_hwtstamp(struct mii_timestamper *mii_ts, in nxp_c45_hwtstamp() argument
1026 mii_ts); in nxp_c45_hwtstamp()
1074 static int nxp_c45_ts_info(struct mii_timestamper *mii_ts, in nxp_c45_ts_info() argument
1078 mii_ts); in nxp_c45_ts_info()
1756 priv->mii_ts.rxtstamp = nxp_c45_rxtstamp; in nxp_c45_probe()
1757 priv->mii_ts.txtstamp = nxp_c45_txtstamp; in nxp_c45_probe()
1758 priv->mii_ts.hwtstamp = nxp_c45_hwtstamp; in nxp_c45_probe()
1759 priv->mii_ts.ts_info = nxp_c45_ts_info; in nxp_c45_probe()
[all …]
H A Dmicrel.c408 struct mii_timestamper mii_ts; member
2652 struct kszphy_ptp_priv *ptp_priv = container_of(mii_ts, struct kszphy_ptp_priv, mii_ts); in lan8814_ts_info()
2693 container_of(mii_ts, struct kszphy_ptp_priv, mii_ts); in lan8814_hwtstamp()
2775 struct kszphy_ptp_priv *ptp_priv = container_of(mii_ts, struct kszphy_ptp_priv, mii_ts); in lan8814_txtstamp()
2851 container_of(mii_ts, struct kszphy_ptp_priv, mii_ts); in lan8814_rxtstamp()
3877 phydev->mii_ts = &ptp_priv->mii_ts; in lan8814_ptp_init()
4418 ptp_priv = container_of(mii_ts, struct kszphy_ptp_priv, mii_ts); in lan8841_ts_info()
4494 struct kszphy_ptp_priv *ptp_priv = container_of(mii_ts, struct kszphy_ptp_priv, mii_ts); in lan8841_hwtstamp()
4569 container_of(mii_ts, struct kszphy_ptp_priv, mii_ts); in lan8841_rxtstamp()
5375 ptp_priv->mii_ts.ts_info = lan8841_ts_info; in lan8841_probe()
[all …]
H A Dnxp-c45-tja11xx.h16 struct mii_timestamper mii_ts; member
H A Dphy.c408 if (phydev->mii_ts && phydev->mii_ts->hwtstamp) { in phy_mii_ioctl()
413 ret = phydev->mii_ts->hwtstamp(phydev->mii_ts, &kernel_cfg, &extack); in phy_mii_ioctl()
496 if (phydev->mii_ts && phydev->mii_ts->hwtstamp) in __phy_hwtstamp_set()
497 return phydev->mii_ts->hwtstamp(phydev->mii_ts, config, extack); in __phy_hwtstamp_set()
H A Dmicrochip_rds_ptp.h177 struct mii_timestamper mii_ts; member
H A Dphy_device.c256 if (phydev->mii_ts && phydev->mii_ts->link_state) in phy_link_change()
257 phydev->mii_ts->link_state(phydev->mii_ts, phydev); in phy_link_change()
1054 unregister_mii_timestamper(phydev->mii_ts); in phy_device_remove()
/linux-6.15/include/linux/
H A Dmii_timestamper.h48 bool (*rxtstamp)(struct mii_timestamper *mii_ts,
51 void (*txtstamp)(struct mii_timestamper *mii_ts,
54 int (*hwtstamp)(struct mii_timestamper *mii_ts,
58 void (*link_state)(struct mii_timestamper *mii_ts,
61 int (*ts_info)(struct mii_timestamper *mii_ts,
82 struct mii_timestamper *mii_ts);
95 void unregister_mii_timestamper(struct mii_timestamper *mii_ts);
117 static inline void unregister_mii_timestamper(struct mii_timestamper *mii_ts) in unregister_mii_timestamper() argument
H A Dphy.h724 struct mii_timestamper *mii_ts; member
1618 return phydev && phydev->mii_ts && phydev->mii_ts->hwtstamp; in phy_has_hwtstamp()
1627 return phydev && phydev->mii_ts && phydev->mii_ts->rxtstamp; in phy_has_rxtstamp()
1637 return phydev && phydev->mii_ts && phydev->mii_ts->ts_info; in phy_has_tsinfo()
1646 return phydev && phydev->mii_ts && phydev->mii_ts->txtstamp; in phy_has_txtstamp()
1653 return phydev->mii_ts->hwtstamp(phydev->mii_ts, cfg, extack); in phy_hwtstamp()
1659 return phydev->mii_ts->rxtstamp(phydev->mii_ts, skb, type); in phy_rxtstamp()
1665 return phydev->mii_ts->ts_info(phydev->mii_ts, tsinfo); in phy_ts_info()
1671 phydev->mii_ts->txtstamp(phydev->mii_ts, skb, type); in phy_txtstamp()
/linux-6.15/drivers/net/mdio/
H A Dfwnode_mdio.c43 struct mii_timestamper *mii_ts; in fwnode_find_mii_timestamper() local
58 mii_ts = ERR_PTR(-EINVAL); in fwnode_find_mii_timestamper()
62 mii_ts = register_mii_timestamper(arg.np, arg.args[0]); in fwnode_find_mii_timestamper()
66 return mii_ts; in fwnode_find_mii_timestamper()
124 struct mii_timestamper *mii_ts = NULL; in fwnode_mdiobus_register_phy() local
135 mii_ts = fwnode_find_mii_timestamper(child); in fwnode_mdiobus_register_phy()
136 if (IS_ERR(mii_ts)) { in fwnode_mdiobus_register_phy()
137 rc = PTR_ERR(mii_ts); in fwnode_mdiobus_register_phy()
178 if (mii_ts) in fwnode_mdiobus_register_phy()
179 phy->mii_ts = mii_ts; in fwnode_mdiobus_register_phy()
[all …]
/linux-6.15/drivers/ptp/
H A Dptp_ines.c147 struct mii_timestamper mii_ts; member
335 struct ines_port *port = container_of(mii_ts, struct ines_port, mii_ts); in ines_hwtstamp()
400 struct ines_port *port = container_of(mii_ts, struct ines_port, mii_ts); in ines_link_state()
476 struct ines_port *port = container_of(mii_ts, struct ines_port, mii_ts); in ines_rxtstamp()
614 struct ines_port *port = container_of(mii_ts, struct ines_port, mii_ts); in ines_txtstamp()
710 port->mii_ts.rxtstamp = ines_rxtstamp; in ines_ptp_probe_channel()
711 port->mii_ts.txtstamp = ines_txtstamp; in ines_ptp_probe_channel()
712 port->mii_ts.hwtstamp = ines_hwtstamp; in ines_ptp_probe_channel()
714 port->mii_ts.ts_info = ines_ts_info; in ines_ptp_probe_channel()
716 return &port->mii_ts; in ines_ptp_probe_channel()
[all …]
/linux-6.15/drivers/net/phy/mscc/
H A Dmscc_ptp.c1051 static int vsc85xx_hwtstamp(struct mii_timestamper *mii_ts, in vsc85xx_hwtstamp() argument
1056 container_of(mii_ts, struct vsc8531_private, mii_ts); in vsc85xx_hwtstamp()
1139 static int vsc85xx_ts_info(struct mii_timestamper *mii_ts, in vsc85xx_ts_info() argument
1143 container_of(mii_ts, struct vsc8531_private, mii_ts); in vsc85xx_ts_info()
1166 container_of(mii_ts, struct vsc8531_private, mii_ts); in vsc85xx_txtstamp()
1187 container_of(mii_ts, struct vsc8531_private, mii_ts); in vsc85xx_rxtstamp()
1485 vsc8531->mii_ts.rxtstamp = vsc85xx_rxtstamp; in __vsc8584_init_ptp()
1486 vsc8531->mii_ts.txtstamp = vsc85xx_txtstamp; in __vsc8584_init_ptp()
1487 vsc8531->mii_ts.hwtstamp = vsc85xx_hwtstamp; in __vsc8584_init_ptp()
1488 vsc8531->mii_ts.ts_info = vsc85xx_ts_info; in __vsc8584_init_ptp()
[all …]
H A Dmscc.h393 struct mii_timestamper mii_ts; member
/linux-6.15/Documentation/networking/
H A Dtimestamping.rst764 mii_timestamper`` and add a pointer to it in ``phydev->mii_ts``. The presence
781 enabled, and ``skb->dev->phydev->mii_ts`` exists, its ``.rxtstamp()`` hook
793 function that calls the ``mii_ts->txtstamp()`` hook is named
808 for the rest, they use the same mii_ts infrastructure as those. See