Skip to content

Commit

Permalink
ptp_qoriq: drop the code of alarm
Browse files Browse the repository at this point in the history
The alarm function hadn't been supported by PTP clock driver.
The recommended solution PHC + phc2sys + nanosleep provides
best performance. So drop the code of alarm in ptp_qoriq driver.

Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
yangbolu1991 authored and davem330 committed Feb 17, 2020
1 parent 2019fc9 commit d71151a
Show file tree
Hide file tree
Showing 2 changed files with 1 addition and 30 deletions.
29 changes: 1 addition & 28 deletions drivers/ptp/ptp_qoriq.c
Original file line number Diff line number Diff line change
Expand Up @@ -131,8 +131,7 @@ irqreturn_t ptp_qoriq_isr(int irq, void *priv)
struct ptp_qoriq *ptp_qoriq = priv;
struct ptp_qoriq_registers *regs = &ptp_qoriq->regs;
struct ptp_clock_event event;
u64 ns;
u32 ack = 0, lo, hi, mask, val, irqs;
u32 ack = 0, mask, val, irqs;

spin_lock(&ptp_qoriq->lock);

Expand All @@ -153,32 +152,6 @@ irqreturn_t ptp_qoriq_isr(int irq, void *priv)
extts_clean_up(ptp_qoriq, 1, true);
}

if (irqs & ALM2) {
ack |= ALM2;
if (ptp_qoriq->alarm_value) {
event.type = PTP_CLOCK_ALARM;
event.index = 0;
event.timestamp = ptp_qoriq->alarm_value;
ptp_clock_event(ptp_qoriq->clock, &event);
}
if (ptp_qoriq->alarm_interval) {
ns = ptp_qoriq->alarm_value + ptp_qoriq->alarm_interval;
hi = ns >> 32;
lo = ns & 0xffffffff;
ptp_qoriq->write(&regs->alarm_regs->tmr_alarm2_l, lo);
ptp_qoriq->write(&regs->alarm_regs->tmr_alarm2_h, hi);
ptp_qoriq->alarm_value = ns;
} else {
spin_lock(&ptp_qoriq->lock);
mask = ptp_qoriq->read(&regs->ctrl_regs->tmr_temask);
mask &= ~ALM2EN;
ptp_qoriq->write(&regs->ctrl_regs->tmr_temask, mask);
spin_unlock(&ptp_qoriq->lock);
ptp_qoriq->alarm_value = 0;
ptp_qoriq->alarm_interval = 0;
}
}

if (irqs & PP1) {
ack |= PP1;
event.type = PTP_CLOCK_PPS;
Expand Down
2 changes: 0 additions & 2 deletions include/linux/fsl/ptp_qoriq.h
Original file line number Diff line number Diff line change
Expand Up @@ -149,8 +149,6 @@ struct ptp_qoriq {
bool extts_fifo_support;
int irq;
int phc_index;
u64 alarm_interval; /* for periodic alarm */
u64 alarm_value;
u32 tclk_period; /* nanoseconds */
u32 tmr_prsc;
u32 tmr_add;
Expand Down

0 comments on commit d71151a

Please sign in to comment.