mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-07 03:15:31 +09:00
ice: Support FCS/CRC strip disable for VF
[ Upstream commit 730cb741815c71d9dd8d1bc7d0b7d9a0acc615a8 ] To support CRC strip enable/disable functionality, VF needs the explicit request VIRTCHNL_VF_OFFLOAD_CRC offload. Then according to crc_disable flag of Rx queue configuration information to set up the queue context. Signed-off-by: Haiyue Wang <haiyue.wang@intel.com> Reviewed-by: Jesse Brandeburg <jesse.brandeburg@intel.com> Signed-off-by: Ahmed Zaki <ahmed.zaki@intel.com> Tested-by: Rafal Romanowski <rafal.romanowski@intel.com> Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com> Stable-dep-of: a884c304e18a ("ice: consistently use q_idx in ice_vc_cfg_qs_msg()") Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
2edb61b5d3
commit
a340f91153
@@ -479,6 +479,9 @@ static int ice_vc_get_vf_res_msg(struct ice_vf *vf, u8 *msg)
|
||||
if (vf->driver_caps & VIRTCHNL_VF_OFFLOAD_REQ_QUEUES)
|
||||
vfres->vf_cap_flags |= VIRTCHNL_VF_OFFLOAD_REQ_QUEUES;
|
||||
|
||||
if (vf->driver_caps & VIRTCHNL_VF_OFFLOAD_CRC)
|
||||
vfres->vf_cap_flags |= VIRTCHNL_VF_OFFLOAD_CRC;
|
||||
|
||||
if (vf->driver_caps & VIRTCHNL_VF_CAP_ADV_LINK_SPEED)
|
||||
vfres->vf_cap_flags |= VIRTCHNL_VF_CAP_ADV_LINK_SPEED;
|
||||
|
||||
@@ -1665,6 +1668,18 @@ static int ice_vc_cfg_qs_msg(struct ice_vf *vf, u8 *msg)
|
||||
vsi->rx_rings[i]->dma = qpi->rxq.dma_ring_addr;
|
||||
vsi->rx_rings[i]->count = qpi->rxq.ring_len;
|
||||
|
||||
if (qpi->rxq.crc_disable &&
|
||||
!(vf->driver_caps & VIRTCHNL_VF_OFFLOAD_CRC)) {
|
||||
goto error_param;
|
||||
}
|
||||
|
||||
if (qpi->rxq.crc_disable)
|
||||
vsi->rx_rings[q_idx]->flags |=
|
||||
ICE_RX_FLAGS_CRC_STRIP_DIS;
|
||||
else
|
||||
vsi->rx_rings[q_idx]->flags &=
|
||||
~ICE_RX_FLAGS_CRC_STRIP_DIS;
|
||||
|
||||
if (qpi->rxq.databuffer_size != 0 &&
|
||||
(qpi->rxq.databuffer_size > ((16 * 1024) - 128) ||
|
||||
qpi->rxq.databuffer_size < 1024))
|
||||
|
||||
Reference in New Issue
Block a user