X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=drivers%2Fnet%2Fice%2Fice_dcf.c;h=44dbd3bb8445825e06b5b40b3d09f76a93a89fed;hb=cb71192486c34eada5b65c6c46d32afd05cc091b;hp=712f43825e64400348343e1036b17be44c561c51;hpb=fe98cd9831863afd36b0d065a7ec1473953331a3;p=dpdk.git diff --git a/drivers/net/ice/ice_dcf.c b/drivers/net/ice/ice_dcf.c index 712f43825e..44dbd3bb84 100644 --- a/drivers/net/ice/ice_dcf.c +++ b/drivers/net/ice/ice_dcf.c @@ -318,6 +318,7 @@ ice_dcf_get_vf_vsi_map(struct ice_dcf_hw *hw) } hw->num_vfs = vsi_map->num_vfs; + hw->pf_vsi_id = vsi_map->pf_vsi; } if (!memcmp(hw->vf_vsi_map, vsi_map->vf_vsi, len)) { @@ -827,6 +828,7 @@ ice_dcf_init_rss(struct ice_dcf_hw *hw) return 0; } +#define IAVF_RXDID_LEGACY_0 0 #define IAVF_RXDID_LEGACY_1 1 #define IAVF_RXDID_COMMS_GENERIC 16 @@ -872,6 +874,7 @@ ice_dcf_configure_queues(struct ice_dcf_hw *hw) vc_qp->rxq.dma_ring_addr = rxq[i]->rx_ring_dma; vc_qp->rxq.databuffer_size = rxq[i]->rx_buf_len; +#ifndef RTE_LIBRTE_ICE_16BYTE_RX_DESC if (hw->vf_res->vf_cap_flags & VIRTCHNL_VF_OFFLOAD_RX_FLEX_DESC && hw->supported_rxdid & @@ -883,6 +886,20 @@ ice_dcf_configure_queues(struct ice_dcf_hw *hw) PMD_DRV_LOG(ERR, "RXDID 16 is not supported"); return -EINVAL; } +#else + if (hw->vf_res->vf_cap_flags & + VIRTCHNL_VF_OFFLOAD_RX_FLEX_DESC && + hw->supported_rxdid & + BIT(IAVF_RXDID_LEGACY_0)) { + vc_qp->rxq.rxdid = IAVF_RXDID_LEGACY_0; + PMD_DRV_LOG(NOTICE, "request RXDID == %d in " + "Queue[%d]", vc_qp->rxq.rxdid, i); + } else { + PMD_DRV_LOG(ERR, "RXDID == 0 is not supported"); + return -EINVAL; + } +#endif + ice_select_rxd_to_pkt_fields_handler(rxq[i], vc_qp->rxq.rxdid); } memset(&args, 0, sizeof(args));