Lines Matching defs:vsc8531
507 struct vsc8531_private *vsc8531 = phydev->priv;
508 bool base = phydev->mdio.addr == vsc8531->ts_base_addr;
541 struct vsc8531_private *vsc8531 = phydev->priv;
542 bool base = phydev->mdio.addr == vsc8531->ts_base_addr;
573 struct vsc8531_private *vsc8531 = phydev->priv;
574 bool base = phydev->mdio.addr == vsc8531->ts_base_addr;
884 struct vsc8531_private *vsc8531 = phydev->priv;
887 if (vsc8531->ptp->rx_filter == HWTSTAMP_FILTER_PTP_V2_L2_EVENT) {
962 struct vsc8531_private *vsc8531 = phydev->priv;
963 bool ptp_l4, base = phydev->mdio.addr == vsc8531->ts_base_addr;
967 ptp_l4 = vsc8531->ptp->rx_filter == HWTSTAMP_FILTER_PTP_V2_L4_EVENT;
977 if (vsc8531->ptp->rx_filter == HWTSTAMP_FILTER_PTP_V2_L2_EVENT) {
997 vsc8531->ptp->rx_filter != HWTSTAMP_FILTER_NONE);
999 ptp_l4 && vsc8531->ptp->rx_filter != HWTSTAMP_FILTER_NONE);
1001 vsc8531->ptp->rx_filter != HWTSTAMP_FILTER_NONE);
1004 vsc8531->ptp->tx_type != HWTSTAMP_TX_OFF);
1006 ptp_l4 && vsc8531->ptp->tx_type != HWTSTAMP_TX_OFF);
1008 vsc8531->ptp->tx_type != HWTSTAMP_TX_OFF);
1011 if (vsc8531->ptp->tx_type != HWTSTAMP_TX_OFF)
1015 if (vsc8531->ptp->rx_filter != HWTSTAMP_FILTER_NONE)
1050 struct vsc8531_private *vsc8531 =
1052 struct phy_device *phydev = vsc8531->ptp->phydev;
1075 vsc8531->ptp->tx_type = cfg.tx_type;
1090 vsc8531->ptp->rx_filter = cfg.rx_filter;
1092 mutex_lock(&vsc8531->ts_lock);
1094 __skb_queue_purge(&vsc8531->ptp->tx_queue);
1095 __skb_queue_head_init(&vsc8531->ptp->tx_queue);
1112 if (vsc8531->ptp->tx_type == HWTSTAMP_TX_OFF)
1114 if (vsc8531->ptp->rx_filter == HWTSTAMP_FILTER_NONE)
1135 vsc8531->ptp->configured = 1;
1136 mutex_unlock(&vsc8531->ts_lock);
1144 struct vsc8531_private *vsc8531 =
1147 info->phc_index = ptp_clock_index(vsc8531->ptp->ptp_clock);
1167 struct vsc8531_private *vsc8531 =
1170 if (!vsc8531->ptp->configured)
1173 if (vsc8531->ptp->tx_type == HWTSTAMP_TX_OFF) {
1180 mutex_lock(&vsc8531->ts_lock);
1181 __skb_queue_tail(&vsc8531->ptp->tx_queue, skb);
1182 mutex_unlock(&vsc8531->ts_lock);
1188 struct vsc8531_private *vsc8531 =
1195 if (!vsc8531->ptp->configured)
1198 if (vsc8531->ptp->rx_filter == HWTSTAMP_FILTER_NONE ||
1202 vsc85xx_gettime(&vsc8531->ptp->caps, &ts);
1204 ptphdr = get_ptp_header_rx(skb, vsc8531->ptp->rx_filter);
1240 struct vsc8531_private *vsc8531 = phydev->priv;
1242 if (vsc8531->ts_base_addr != phydev->mdio.addr) {
1245 dev = phydev->mdio.bus->mdio_map[vsc8531->ts_base_addr];
1251 return vsc8531;
1256 struct vsc8531_private *vsc8531 = vsc8584_base_priv(phydev);
1258 return vsc8531->input_clk_init;
1263 struct vsc8531_private *vsc8531 = vsc8584_base_priv(phydev);
1265 vsc8531->input_clk_init = true;
1270 struct vsc8531_private *vsc8531 = phydev->priv;
1487 vsc8531->mii_ts.rxtstamp = vsc85xx_rxtstamp;
1488 vsc8531->mii_ts.txtstamp = vsc85xx_txtstamp;
1489 vsc8531->mii_ts.hwtstamp = vsc85xx_hwtstamp;
1490 vsc8531->mii_ts.ts_info = vsc85xx_ts_info;
1491 phydev->mii_ts = &vsc8531->mii_ts;
1493 memcpy(&vsc8531->ptp->caps, &vsc85xx_clk_caps, sizeof(vsc85xx_clk_caps));
1495 vsc8531->ptp->ptp_clock = ptp_clock_register(&vsc8531->ptp->caps,
1497 return PTR_ERR_OR_ZERO(vsc8531->ptp->ptp_clock);
1552 struct vsc8531_private *vsc8531 = phydev->priv;
1554 vsc8531->ptp = devm_kzalloc(&phydev->mdio.dev, sizeof(*vsc8531->ptp),
1556 if (!vsc8531->ptp)
1559 mutex_init(&vsc8531->phc_lock);
1560 mutex_init(&vsc8531->ts_lock);
1567 vsc8531->load_save = devm_gpiod_get_optional(&phydev->mdio.dev, "load-save",
1570 if (IS_ERR(vsc8531->load_save)) {
1572 PTR_ERR(vsc8531->load_save));
1573 return PTR_ERR(vsc8531->load_save);
1576 vsc8531->ptp->phydev = phydev;