ptp_qoriq: drop the code of alarm
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>
This commit is contained in:
parent
2019fc96af
commit
d71151a39c
|
@ -131,8 +131,7 @@ irqreturn_t ptp_qoriq_isr(int irq, void *priv)
|
||||||
struct ptp_qoriq *ptp_qoriq = priv;
|
struct ptp_qoriq *ptp_qoriq = priv;
|
||||||
struct ptp_qoriq_registers *regs = &ptp_qoriq->regs;
|
struct ptp_qoriq_registers *regs = &ptp_qoriq->regs;
|
||||||
struct ptp_clock_event event;
|
struct ptp_clock_event event;
|
||||||
u64 ns;
|
u32 ack = 0, mask, val, irqs;
|
||||||
u32 ack = 0, lo, hi, mask, val, irqs;
|
|
||||||
|
|
||||||
spin_lock(&ptp_qoriq->lock);
|
spin_lock(&ptp_qoriq->lock);
|
||||||
|
|
||||||
|
@ -153,32 +152,6 @@ irqreturn_t ptp_qoriq_isr(int irq, void *priv)
|
||||||
extts_clean_up(ptp_qoriq, 1, true);
|
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(®s->alarm_regs->tmr_alarm2_l, lo);
|
|
||||||
ptp_qoriq->write(®s->alarm_regs->tmr_alarm2_h, hi);
|
|
||||||
ptp_qoriq->alarm_value = ns;
|
|
||||||
} else {
|
|
||||||
spin_lock(&ptp_qoriq->lock);
|
|
||||||
mask = ptp_qoriq->read(®s->ctrl_regs->tmr_temask);
|
|
||||||
mask &= ~ALM2EN;
|
|
||||||
ptp_qoriq->write(®s->ctrl_regs->tmr_temask, mask);
|
|
||||||
spin_unlock(&ptp_qoriq->lock);
|
|
||||||
ptp_qoriq->alarm_value = 0;
|
|
||||||
ptp_qoriq->alarm_interval = 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (irqs & PP1) {
|
if (irqs & PP1) {
|
||||||
ack |= PP1;
|
ack |= PP1;
|
||||||
event.type = PTP_CLOCK_PPS;
|
event.type = PTP_CLOCK_PPS;
|
||||||
|
|
|
@ -149,8 +149,6 @@ struct ptp_qoriq {
|
||||||
bool extts_fifo_support;
|
bool extts_fifo_support;
|
||||||
int irq;
|
int irq;
|
||||||
int phc_index;
|
int phc_index;
|
||||||
u64 alarm_interval; /* for periodic alarm */
|
|
||||||
u64 alarm_value;
|
|
||||||
u32 tclk_period; /* nanoseconds */
|
u32 tclk_period; /* nanoseconds */
|
||||||
u32 tmr_prsc;
|
u32 tmr_prsc;
|
||||||
u32 tmr_add;
|
u32 tmr_add;
|
||||||
|
|
Loading…
Reference in New Issue