From: Harman Kalra Date: Thu, 3 Mar 2022 07:00:42 +0000 (+0530) Subject: common/cnxk: fix mbuf data offset for VF X-Git-Url: http://git.droids-corp.org/?a=commitdiff_plain;h=8f98e3ecc55e02234f8bec7213b0b6a69c086949;p=dpdk.git common/cnxk: fix mbuf data offset for VF If PF has PTP enabled the data offset should be adjusted for VF to skip extra 8 bytes of timestamp as the MAC inserts 8 bytes before the ethernet header. Fixes: c443e0d326e1 ("common/cnxk: support NIX PTP") Cc: stable@dpdk.org Signed-off-by: Harman Kalra Acked-by: Jerin Jacob --- diff --git a/drivers/common/cnxk/roc_nix.h b/drivers/common/cnxk/roc_nix.h index 5e6eb58c0c..dbb816d961 100644 --- a/drivers/common/cnxk/roc_nix.h +++ b/drivers/common/cnxk/roc_nix.h @@ -864,6 +864,7 @@ int __roc_api roc_nix_ptp_sync_time_adjust(struct roc_nix *roc_nix, int __roc_api roc_nix_ptp_info_cb_register(struct roc_nix *roc_nix, ptp_info_update_t ptp_update); void __roc_api roc_nix_ptp_info_cb_unregister(struct roc_nix *roc_nix); +bool __roc_api roc_nix_ptp_is_enable(struct roc_nix *roc_nix); /* VLAN */ int __roc_api diff --git a/drivers/common/cnxk/roc_nix_ptp.c b/drivers/common/cnxk/roc_nix_ptp.c index 03c4c6e5fd..05e4211de9 100644 --- a/drivers/common/cnxk/roc_nix_ptp.c +++ b/drivers/common/cnxk/roc_nix_ptp.c @@ -120,3 +120,11 @@ roc_nix_ptp_info_cb_unregister(struct roc_nix *roc_nix) dev->ops->ptp_info_update = NULL; } + +bool +roc_nix_ptp_is_enable(struct roc_nix *roc_nix) +{ + struct nix *nix = roc_nix_to_nix_priv(roc_nix); + + return nix->ptp_en; +} diff --git a/drivers/common/cnxk/version.map b/drivers/common/cnxk/version.map index d346e6f650..2a122e544d 100644 --- a/drivers/common/cnxk/version.map +++ b/drivers/common/cnxk/version.map @@ -206,6 +206,7 @@ INTERNAL { roc_nix_ptp_clock_read; roc_nix_ptp_info_cb_register; roc_nix_ptp_info_cb_unregister; + roc_nix_ptp_is_enable; roc_nix_ptp_rx_ena_dis; roc_nix_ptp_sync_time_adjust; roc_nix_ptp_tx_ena_dis; diff --git a/drivers/net/cnxk/cnxk_ethdev.c b/drivers/net/cnxk/cnxk_ethdev.c index deb95ae4c4..1fa4131907 100644 --- a/drivers/net/cnxk/cnxk_ethdev.c +++ b/drivers/net/cnxk/cnxk_ethdev.c @@ -1123,6 +1123,10 @@ cnxk_nix_configure(struct rte_eth_dev *eth_dev) goto fail_configure; } + /* Check if ptp is enable in PF owning this VF*/ + if (!roc_nix_is_pf(nix) && (!roc_nix_is_sdp(nix))) + dev->ptp_en = roc_nix_ptp_is_enable(nix); + dev->npc.channel = roc_nix_get_base_chan(nix); nb_rxq = data->nb_rx_queues;