Lines Matching refs:ps

95 	struct mv88e6xxx_port_hwtstamp *ps = &chip->port_hwtstamp[port];
101 clear_bit_unlock(MV88E6XXX_HWTSTAMP_ENABLED, &ps->state);
166 set_bit(MV88E6XXX_HWTSTAMP_ENABLED, &ps->state);
175 struct mv88e6xxx_port_hwtstamp *ps = &chip->port_hwtstamp[port];
190 memcpy(&ps->tstamp_config, &config, sizeof(config));
200 struct mv88e6xxx_port_hwtstamp *ps = &chip->port_hwtstamp[port];
201 struct hwtstamp_config *config = &ps->tstamp_config;
217 struct mv88e6xxx_port_hwtstamp *ps = &chip->port_hwtstamp[port];
227 if (!test_bit(MV88E6XXX_HWTSTAMP_ENABLED, &ps->state))
253 struct mv88e6xxx_port_hwtstamp *ps,
271 err = mv88e6xxx_port_ptp_read(chip, ps->port_id,
284 err = mv88e6xxx_port_ptp_write(chip, ps->port_id, reg, 0);
309 struct mv88e6xxx_port_hwtstamp *ps)
314 skb = skb_dequeue(&ps->rx_queue);
317 mv88e6xxx_get_rxts(chip, ps, skb, ptp_ops->arr0_sts_reg,
318 &ps->rx_queue);
320 skb = skb_dequeue(&ps->rx_queue2);
322 mv88e6xxx_get_rxts(chip, ps, skb, ptp_ops->arr1_sts_reg,
323 &ps->rx_queue2);
334 struct mv88e6xxx_port_hwtstamp *ps;
339 ps = &chip->port_hwtstamp[port];
341 if (ps->tstamp_config.rx_filter != HWTSTAMP_FILTER_PTP_V2_EVENT)
351 skb_queue_tail(&ps->rx_queue2, skb);
353 skb_queue_tail(&ps->rx_queue, skb);
361 struct mv88e6xxx_port_hwtstamp *ps)
371 if (!ps->tx_skb)
375 err = mv88e6xxx_port_ptp_read(chip, ps->port_id,
385 if (time_is_before_jiffies(ps->tx_tstamp_start +
388 ps->port_id);
400 mv88e6xxx_port_ptp_write(chip, ps->port_id, ptp_ops->dep_sts_reg, 0);
405 dev_warn(chip->dev, "p%d: tx timestamp overrun\n", ps->port_id);
409 if (departure_block[3] != ps->tx_seq_id) {
410 dev_warn(chip->dev, "p%d: unexpected seq. id\n", ps->port_id);
423 ps->port_id, ktime_to_ns(shhwtstamps.hwtstamp),
424 departure_block[0], ps->tx_seq_id, departure_block[3]);
428 * -- by clearing the ps->tx_skb "flag" -- beforehand.
431 tmp_skb = ps->tx_skb;
432 ps->tx_skb = NULL;
433 clear_bit_unlock(MV88E6XXX_HWTSTAMP_TX_IN_PROGRESS, &ps->state);
439 dev_kfree_skb_any(ps->tx_skb);
440 ps->tx_skb = NULL;
441 clear_bit_unlock(MV88E6XXX_HWTSTAMP_TX_IN_PROGRESS, &ps->state);
450 struct mv88e6xxx_port_hwtstamp *ps;
457 ps = &chip->port_hwtstamp[i];
458 if (test_bit(MV88E6XXX_HWTSTAMP_TX_IN_PROGRESS, &ps->state))
459 restart |= mv88e6xxx_txtstamp_work(chip, ps);
461 mv88e6xxx_rxtstamp_work(chip, ps);
471 struct mv88e6xxx_port_hwtstamp *ps = &chip->port_hwtstamp[port];
489 &ps->state)) {
494 ps->tx_skb = clone;
495 ps->tx_tstamp_start = jiffies;
496 ps->tx_seq_id = be16_to_cpu(hdr->sequence_id);
543 struct mv88e6xxx_port_hwtstamp *ps = &chip->port_hwtstamp[port];
545 ps->port_id = port;
547 skb_queue_head_init(&ps->rx_queue);
548 skb_queue_head_init(&ps->rx_queue2);