From: Kalesh AP <[email protected]>

Get rid of old code relying on mapped registers and use HWRM
interface wherever applicable during PTP initialization for Wh+.

Fixes: b11cceb83a34 ("net/bnxt: support timesync")
Cc: [email protected]
Signed-off-by: Kalesh AP <[email protected]>
Signed-off-by: Mohammad Shuab Siddique <[email protected]>
---
 drivers/net/bnxt/bnxt_ethdev.c | 63 ++--------------------------------
 drivers/net/bnxt/bnxt_hwrm.c   | 31 ++---------------
 2 files changed, 4 insertions(+), 90 deletions(-)

diff --git a/drivers/net/bnxt/bnxt_ethdev.c b/drivers/net/bnxt/bnxt_ethdev.c
index 7d70d0f3ec..14d8fa705d 100644
--- a/drivers/net/bnxt/bnxt_ethdev.c
+++ b/drivers/net/bnxt/bnxt_ethdev.c
@@ -3754,55 +3754,6 @@ bnxt_dev_supported_ptypes_get_op(struct rte_eth_dev *dev,
        return ptypes;
 }
 
-static int bnxt_map_regs(struct bnxt *bp, uint32_t *reg_arr, int count,
-                        int reg_win)
-{
-       uint32_t reg_base = *reg_arr & 0xfffff000;
-       uint32_t win_off;
-       int i;
-
-       for (i = 0; i < count; i++) {
-               if ((reg_arr[i] & 0xfffff000) != reg_base)
-                       return -ERANGE;
-       }
-       win_off = BNXT_GRCPF_REG_WINDOW_BASE_OUT + (reg_win - 1) * 4;
-       rte_write32(reg_base, (uint8_t *)bp->bar0 + win_off);
-       return 0;
-}
-
-static int bnxt_map_ptp_regs(struct bnxt *bp)
-{
-       struct bnxt_ptp_cfg *ptp = bp->ptp_cfg;
-       uint32_t *reg_arr;
-       int rc, i;
-
-       reg_arr = ptp->rx_regs;
-       rc = bnxt_map_regs(bp, reg_arr, BNXT_PTP_RX_REGS, 5);
-       if (rc)
-               return rc;
-
-       reg_arr = ptp->tx_regs;
-       rc = bnxt_map_regs(bp, reg_arr, BNXT_PTP_TX_REGS, 6);
-       if (rc)
-               return rc;
-
-       for (i = 0; i < BNXT_PTP_RX_REGS; i++)
-               ptp->rx_mapped_regs[i] = 0x5000 + (ptp->rx_regs[i] & 0xfff);
-
-       for (i = 0; i < BNXT_PTP_TX_REGS; i++)
-               ptp->tx_mapped_regs[i] = 0x6000 + (ptp->tx_regs[i] & 0xfff);
-
-       return 0;
-}
-
-static void bnxt_unmap_ptp_regs(struct bnxt *bp)
-{
-       rte_write32(0, (uint8_t *)bp->bar0 +
-                        BNXT_GRCPF_REG_WINDOW_BASE_OUT + 16);
-       rte_write32(0, (uint8_t *)bp->bar0 +
-                        BNXT_GRCPF_REG_WINDOW_BASE_OUT + 20);
-}
-
 static uint64_t bnxt_cc_read(struct bnxt *bp)
 {
        uint64_t ns;
@@ -3976,13 +3927,7 @@ bnxt_timesync_enable(struct rte_eth_dev *dev)
        ptp->tx_tstamp_tc.cc_shift = shift;
        ptp->tx_tstamp_tc.nsec_mask = (1ULL << shift) - 1;
 
-       /* TODO Revisit for Thor 2 */
-       if (!BNXT_CHIP_P5(bp))
-               bnxt_map_ptp_regs(bp);
-       else
-               rc = bnxt_ptp_start(bp);
-
-       return rc;
+       return bnxt_ptp_start(bp);
 }
 
 static int
@@ -4001,12 +3946,8 @@ bnxt_timesync_disable(struct rte_eth_dev *dev)
 
        bnxt_hwrm_ptp_cfg(bp);
 
-       /* TODO Revisit for Thor 2 */
        bp->ptp_all_rx_tstamp = 0;
-       if (!BNXT_CHIP_P5(bp))
-               bnxt_unmap_ptp_regs(bp);
-       else
-               bnxt_ptp_stop(bp);
+       bnxt_ptp_stop(bp);
 
        return 0;
 }
diff --git a/drivers/net/bnxt/bnxt_hwrm.c b/drivers/net/bnxt/bnxt_hwrm.c
index afc948ac29..68e75e43bd 100644
--- a/drivers/net/bnxt/bnxt_hwrm.c
+++ b/drivers/net/bnxt/bnxt_hwrm.c
@@ -1027,14 +1027,8 @@ static int bnxt_hwrm_ptp_qcfg(struct bnxt *bp)
 
        HWRM_CHECK_RESULT();
 
-       /* TODO Revisit for Thor 2 */
-       if (BNXT_CHIP_P5(bp)) {
-               if (!(resp->flags & 
HWRM_PORT_MAC_PTP_QCFG_OUTPUT_FLAGS_HWRM_ACCESS))
-                       return 0;
-       } else {
-               if (!(resp->flags & 
HWRM_PORT_MAC_PTP_QCFG_OUTPUT_FLAGS_DIRECT_ACCESS))
-                       return 0;
-       }
+       if (!(resp->flags & HWRM_PORT_MAC_PTP_QCFG_OUTPUT_FLAGS_HWRM_ACCESS))
+               return 0;
 
        if (resp->flags & HWRM_PORT_MAC_PTP_QCFG_OUTPUT_FLAGS_ONE_STEP_TX_TS)
                bp->flags |= BNXT_FLAG_FW_CAP_ONE_STEP_TX_TS;
@@ -1043,27 +1037,6 @@ static int bnxt_hwrm_ptp_qcfg(struct bnxt *bp)
        if (!ptp)
                return -ENOMEM;
 
-       if (!BNXT_CHIP_P5(bp)) {
-               ptp->rx_regs[BNXT_PTP_RX_TS_L] =
-                       rte_le_to_cpu_32(resp->rx_ts_reg_off_lower);
-               ptp->rx_regs[BNXT_PTP_RX_TS_H] =
-                       rte_le_to_cpu_32(resp->rx_ts_reg_off_upper);
-               ptp->rx_regs[BNXT_PTP_RX_SEQ] =
-                       rte_le_to_cpu_32(resp->rx_ts_reg_off_seq_id);
-               ptp->rx_regs[BNXT_PTP_RX_FIFO] =
-                       rte_le_to_cpu_32(resp->rx_ts_reg_off_fifo);
-               ptp->rx_regs[BNXT_PTP_RX_FIFO_ADV] =
-                       rte_le_to_cpu_32(resp->rx_ts_reg_off_fifo_adv);
-               ptp->tx_regs[BNXT_PTP_TX_TS_L] =
-                       rte_le_to_cpu_32(resp->tx_ts_reg_off_lower);
-               ptp->tx_regs[BNXT_PTP_TX_TS_H] =
-                       rte_le_to_cpu_32(resp->tx_ts_reg_off_upper);
-               ptp->tx_regs[BNXT_PTP_TX_SEQ] =
-                       rte_le_to_cpu_32(resp->tx_ts_reg_off_seq_id);
-               ptp->tx_regs[BNXT_PTP_TX_FIFO] =
-                       rte_le_to_cpu_32(resp->tx_ts_reg_off_fifo);
-       }
-
        ptp->bp = bp;
        bp->ptp_cfg = ptp;
 
-- 
2.47.3

Reply via email to