Home
last modified time | relevance | path

Searched refs:perout (Results 1 – 25 of 37) sorted by relevance

12

/linux-6.12.1/drivers/ptp/
Dptp_chardev.c37 rq.perout.index = chan; in ptp_disable_pinfunc()
247 if (copy_from_user(&req.perout, (void __user *)arg, in ptp_ioctl()
248 sizeof(req.perout))) { in ptp_ioctl()
253 struct ptp_perout_request *perout = &req.perout; in ptp_ioctl() local
255 if (perout->flags & ~PTP_PEROUT_VALID_FLAGS) { in ptp_ioctl()
264 if (!(perout->flags & PTP_PEROUT_DUTY_CYCLE) && in ptp_ioctl()
265 (perout->rsv[0] || perout->rsv[1] || in ptp_ioctl()
266 perout->rsv[2] || perout->rsv[3])) { in ptp_ioctl()
270 if (perout->flags & PTP_PEROUT_DUTY_CYCLE) { in ptp_ioctl()
272 if (perout->on.sec > perout->period.sec || in ptp_ioctl()
[all …]
Dptp_sysfs.c120 cnt = sscanf(buf, "%u %lld %u %lld %u", &req.perout.index, in period_store()
121 &req.perout.start.sec, &req.perout.start.nsec, in period_store()
122 &req.perout.period.sec, &req.perout.period.nsec); in period_store()
125 if (req.perout.index >= ops->n_per_out) in period_store()
128 enable = req.perout.period.sec || req.perout.period.nsec; in period_store()
Dptp_idt82p33.c900 struct ptp_perout_request *perout) in idt82p33_perout_enable() argument
903 return idt82p33_output_enable(channel, enable, perout->index); in idt82p33_perout_enable()
957 &rq->perout); in idt82p33_enable()
959 else if (rq->perout.start.nsec || rq->perout.period.sec != 1 || in idt82p33_enable()
960 rq->perout.period.nsec) in idt82p33_enable()
964 &rq->perout); in idt82p33_enable()
Dptp_clockmatrix.c1356 struct ptp_perout_request *perout, in idtcm_perout_enable() argument
1363 err = idtcm_output_enable(channel, enable, perout->index); in idtcm_perout_enable()
1943 err = idtcm_perout_enable(channel, &rq->perout, false); in idtcm_enable()
1945 else if (rq->perout.start.nsec || rq->perout.period.sec != 1 || in idtcm_enable()
1946 rq->perout.period.nsec) in idtcm_enable()
1949 err = idtcm_perout_enable(channel, &rq->perout, true); in idtcm_enable()
Dptp_fc3.c546 else if (rq->perout.start.nsec || rq->perout.period.sec != 1 || in idtfc3_enable()
547 rq->perout.period.nsec) in idtfc3_enable()
/linux-6.12.1/drivers/net/ethernet/renesas/
Dravb_ptp.c212 struct ravb_ptp_perout *perout; in ravb_ptp_perout() local
244 perout = &priv->ptp.perout[req->index]; in ravb_ptp_perout()
245 perout->target = (u32)start_ns; in ravb_ptp_perout()
246 perout->period = (u32)period_ns; in ravb_ptp_perout()
258 perout = &priv->ptp.perout[req->index]; in ravb_ptp_perout()
259 perout->period = 0; in ravb_ptp_perout()
279 return ravb_ptp_perout(ptp, &req->perout, on); in ravb_ptp_enable()
314 struct ravb_ptp_perout *perout = priv->ptp.perout; in ravb_ptp_interrupt() local
316 if (perout->period) { in ravb_ptp_interrupt()
317 perout->target += perout->period; in ravb_ptp_interrupt()
[all …]
/linux-6.12.1/drivers/net/ethernet/microchip/
Dlan743x_ptp.c428 struct lan743x_ptp_perout *perout = &ptp->perout[index]; in lan743x_ptp_perout_off() local
430 if (perout->gpio_pin >= 0) { in lan743x_ptp_perout_off()
431 lan743x_gpio_release(adapter, perout->gpio_pin); in lan743x_ptp_perout_off()
432 perout->gpio_pin = -1; in lan743x_ptp_perout_off()
435 if (perout->event_ch >= 0) { in lan743x_ptp_perout_off()
438 PTP_CLOCK_TARGET_SEC_X(perout->event_ch), in lan743x_ptp_perout_off()
441 PTP_CLOCK_TARGET_NS_X(perout->event_ch), in lan743x_ptp_perout_off()
446 (perout->event_ch); in lan743x_ptp_perout_off()
448 lan743x_ptp_release_event_ch(adapter, perout->event_ch); in lan743x_ptp_perout_off()
449 perout->event_ch = -1; in lan743x_ptp_perout_off()
[all …]
Dlan743x_ptp.h83 struct lan743x_ptp_perout perout[LAN743X_PTP_N_PEROUT]; member
/linux-6.12.1/drivers/net/ethernet/intel/igb/
Digb_ptp.c543 if (rq->perout.flags) in igb_ptp_feature_enable_82580()
548 rq->perout.index); in igb_ptp_feature_enable_82580()
552 ts.tv_sec = rq->perout.period.sec; in igb_ptp_feature_enable_82580()
553 ts.tv_nsec = rq->perout.period.nsec; in igb_ptp_feature_enable_82580()
559 if (rq->perout.index == 1) { in igb_ptp_feature_enable_82580()
573 if (rq->perout.index == 1) { in igb_ptp_feature_enable_82580()
581 int i = rq->perout.index; in igb_ptp_feature_enable_82580()
619 igb->perout[i].start.tv_sec = start.tv_sec; in igb_ptp_feature_enable_82580()
620 igb->perout[i].start.tv_nsec = start.tv_nsec; in igb_ptp_feature_enable_82580()
621 igb->perout[i].period.tv_sec = ts.tv_sec; in igb_ptp_feature_enable_82580()
[all …]
/linux-6.12.1/drivers/net/ethernet/stmicro/stmmac/
Dstmmac_ptp.c177 if (rq->perout.flags) in stmmac_enable()
180 cfg = &priv->pps[rq->perout.index]; in stmmac_enable()
182 cfg->start.tv_sec = rq->perout.start.sec; in stmmac_enable()
183 cfg->start.tv_nsec = rq->perout.start.nsec; in stmmac_enable()
184 cfg->period.tv_sec = rq->perout.period.sec; in stmmac_enable()
185 cfg->period.tv_nsec = rq->perout.period.nsec; in stmmac_enable()
189 rq->perout.index, cfg, on, in stmmac_enable()
/linux-6.12.1/drivers/net/ethernet/intel/igc/
Digc_ptp.c304 if (rq->perout.flags) in igc_ptp_feature_enable_i225()
309 rq->perout.index); in igc_ptp_feature_enable_i225()
313 ts.tv_sec = rq->perout.period.sec; in igc_ptp_feature_enable_i225()
314 ts.tv_nsec = rq->perout.period.nsec; in igc_ptp_feature_enable_i225()
324 if (rq->perout.index == 1) { in igc_ptp_feature_enable_i225()
350 if (rq->perout.index == 1) { in igc_ptp_feature_enable_i225()
361 int i = rq->perout.index; in igc_ptp_feature_enable_i225()
378 if (rq->perout.start.sec < safe_start.tv_sec) in igc_ptp_feature_enable_i225()
379 igc->perout[i].start.tv_sec = safe_start.tv_sec; in igc_ptp_feature_enable_i225()
381 igc->perout[i].start.tv_sec = rq->perout.start.sec; in igc_ptp_feature_enable_i225()
[all …]
/linux-6.12.1/drivers/net/ethernet/mellanox/mlx5/core/lib/
Dclock.c633 ts.tv_nsec = rq->perout.period.nsec; in perout_conf_1pps()
634 ts.tv_sec = rq->perout.period.sec; in perout_conf_1pps()
640 *time_stamp = real_time ? perout_conf_real_time(rq->perout.start.sec, 0) : in perout_conf_1pps()
641 perout_conf_internal_timer(mdev, rq->perout.start.sec); in perout_conf_1pps()
655 if (rq->perout.flags & PTP_PEROUT_DUTY_CYCLE) { in mlx5_perout_conf_out_pulse_duration()
656 ts.tv_sec = rq->perout.on.sec; in mlx5_perout_conf_out_pulse_duration()
657 ts.tv_nsec = rq->perout.on.nsec; in mlx5_perout_conf_out_pulse_duration()
663 ts.tv_sec = rq->perout.period.sec; in mlx5_perout_conf_out_pulse_duration()
664 ts.tv_nsec = rq->perout.period.nsec; in mlx5_perout_conf_out_pulse_duration()
685 struct ptp_clock_time *time = &rq->perout.start; in perout_conf_npps_real_time()
[all …]
/linux-6.12.1/drivers/net/ethernet/microchip/lan966x/
Dlan966x_ptp.c818 if (rq->perout.flags & ~(PTP_PEROUT_DUTY_CYCLE | in lan966x_ptp_perout()
822 pin = ptp_find_pin(phc->clock, PTP_PF_PEROUT, rq->perout.index); in lan966x_ptp_perout()
839 if (rq->perout.period.sec == 1 && in lan966x_ptp_perout()
840 rq->perout.period.nsec == 0) in lan966x_ptp_perout()
843 if (rq->perout.flags & PTP_PEROUT_PHASE) { in lan966x_ptp_perout()
844 ts_phase.tv_sec = rq->perout.phase.sec; in lan966x_ptp_perout()
845 ts_phase.tv_nsec = rq->perout.phase.nsec; in lan966x_ptp_perout()
847 ts_phase.tv_sec = rq->perout.start.sec; in lan966x_ptp_perout()
848 ts_phase.tv_nsec = rq->perout.start.nsec; in lan966x_ptp_perout()
857 if (rq->perout.flags & PTP_PEROUT_DUTY_CYCLE) { in lan966x_ptp_perout()
[all …]
/linux-6.12.1/tools/testing/selftests/ptp/
Dtestptp.c197 int64_t perout = -1; in main() local
248 perout = atoll(optarg); in main()
470 if (pulsewidth >= 0 && perout < 0) { in main()
475 if (perout_phase >= 0 && perout < 0) { in main()
480 if (perout >= 0) { in main()
487 perout_request.period.sec = perout / NSEC_PER_SEC; in main()
488 perout_request.period.nsec = perout % NSEC_PER_SEC; in main()
/linux-6.12.1/drivers/net/ethernet/mscc/
Docelot_ptp.c213 if (rq->perout.flags & ~(PTP_PEROUT_DUTY_CYCLE | in ocelot_ptp_enable()
218 rq->perout.index); in ocelot_ptp_enable()
230 ts_period.tv_sec = rq->perout.period.sec; in ocelot_ptp_enable()
231 ts_period.tv_nsec = rq->perout.period.nsec; in ocelot_ptp_enable()
245 if (rq->perout.flags & PTP_PEROUT_PHASE) { in ocelot_ptp_enable()
246 ts_phase.tv_sec = rq->perout.phase.sec; in ocelot_ptp_enable()
247 ts_phase.tv_nsec = rq->perout.phase.nsec; in ocelot_ptp_enable()
250 ts_phase.tv_sec = rq->perout.start.sec; in ocelot_ptp_enable()
251 ts_phase.tv_nsec = rq->perout.start.nsec; in ocelot_ptp_enable()
262 if (rq->perout.flags & PTP_PEROUT_DUTY_CYCLE) { in ocelot_ptp_enable()
[all …]
/linux-6.12.1/drivers/net/dsa/sja1105/
Dsja1105_ptp.c718 struct ptp_perout_request *perout, in sja1105_per_out_enable() argument
727 if (perout->index != 0) in sja1105_per_out_enable()
731 if (perout->flags) in sja1105_per_out_enable()
742 .tv_sec = perout->period.sec, in sja1105_per_out_enable()
743 .tv_nsec = perout->period.nsec, in sja1105_per_out_enable()
746 .tv_sec = perout->start.sec, in sja1105_per_out_enable()
747 .tv_nsec = perout->start.nsec, in sja1105_per_out_enable()
848 rc = sja1105_per_out_enable(priv, &req->perout, on); in sja1105_ptp_enable()
/linux-6.12.1/drivers/net/ethernet/ti/icssg/
Dicss_iep.c564 rq.perout.index = 0; in icss_iep_pps_enable()
568 rq.perout.period.sec = 1; in icss_iep_pps_enable()
569 rq.perout.period.nsec = 0; in icss_iep_pps_enable()
570 rq.perout.start.sec = ts.tv_sec + 2; in icss_iep_pps_enable()
571 rq.perout.start.nsec = 0; in icss_iep_pps_enable()
572 ret = icss_iep_perout_enable_hw(iep, &rq.perout, on); in icss_iep_pps_enable()
574 ret = icss_iep_perout_enable_hw(iep, &rq.perout, on); in icss_iep_pps_enable()
626 return icss_iep_perout_enable(iep, &rq->perout, on); in icss_iep_ptp_enable()
/linux-6.12.1/drivers/net/ethernet/freescale/
Dfec_ptp.c536 if (rq->perout.flags) in fec_ptp_enable()
539 if (rq->perout.index != DEFAULT_PPS_CHANNEL) in fec_ptp_enable()
543 period.tv_sec = rq->perout.period.sec; in fec_ptp_enable()
544 period.tv_nsec = rq->perout.period.nsec; in fec_ptp_enable()
558 start_time.tv_sec = rq->perout.start.sec; in fec_ptp_enable()
559 start_time.tv_nsec = rq->perout.start.nsec; in fec_ptp_enable()
/linux-6.12.1/drivers/net/ethernet/marvell/octeontx2/nic/
Dotx2_ptp.c363 if (rq->perout.flags) in otx2_ptp_enable()
366 if (rq->perout.index >= ptp_info->n_pins) in otx2_ptp_enable()
369 period = rq->perout.period.sec * NSEC_PER_SEC + in otx2_ptp_enable()
370 rq->perout.period.nsec; in otx2_ptp_enable()
/linux-6.12.1/drivers/net/phy/
Dnxp-c45-tja11xx.c746 struct ptp_perout_request *perout, int on) in nxp_c45_perout_enable() argument
752 if (perout->flags & ~PTP_PEROUT_PHASE) in nxp_c45_perout_enable()
755 pin = ptp_find_pin(priv->ptp_clock, PTP_PF_PEROUT, perout->index); in nxp_c45_perout_enable()
774 if (perout->period.sec != 1 || perout->period.nsec != 0) { in nxp_c45_perout_enable()
779 if (!(perout->flags & PTP_PEROUT_PHASE)) { in nxp_c45_perout_enable()
780 if (perout->start.sec != 0 || perout->start.nsec != 0) { in nxp_c45_perout_enable()
785 if (perout->phase.nsec != 0 && in nxp_c45_perout_enable()
786 perout->phase.nsec != (NSEC_PER_SEC >> 1)) { in nxp_c45_perout_enable()
791 if (perout->phase.nsec == 0) in nxp_c45_perout_enable()
895 return nxp_c45_perout_enable(priv, &req->perout, on); in nxp_c45_ptp_enable()
Dmicrel.c3144 if (rq->perout.flags & ~PTP_PEROUT_DUTY_CYCLE) in lan8814_ptp_perout()
3148 event = rq->perout.index; in lan8814_ptp_perout()
3162 ts_on.tv_sec = rq->perout.on.sec; in lan8814_ptp_perout()
3163 ts_on.tv_nsec = rq->perout.on.nsec; in lan8814_ptp_perout()
3166 ts_period.tv_sec = rq->perout.period.sec; in lan8814_ptp_perout()
3167 ts_period.tv_nsec = rq->perout.period.nsec; in lan8814_ptp_perout()
3236 lan8814_ptp_set_target(phydev, event, rq->perout.start.sec, in lan8814_ptp_perout()
3237 rq->perout.start.nsec); in lan8814_ptp_perout()
3238 lan8814_ptp_set_reload(phydev, event, rq->perout.period.sec, in lan8814_ptp_perout()
3239 rq->perout.period.nsec); in lan8814_ptp_perout()
[all …]
Ddp83640.c338 sec = clkreq->perout.start.sec; in periodic_output()
339 nsec = clkreq->perout.start.nsec; in periodic_output()
340 pwidth = clkreq->perout.period.sec * 1000000000UL; in periodic_output()
341 pwidth += clkreq->perout.period.nsec; in periodic_output()
517 if (rq->perout.flags) in ptp_dp83640_enable()
519 if (rq->perout.index >= N_PER_OUT) in ptp_dp83640_enable()
521 return periodic_output(clock, rq, on, rq->perout.index); in ptp_dp83640_enable()
/linux-6.12.1/drivers/net/ethernet/ti/
Dam65-cpts.c714 rq.perout.period.sec = 1; in am65_cpts_pps_enable()
715 rq.perout.period.nsec = 0; in am65_cpts_pps_enable()
716 rq.perout.start.sec = ts.tv_sec + 2; in am65_cpts_pps_enable()
717 rq.perout.start.nsec = 0; in am65_cpts_pps_enable()
718 rq.perout.index = cpts->pps_genf_idx; in am65_cpts_pps_enable()
720 am65_cpts_perout_enable_hw(cpts, &rq.perout, on); in am65_cpts_pps_enable()
723 rq.perout.index = cpts->pps_genf_idx; in am65_cpts_pps_enable()
724 am65_cpts_perout_enable_hw(cpts, &rq.perout, on); in am65_cpts_pps_enable()
745 return am65_cpts_perout_enable(cpts, &rq->perout, on); in am65_cpts_ptp_enable()
/linux-6.12.1/include/linux/
Dptp_clock_kernel.h40 struct ptp_perout_request perout; member
/linux-6.12.1/drivers/net/ethernet/intel/ice/
Dice_ptp.c1925 chan = rq->perout.index; in ice_ptp_gpio_enable_e810()
1944 clk_cfg.flags = rq->perout.flags; in ice_ptp_gpio_enable_e810()
1945 clk_cfg.period = ((rq->perout.period.sec * NSEC_PER_SEC) + in ice_ptp_gpio_enable_e810()
1946 rq->perout.period.nsec); in ice_ptp_gpio_enable_e810()
1947 clk_cfg.start_time = ((rq->perout.start.sec * NSEC_PER_SEC) + in ice_ptp_gpio_enable_e810()
1948 rq->perout.start.nsec); in ice_ptp_gpio_enable_e810()
1999 clk_cfg.flags = rq->perout.flags; in ice_ptp_gpio_enable_e823()

12