net/octeontx2: fix PTP and HIGIG2 coexistence
[dpdk.git] / drivers / net / octeontx2 / otx2_ethdev.c
index 43c6107..268b383 100644 (file)
@@ -18,7 +18,8 @@ nix_get_rx_offload_capa(struct otx2_eth_dev *dev)
 {
        uint64_t capa = NIX_RX_OFFLOAD_CAPA;
 
-       if (otx2_dev_is_vf(dev))
+       if (otx2_dev_is_vf(dev) ||
+           dev->npc_flow.switch_header_type == OTX2_PRIV_FLAGS_HIGIG)
                capa &= ~DEV_RX_OFFLOAD_TIMESTAMP;
 
        return capa;
@@ -1641,6 +1642,12 @@ otx2_nix_configure(struct rte_eth_dev *eth_dev)
                goto fail_offloads;
        }
 
+       if (dev->ptp_en &&
+           dev->npc_flow.switch_header_type == OTX2_PRIV_FLAGS_HIGIG) {
+               otx2_err("Both PTP and switch header enabled");
+               goto free_nix_lf;
+       }
+
        rc = nix_lf_switch_header_type_enable(dev);
        if (rc) {
                otx2_err("Failed to enable switch type nix_lf rc=%d", rc);