Messages in this thread Patch in this message | | | From | "Radu Pirea (NXP OSS)" <> | Subject | [PATCH v2 2/2] phy: nxp-c45-tja11xx: read the tx timestamp without lock | Date | Wed, 22 Dec 2021 23:34:53 +0200 |
| |
Reading the tx timestamps can be done in parallel with adjusting the LTC value.
Calls to nxp_c45_get_hwtxts() are always serialised. If the phy interrupt is enabled, .do_aux_work() will not call nxp_c45_get_hwtxts.
Signed-off-by: Radu Pirea (NXP OSS) <radu-nicolae.pirea@oss.nxp.com> --- drivers/net/phy/nxp-c45-tja11xx.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/drivers/net/phy/nxp-c45-tja11xx.c b/drivers/net/phy/nxp-c45-tja11xx.c index 06fdbae509a79..24285a528fec9 100644 --- a/drivers/net/phy/nxp-c45-tja11xx.c +++ b/drivers/net/phy/nxp-c45-tja11xx.c @@ -216,7 +216,7 @@ struct nxp_c45_phy { struct ptp_clock_info caps; struct sk_buff_head tx_queue; struct sk_buff_head rx_queue; - /* used to access the PTP registers atomic */ + /* used to access the LTC registers atomically */ struct mutex ptp_lock; int hwts_tx; int hwts_rx; @@ -386,7 +386,6 @@ static bool nxp_c45_get_hwtxts(struct nxp_c45_phy *priv, bool valid; u16 reg; - mutex_lock(&priv->ptp_lock); phy_write_mmd(priv->phydev, MDIO_MMD_VEND1, VEND1_EGR_RING_CTRL, RING_DONE); reg = phy_read_mmd(priv->phydev, MDIO_MMD_VEND1, VEND1_EGR_RING_DATA_0); @@ -406,7 +405,6 @@ static bool nxp_c45_get_hwtxts(struct nxp_c45_phy *priv, hwts->sec |= (reg & RING_DATA_3_SEC_1_0) >> 14; nxp_c45_get_hwtxts_out: - mutex_unlock(&priv->ptp_lock); return valid; } -- 2.34.1
| |