aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/drivers/net/ethernet/ti/am65-cpts.c
diff options
context:
space:
mode:
authorGrygorii Strashko <grygorii.strashko@ti.com>2023-03-16 15:22:32 +0530
committerJakub Kicinski <kuba@kernel.org>2023-03-17 22:36:10 -0700
commit3dacc5bb81472905a7f4f9879cb95477c22dc359 (patch)
tree9bdd6ed7d758e44b6ba1372544ad86dc036182a5 /drivers/net/ethernet/ti/am65-cpts.c
parentnet: usb: smsc95xx: Limit packet length to skb->len (diff)
downloadwireguard-linux-3dacc5bb81472905a7f4f9879cb95477c22dc359.tar.xz
wireguard-linux-3dacc5bb81472905a7f4f9879cb95477c22dc359.zip
net: ethernet: ti: am65-cpts: reset pps genf adj settings on enable
The CPTS PPS GENf adjustment settings are invalid after it has been disabled for a while, so reset them. Fixes: eb9233ce6751 ("net: ethernet: ti: am65-cpts: adjust pps following ptp changes") Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com> Signed-off-by: Siddharth Vadapalli <s-vadapalli@ti.com> Reviewed-by: Roger Quadros <rogerq@kernel.org> Reviewed-by: Michal Swiatkowski <michal.swiatkowski@linux.intel.com> Link: https://lore.kernel.org/r/20230316095232.2002680-1-s-vadapalli@ti.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to '')
-rw-r--r--drivers/net/ethernet/ti/am65-cpts.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/net/ethernet/ti/am65-cpts.c b/drivers/net/ethernet/ti/am65-cpts.c
index 16ee9c29cb35..8caf85acbb6a 100644
--- a/drivers/net/ethernet/ti/am65-cpts.c
+++ b/drivers/net/ethernet/ti/am65-cpts.c
@@ -636,6 +636,10 @@ static void am65_cpts_perout_enable_hw(struct am65_cpts *cpts,
val = lower_32_bits(cycles);
am65_cpts_write32(cpts, val, genf[req->index].length);
+ am65_cpts_write32(cpts, 0, genf[req->index].control);
+ am65_cpts_write32(cpts, 0, genf[req->index].ppm_hi);
+ am65_cpts_write32(cpts, 0, genf[req->index].ppm_low);
+
cpts->genf_enable |= BIT(req->index);
} else {
am65_cpts_write32(cpts, 0, genf[req->index].length);