]> git.droids-corp.org - dpdk.git/commitdiff
common/cnxk: fix mbuf data offset for VF
authorHarman Kalra <hkalra@marvell.com>
Thu, 3 Mar 2022 07:00:42 +0000 (12:30 +0530)
committerJerin Jacob <jerinj@marvell.com>
Thu, 3 Mar 2022 17:35:40 +0000 (18:35 +0100)
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 <hkalra@marvell.com>
Acked-by: Jerin Jacob <jerinj@marvell.com>
drivers/common/cnxk/roc_nix.h
drivers/common/cnxk/roc_nix_ptp.c
drivers/common/cnxk/version.map
drivers/net/cnxk/cnxk_ethdev.c

index 5e6eb58c0ce437488927d34f7b7b1b4cc444f624..dbb816d961b5f1f79b91d71c44c9ffec842f8110 100644 (file)
@@ -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
index 03c4c6e5fdbbd12ce5ebac8740d1ed80dbdbc1ef..05e4211de9e72c8338a32479d4dcbb6294ecaa31 100644 (file)
@@ -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;
+}
index d346e6f650b0fe8d6d0c99d35afbf9343e1933b5..2a122e544db2fcae2e141391cd31c3919886613e 100644 (file)
@@ -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;
index deb95ae4c4c021aefe6c8ddd3e9e5106d56c8217..1fa413190791bc1fe8e4f3e05a30b44ff44d797d 100644 (file)
@@ -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;