summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWei Fang <wei.fang@nxp.com>2025-09-15 16:25:28 +0800
committerJakub Kicinski <kuba@kernel.org>2025-09-17 15:18:58 -0700
commit2479cba209463e8387400218e754b92ce8e7b5d1 (patch)
treeedb6c5d14d6df9b48d16e96a7450408c7ca57b88
parenta09655dde754bc9c39fc603c310fc8c02b7e8a19 (diff)
ptp: netc: only enable periodic pulse event interrupts for PPS
The periodic pulse event interrupts are used to register the PPS events into the system, so it is only applicable to PTP_CLK_REQ_PPS request. However, these interrupts are mistakenly enabled in PTP_CLK_REQ_PEROUT request, so fix this error. Fixes: 671e266835b8 ("ptp: netc: add periodic pulse output support") Signed-off-by: Wei Fang <wei.fang@nxp.com> Link: https://patch.msgid.link/20250915082528.1616361-1-wei.fang@nxp.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
-rw-r--r--drivers/ptp/ptp_netc.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/drivers/ptp/ptp_netc.c b/drivers/ptp/ptp_netc.c
index 75594f47807d..94e952ee6990 100644
--- a/drivers/ptp/ptp_netc.c
+++ b/drivers/ptp/ptp_netc.c
@@ -305,13 +305,14 @@ static void netc_timer_enable_periodic_pulse(struct netc_timer *priv,
fiper_ctrl |= FIPER_CTRL_SET_PW(channel, fiper_pw);
fiper_ctrl |= alarm_id ? FIPER_CTRL_FS_ALARM(channel) : 0;
- priv->tmr_emask |= TMR_TEVNET_PPEN(channel) |
- TMR_TEVENT_ALMEN(alarm_id);
+ priv->tmr_emask |= TMR_TEVENT_ALMEN(alarm_id);
- if (pp->type == NETC_PP_PPS)
+ if (pp->type == NETC_PP_PPS) {
+ priv->tmr_emask |= TMR_TEVNET_PPEN(channel);
netc_timer_set_pps_alarm(priv, channel, integral_period);
- else
+ } else {
netc_timer_set_perout_alarm(priv, channel, integral_period);
+ }
netc_timer_wr(priv, NETC_TMR_TEMASK, priv->tmr_emask);
netc_timer_wr(priv, NETC_TMR_FIPER(channel), fiper);