[PATCH net-next] ptp: netc: only enable periodic pulse event interrupts for PPS

Wei Fang posted 1 patch 2 weeks, 3 days ago
drivers/ptp/ptp_netc.c | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
[PATCH net-next] ptp: netc: only enable periodic pulse event interrupts for PPS
Posted by Wei Fang 2 weeks, 3 days ago
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>

---
This issue currently only exists in net-next tree, so the target tree
is net-next.
---
---
 drivers/ptp/ptp_netc.c | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/drivers/ptp/ptp_netc.c b/drivers/ptp/ptp_netc.c
index 8c5fea1f43fa..4fefb5ef3685 100644
--- a/drivers/ptp/ptp_netc.c
+++ b/drivers/ptp/ptp_netc.c
@@ -304,13 +304,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);
-- 
2.34.1