[2/2] net/bnxt: fix unsupported handling in PTP
Checks
Commit Message
From: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>
Fixed to return error when PTP support is not supported on the port.
Also, removed an unnecessary check inside bnxt_get_rx_ts().
Fixes: b11cceb83a34 ("net/bnxt: support timesync")
Cc: stable@dpdk.org
Signed-off-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>
Reviewed-by: Ajit Kumar Khaparde <ajit.khaparde@broadcom.com>
Reviewed-by: Somnath Kotur <somnath.kotur@broadcom.com>
---
drivers/net/bnxt/bnxt_ethdev.c | 17 +++++++----------
1 file changed, 7 insertions(+), 10 deletions(-)
Comments
On Thu, Mar 18, 2021 at 2:13 AM Kalesh A P
<kalesh-anakkur.purayil@broadcom.com> wrote:
>
> From: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>
>
> Fixed to return error when PTP support is not supported on the port.
> Also, removed an unnecessary check inside bnxt_get_rx_ts().
>
> Fixes: b11cceb83a34 ("net/bnxt: support timesync")
> Cc: stable@dpdk.org
>
> Signed-off-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>
> Reviewed-by: Ajit Kumar Khaparde <ajit.khaparde@broadcom.com>
> Reviewed-by: Somnath Kotur <somnath.kotur@broadcom.com>
Patch applied to dpdk-next-net-brcm.
> ---
> drivers/net/bnxt/bnxt_ethdev.c | 17 +++++++----------
> 1 file changed, 7 insertions(+), 10 deletions(-)
>
> diff --git a/drivers/net/bnxt/bnxt_ethdev.c b/drivers/net/bnxt/bnxt_ethdev.c
> index 3665f31..4fd9653 100644
> --- a/drivers/net/bnxt/bnxt_ethdev.c
> +++ b/drivers/net/bnxt/bnxt_ethdev.c
> @@ -3395,9 +3395,6 @@ static int bnxt_get_rx_ts(struct bnxt *bp, uint64_t *ts)
> uint16_t port_id;
> uint32_t fifo;
>
> - if (!ptp)
> - return -ENODEV;
> -
> fifo = rte_le_to_cpu_32(rte_read32((uint8_t *)bp->bar0 +
> ptp->rx_mapped_regs[BNXT_PTP_RX_FIFO]));
> if (!(fifo & BNXT_PTP_RX_FIFO_PENDING))
> @@ -3430,7 +3427,7 @@ bnxt_timesync_write_time(struct rte_eth_dev *dev, const struct timespec *ts)
> struct bnxt_ptp_cfg *ptp = bp->ptp_cfg;
>
> if (!ptp)
> - return 0;
> + return -ENOTSUP;
>
> ns = rte_timespec_to_ns(ts);
> /* Set the timecounters to a new value. */
> @@ -3450,7 +3447,7 @@ bnxt_timesync_read_time(struct rte_eth_dev *dev, struct timespec *ts)
> int rc = 0;
>
> if (!ptp)
> - return 0;
> + return -ENOTSUP;
>
> if (BNXT_CHIP_P5(bp))
> rc = bnxt_hwrm_port_ts_query(bp, BNXT_PTP_FLAGS_CURRENT_TIME,
> @@ -3472,7 +3469,7 @@ bnxt_timesync_enable(struct rte_eth_dev *dev)
> int rc;
>
> if (!ptp)
> - return 0;
> + return -ENOTSUP;
>
> ptp->rx_filter = 1;
> ptp->tx_tstamp_en = 1;
> @@ -3513,7 +3510,7 @@ bnxt_timesync_disable(struct rte_eth_dev *dev)
> struct bnxt_ptp_cfg *ptp = bp->ptp_cfg;
>
> if (!ptp)
> - return 0;
> + return -ENOTSUP;
>
> ptp->rx_filter = 0;
> ptp->tx_tstamp_en = 0;
> @@ -3540,7 +3537,7 @@ bnxt_timesync_read_rx_timestamp(struct rte_eth_dev *dev,
> uint64_t ns;
>
> if (!ptp)
> - return 0;
> + return -ENOTSUP;
>
> if (BNXT_CHIP_P5(bp))
> rx_tstamp_cycles = ptp->rx_timestamp;
> @@ -3563,7 +3560,7 @@ bnxt_timesync_read_tx_timestamp(struct rte_eth_dev *dev,
> int rc = 0;
>
> if (!ptp)
> - return 0;
> + return -ENOTSUP;
>
> if (BNXT_CHIP_P5(bp))
> rc = bnxt_hwrm_port_ts_query(bp, BNXT_PTP_FLAGS_PATH_TX,
> @@ -3584,7 +3581,7 @@ bnxt_timesync_adjust_time(struct rte_eth_dev *dev, int64_t delta)
> struct bnxt_ptp_cfg *ptp = bp->ptp_cfg;
>
> if (!ptp)
> - return 0;
> + return -ENOTSUP;
>
> ptp->tc.nsec += delta;
> ptp->tx_tstamp_tc.nsec += delta;
> --
> 2.10.1
>
@@ -3395,9 +3395,6 @@ static int bnxt_get_rx_ts(struct bnxt *bp, uint64_t *ts)
uint16_t port_id;
uint32_t fifo;
- if (!ptp)
- return -ENODEV;
-
fifo = rte_le_to_cpu_32(rte_read32((uint8_t *)bp->bar0 +
ptp->rx_mapped_regs[BNXT_PTP_RX_FIFO]));
if (!(fifo & BNXT_PTP_RX_FIFO_PENDING))
@@ -3430,7 +3427,7 @@ bnxt_timesync_write_time(struct rte_eth_dev *dev, const struct timespec *ts)
struct bnxt_ptp_cfg *ptp = bp->ptp_cfg;
if (!ptp)
- return 0;
+ return -ENOTSUP;
ns = rte_timespec_to_ns(ts);
/* Set the timecounters to a new value. */
@@ -3450,7 +3447,7 @@ bnxt_timesync_read_time(struct rte_eth_dev *dev, struct timespec *ts)
int rc = 0;
if (!ptp)
- return 0;
+ return -ENOTSUP;
if (BNXT_CHIP_P5(bp))
rc = bnxt_hwrm_port_ts_query(bp, BNXT_PTP_FLAGS_CURRENT_TIME,
@@ -3472,7 +3469,7 @@ bnxt_timesync_enable(struct rte_eth_dev *dev)
int rc;
if (!ptp)
- return 0;
+ return -ENOTSUP;
ptp->rx_filter = 1;
ptp->tx_tstamp_en = 1;
@@ -3513,7 +3510,7 @@ bnxt_timesync_disable(struct rte_eth_dev *dev)
struct bnxt_ptp_cfg *ptp = bp->ptp_cfg;
if (!ptp)
- return 0;
+ return -ENOTSUP;
ptp->rx_filter = 0;
ptp->tx_tstamp_en = 0;
@@ -3540,7 +3537,7 @@ bnxt_timesync_read_rx_timestamp(struct rte_eth_dev *dev,
uint64_t ns;
if (!ptp)
- return 0;
+ return -ENOTSUP;
if (BNXT_CHIP_P5(bp))
rx_tstamp_cycles = ptp->rx_timestamp;
@@ -3563,7 +3560,7 @@ bnxt_timesync_read_tx_timestamp(struct rte_eth_dev *dev,
int rc = 0;
if (!ptp)
- return 0;
+ return -ENOTSUP;
if (BNXT_CHIP_P5(bp))
rc = bnxt_hwrm_port_ts_query(bp, BNXT_PTP_FLAGS_PATH_TX,
@@ -3584,7 +3581,7 @@ bnxt_timesync_adjust_time(struct rte_eth_dev *dev, int64_t delta)
struct bnxt_ptp_cfg *ptp = bp->ptp_cfg;
if (!ptp)
- return 0;
+ return -ENOTSUP;
ptp->tc.nsec += delta;
ptp->tx_tstamp_tc.nsec += delta;