From: Wei Fang Date: Mon, 15 Sep 2025 08:25:28 +0000 (+0800) Subject: ptp: netc: only enable periodic pulse event interrupts for PPS X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=2479cba209463e8387400218e754b92ce8e7b5d1;p=users%2Fhch%2Fmisc.git 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 Link: https://patch.msgid.link/20250915082528.1616361-1-wei.fang@nxp.com Signed-off-by: Jakub Kicinski --- 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);