net/bnxt: fix Tx timestamp init
authorSomnath Kotur <somnath.kotur@broadcom.com>
Tue, 16 Mar 2021 05:40:48 +0000 (11:10 +0530)
committerAjit Khaparde <ajit.khaparde@broadcom.com>
Fri, 19 Mar 2021 19:29:29 +0000 (20:29 +0100)
Fix to read the sequence ID register to get Tx timestamp.
Reading the sequence ID register is necessary for the HW FIFO to
advance and thereby get the correct value of the timestamp on Tx side.
This patch fixes that.

Fixes: b11cceb83a34 ("net/bnxt: support timesync")
Cc: stable@dpdk.org
Reviewed-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>
Reviewed-by: Lance Richardson <lance.richardson@broadcom.com>
Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Signed-off-by: Somnath Kotur <somnath.kotur@broadcom.com>
drivers/net/bnxt/bnxt_ethdev.c

index f1dd405..57a409c 100644 (file)
@@ -3377,6 +3377,7 @@ static int bnxt_get_tx_ts(struct bnxt *bp, uint64_t *ts)
                                ptp->tx_mapped_regs[BNXT_PTP_TX_TS_L]));
        *ts |= (uint64_t)rte_le_to_cpu_32(rte_read32((uint8_t *)bp->bar0 +
                                ptp->tx_mapped_regs[BNXT_PTP_TX_TS_H])) << 32;
+       rte_read32((uint8_t *)bp->bar0 + ptp->tx_mapped_regs[BNXT_PTP_TX_SEQ]);
 
        return 0;
 }