| /linux/drivers/ptp/ |
| H A D | ptp_chardev.c | 38 rq.perout.index = chan; in ptp_disable_pinfunc() 250 struct ptp_perout_request *perout = &req.perout; in ptp_perout_request() local 253 if (copy_from_user(perout, arg, sizeof(*perout))) in ptp_perout_request() 257 if (perout->flags & ~PTP_PEROUT_VALID_FLAGS) in ptp_perout_request() 265 if (!(perout->flags & PTP_PEROUT_DUTY_CYCLE) && in ptp_perout_request() 266 !mem_is_zero(perout->rsv, sizeof(perout->rsv))) in ptp_perout_request() 269 if (perout->flags & PTP_PEROUT_DUTY_CYCLE) { in ptp_perout_request() 271 if (perout->on.sec > perout->period.sec || in ptp_perout_request() 272 (perout->on.sec == perout->period.sec && in ptp_perout_request() 273 perout->on.nsec > perout->period.nsec)) in ptp_perout_request() [all …]
|
| H A D | ptp_sysfs.c | 120 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()
|
| H A D | ptp_idt82p33.c | 888 struct ptp_perout_request *perout) in idt82p33_perout_enable() argument 891 return idt82p33_output_enable(channel, enable, perout->index); in idt82p33_perout_enable() 945 &rq->perout); in idt82p33_enable() 947 else if (rq->perout.start.nsec || rq->perout.period.sec != 1 || in idt82p33_enable() 948 rq->perout.period.nsec) in idt82p33_enable() 952 &rq->perout); in idt82p33_enable()
|
| H A D | ptp_netc.c | 428 u32 channel = rq->perout.index; in net_timer_enable_perout() 448 period.tv_sec = rq->perout.period.sec; in net_timer_enable_perout() 449 period.tv_nsec = rq->perout.period.nsec; in net_timer_enable_perout() 478 stime.tv_sec = rq->perout.start.sec; in net_timer_enable_perout() 479 stime.tv_nsec = rq->perout.start.nsec; in net_timer_enable_perout()
|
| /linux/drivers/net/ethernet/renesas/ |
| H A D | ravb_ptp.c | 205 struct ravb_ptp_perout *perout; in ravb_ptp_perout() local 233 perout = &priv->ptp.perout[req->index]; in ravb_ptp_perout() 234 perout->target = (u32)start_ns; in ravb_ptp_perout() 235 perout->period = (u32)period_ns; in ravb_ptp_perout() 247 perout = &priv->ptp.perout[req->index]; in ravb_ptp_perout() 248 perout->period = 0; in ravb_ptp_perout() 268 return ravb_ptp_perout(ptp, &req->perout, on); in ravb_ptp_enable() 304 struct ravb_ptp_perout *perout = priv->ptp.perout; in ravb_ptp_interrupt() local 306 if (perout->period) { in ravb_ptp_interrupt() 307 perout->target += perout->period; in ravb_ptp_interrupt() [all …]
|
| /linux/drivers/net/ethernet/microchip/ |
| H A D | lan743x_ptp.c | 428 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 …]
|
| H A D | lan743x_ptp.h | 86 struct lan743x_ptp_perout perout[LAN743X_PTP_N_PEROUT]; member
|
| /linux/drivers/net/ethernet/amd/xgbe/ |
| H A D | xgbe-ptp.c | 120 pps_cfg = &pdata->pps[request->perout.index]; in xgbe_enable() 122 pps_cfg->start.tv_sec = request->perout.start.sec; in xgbe_enable() 123 pps_cfg->start.tv_nsec = request->perout.start.nsec; in xgbe_enable() 124 pps_cfg->period.tv_sec = request->perout.period.sec; in xgbe_enable() 125 pps_cfg->period.tv_nsec = request->perout.period.nsec; in xgbe_enable() 128 ret = xgbe_pps_config(pdata, pps_cfg, request->perout.index, on); in xgbe_enable()
|
| /linux/drivers/net/ethernet/intel/igb/ |
| H A D | igb_ptp.c | 542 if (rq->perout.flags) in igb_ptp_feature_enable_82580() 547 rq->perout.index); in igb_ptp_feature_enable_82580() 551 ts.tv_sec = rq->perout.period.sec; in igb_ptp_feature_enable_82580() 552 ts.tv_nsec = rq->perout.period.nsec; in igb_ptp_feature_enable_82580() 558 if (rq->perout.index == 1) { in igb_ptp_feature_enable_82580() 572 if (rq->perout.index == 1) { in igb_ptp_feature_enable_82580() 580 int i = rq->perout.index; in igb_ptp_feature_enable_82580() 618 igb->perout[i].start.tv_sec = start.tv_sec; in igb_ptp_feature_enable_82580() 619 igb->perout[i].start.tv_nsec = start.tv_nsec; in igb_ptp_feature_enable_82580() 620 igb->perout[i].period.tv_sec = ts.tv_sec; in igb_ptp_feature_enable_82580() [all …]
|
| /linux/drivers/net/ethernet/stmicro/stmmac/ |
| H A D | stmmac_ptp.c | 182 if (rq->perout.flags) in stmmac_enable() 185 cfg = &priv->pps[rq->perout.index]; in stmmac_enable() 187 cfg->start.tv_sec = rq->perout.start.sec; in stmmac_enable() 188 cfg->start.tv_nsec = rq->perout.start.nsec; in stmmac_enable() 214 cfg->period.tv_sec = rq->perout.period.sec; in stmmac_enable() 215 cfg->period.tv_nsec = rq->perout.period.nsec; in stmmac_enable() 219 rq->perout.index, cfg, on, in stmmac_enable()
|
| /linux/drivers/net/ethernet/intel/igc/ |
| H A D | igc_ptp.c | 298 rq->perout.index); in igc_ptp_feature_enable_i225() 302 ts.tv_sec = rq->perout.period.sec; in igc_ptp_feature_enable_i225() 303 ts.tv_nsec = rq->perout.period.nsec; in igc_ptp_feature_enable_i225() 313 if (rq->perout.index == 1) { in igc_ptp_feature_enable_i225() 339 if (rq->perout.index == 1) { in igc_ptp_feature_enable_i225() 350 int i = rq->perout.index; in igc_ptp_feature_enable_i225() 367 if (rq->perout.start.sec < safe_start.tv_sec) in igc_ptp_feature_enable_i225() 368 igc->perout[i].start.tv_sec = safe_start.tv_sec; in igc_ptp_feature_enable_i225() 370 igc->perout[i].start.tv_sec = rq->perout.start.sec; in igc_ptp_feature_enable_i225() 371 igc->perout[i].start.tv_nsec = rq->perout.start.nsec; in igc_ptp_feature_enable_i225() [all …]
|
| /linux/drivers/net/ethernet/microchip/lan966x/ |
| H A D | lan966x_ptp.c | 844 pin = ptp_find_pin(phc->clock, PTP_PF_PEROUT, rq->perout.index); in lan966x_ptp_perout() 861 if (rq->perout.period.sec == 1 && in lan966x_ptp_perout() 862 rq->perout.period.nsec == 0) in lan966x_ptp_perout() 865 if (rq->perout.flags & PTP_PEROUT_PHASE) { in lan966x_ptp_perout() 866 ts_phase.tv_sec = rq->perout.phase.sec; in lan966x_ptp_perout() 867 ts_phase.tv_nsec = rq->perout.phase.nsec; in lan966x_ptp_perout() 869 ts_phase.tv_sec = rq->perout.start.sec; in lan966x_ptp_perout() 870 ts_phase.tv_nsec = rq->perout.start.nsec; in lan966x_ptp_perout() 879 if (rq->perout.flags & PTP_PEROUT_DUTY_CYCLE) { in lan966x_ptp_perout() 882 ts_on.tv_sec = rq->perout.on.sec; in lan966x_ptp_perout() [all …]
|
| /linux/tools/testing/selftests/ptp/ |
| H A D | testptp.c | 203 int64_t perout = -1; in main() local 259 perout = atoll(optarg); in main() 503 if (pulsewidth >= 0 && perout < 0) { in main() 508 if (perout_phase >= 0 && perout < 0) { in main() 513 if (perout >= 0) { in main() 520 perout_request.period.sec = perout / NSEC_PER_SEC; in main() 521 perout_request.period.nsec = perout % NSEC_PER_SEC; in main()
|
| /linux/drivers/net/ethernet/mscc/ |
| H A D | ocelot_ptp.c | 215 rq->perout.index); in ocelot_ptp_enable() 227 ts_period.tv_sec = rq->perout.period.sec; in ocelot_ptp_enable() 228 ts_period.tv_nsec = rq->perout.period.nsec; in ocelot_ptp_enable() 242 if (rq->perout.flags & PTP_PEROUT_PHASE) { in ocelot_ptp_enable() 243 ts_phase.tv_sec = rq->perout.phase.sec; in ocelot_ptp_enable() 244 ts_phase.tv_nsec = rq->perout.phase.nsec; in ocelot_ptp_enable() 247 ts_phase.tv_sec = rq->perout.start.sec; in ocelot_ptp_enable() 248 ts_phase.tv_nsec = rq->perout.start.nsec; in ocelot_ptp_enable() 259 if (rq->perout.flags & PTP_PEROUT_DUTY_CYCLE) { in ocelot_ptp_enable() 262 ts_on.tv_sec = rq->perout.on.sec; in ocelot_ptp_enable() [all …]
|
| /linux/drivers/net/ethernet/ti/icssg/ |
| H A D | icss_iep.c | 595 rq.perout.index = 0; in icss_iep_pps_enable() 599 rq.perout.flags = 0; in icss_iep_pps_enable() 600 rq.perout.period.sec = 1; in icss_iep_pps_enable() 601 rq.perout.period.nsec = 0; in icss_iep_pps_enable() 602 rq.perout.start.sec = ts.tv_sec + 2; in icss_iep_pps_enable() 603 rq.perout.start.nsec = 0; in icss_iep_pps_enable() 604 rq.perout.on.sec = 0; in icss_iep_pps_enable() 605 rq.perout.on.nsec = NSEC_PER_MSEC; in icss_iep_pps_enable() 606 ret = icss_iep_perout_enable_hw(iep, &rq.perout, on); in icss_iep_pps_enable() 608 ret = icss_iep_perout_enable_hw(iep, &rq.perout, on); in icss_iep_pps_enable() [all …]
|
| /linux/drivers/net/ethernet/mellanox/mlx5/core/lib/ |
| H A D | clock.c | 818 ts.tv_nsec = rq->perout.period.nsec; in perout_conf_1pps() 819 ts.tv_sec = rq->perout.period.sec; in perout_conf_1pps() 825 *time_stamp = real_time ? perout_conf_real_time(rq->perout.start.sec, 0) : in perout_conf_1pps() 826 perout_conf_internal_timer(mdev, rq->perout.start.sec); in perout_conf_1pps() 840 if (rq->perout.flags & PTP_PEROUT_DUTY_CYCLE) { in mlx5_perout_conf_out_pulse_duration() 841 ts.tv_sec = rq->perout.on.sec; in mlx5_perout_conf_out_pulse_duration() 842 ts.tv_nsec = rq->perout.on.nsec; in mlx5_perout_conf_out_pulse_duration() 848 ts.tv_sec = rq->perout.period.sec; in mlx5_perout_conf_out_pulse_duration() 849 ts.tv_nsec = rq->perout.period.nsec; in mlx5_perout_conf_out_pulse_duration() 870 struct ptp_clock_time *time = &rq->perout.start; in perout_conf_npps_real_time() [all …]
|
| /linux/drivers/net/ethernet/wangxun/libwx/ |
| H A D | wx_ptp.c | 426 if (rq->perout.flags & ~(PTP_PEROUT_DUTY_CYCLE | in wx_ptp_feature_enable() 430 if (rq->perout.phase.sec || rq->perout.phase.nsec) { in wx_ptp_feature_enable() 435 if (rq->perout.period.sec != 1 || rq->perout.period.nsec) { in wx_ptp_feature_enable() 440 if (rq->perout.flags & PTP_PEROUT_DUTY_CYCLE) { in wx_ptp_feature_enable() 443 ts_on.tv_sec = rq->perout.on.sec; in wx_ptp_feature_enable() 444 ts_on.tv_nsec = rq->perout.on.nsec; in wx_ptp_feature_enable()
|
| /linux/drivers/net/dsa/sja1105/ |
| H A D | sja1105_ptp.c | 722 struct ptp_perout_request *perout, in sja1105_per_out_enable() argument 731 if (perout->index != 0) 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() 841 rc = sja1105_per_out_enable(priv, &req->perout, on); in sja1105_ptp_enable()
|
| /linux/drivers/net/phy/ |
| H A D | microchip_rds_ptp.c | 219 struct ptp_perout_request *perout, int on) in mchp_rds_ptp_perout() argument 228 perout->index); in mchp_rds_ptp_perout() 240 ret = mchp_get_pulsewidth(phydev, perout, &pulsewidth); in mchp_rds_ptp_perout() 249 ret = mchp_set_clock_target(clock, perout->start.sec, in mchp_rds_ptp_perout() 250 perout->start.nsec); in mchp_rds_ptp_perout() 254 return mchp_set_clock_reload(clock, perout->period.sec, in mchp_rds_ptp_perout() 255 perout->period.nsec); in mchp_rds_ptp_perout() 263 return mchp_rds_ptp_perout(ptpci, &request->perout, on); in mchp_rds_ptpci_enable()
|
| H A D | nxp-c45-tja11xx.c | 759 struct ptp_perout_request *perout, int on) in nxp_c45_perout_enable() argument 765 pin = ptp_find_pin(priv->ptp_clock, PTP_PF_PEROUT, perout->index); in nxp_c45_perout_enable() 784 if (perout->period.sec != 1 || perout->period.nsec != 0) { in nxp_c45_perout_enable() 789 if (!(perout->flags & PTP_PEROUT_PHASE)) { in nxp_c45_perout_enable() 790 if (perout->start.sec != 0 || perout->start.nsec != 0) { in nxp_c45_perout_enable() 795 if (perout->phase.nsec != 0 && in nxp_c45_perout_enable() 796 perout->phase.nsec != (NSEC_PER_SEC >> 1)) { in nxp_c45_perout_enable() 801 if (perout->phase.nsec == 0) in nxp_c45_perout_enable() 899 return nxp_c45_perout_enable(priv, &req->perout, on); in nxp_c45_ptp_enable()
|
| H A D | micrel.c | 3767 event = rq->perout.index; in lan8814_ptp_perout() 3781 ts_on.tv_sec = rq->perout.on.sec; in lan8814_ptp_perout() 3782 ts_on.tv_nsec = rq->perout.on.nsec; in lan8814_ptp_perout() 3785 ts_period.tv_sec = rq->perout.period.sec; in lan8814_ptp_perout() 3786 ts_period.tv_nsec = rq->perout.period.nsec; in lan8814_ptp_perout() 3855 lan8814_ptp_set_target(phydev, event, rq->perout.start.sec, in lan8814_ptp_perout() 3856 rq->perout.start.nsec); in lan8814_ptp_perout() 3857 lan8814_ptp_set_reload(phydev, event, rq->perout.period.sec, in lan8814_ptp_perout() 3858 rq->perout.period.nsec); in lan8814_ptp_perout() 5672 pin = ptp_find_pin(ptp_priv->ptp_clock, PTP_PF_PEROUT, rq->perout.index); in lan8841_ptp_perout() [all …]
|
| H A D | dp83640.c | 338 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() 509 if (rq->perout.index >= N_PER_OUT) in ptp_dp83640_enable() 511 return periodic_output(clock, rq, on, rq->perout.index); in ptp_dp83640_enable()
|
| /linux/drivers/net/ethernet/marvell/octeontx2/nic/ |
| H A D | otx2_ptp.c | 363 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/drivers/net/ethernet/ti/ |
| H A D | am65-cpts.c | 736 rq.perout.period.sec = 1; in am65_cpts_pps_enable() 737 rq.perout.period.nsec = 0; in am65_cpts_pps_enable() 738 rq.perout.start.sec = ts.tv_sec + 2; in am65_cpts_pps_enable() 739 rq.perout.start.nsec = 0; in am65_cpts_pps_enable() 740 rq.perout.index = cpts->pps_genf_idx; in am65_cpts_pps_enable() 742 am65_cpts_perout_enable_hw(cpts, &rq.perout, on); in am65_cpts_pps_enable() 745 rq.perout.index = cpts->pps_genf_idx; in am65_cpts_pps_enable() 746 am65_cpts_perout_enable_hw(cpts, &rq.perout, on); in am65_cpts_pps_enable() 767 return am65_cpts_perout_enable(cpts, &rq->perout, on); in am65_cpts_ptp_enable()
|
| /linux/drivers/net/ethernet/freescale/ |
| H A D | fec_ptp.c | 545 if (rq->perout.flags) in fec_ptp_enable() 548 period.tv_sec = rq->perout.period.sec; in fec_ptp_enable() 549 period.tv_nsec = rq->perout.period.nsec; in fec_ptp_enable() 565 start_time.tv_sec = rq->perout.start.sec; in fec_ptp_enable() 566 start_time.tv_nsec = rq->perout.start.nsec; in fec_ptp_enable()
|