mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-04-13 03:50:03 -04:00
idpf: assign extracted ptype to struct libeth_rqe_info field
Assign the ptype extracted from qword to the ptype field of struct libeth_rqe_info. Remove the now excess ptype param of idpf_rx_singleq_extract_fields(), idpf_rx_singleq_extract_base_fields() and idpf_rx_singleq_extract_flex_fields(). Suggested-by: Alexander Lobakin <aleksander.lobakin@intel.com> Reviewed-by: Przemek Kitszel <przemyslaw.kitszel@intel.com> Reviewed-by: Alexander Lobakin <aleksander.lobakin@intel.com> Signed-off-by: Mateusz Polchlopek <mateusz.polchlopek@intel.com> Tested-by: Samuel Salin <Samuel.salin@intel.com> Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
This commit is contained in:
committed by
Tony Nguyen
parent
fe259a1bb2
commit
508d374b8d
@@ -891,7 +891,6 @@ bool idpf_rx_singleq_buf_hw_alloc_all(struct idpf_rx_queue *rx_q,
|
||||
* idpf_rx_singleq_extract_base_fields - Extract fields from the Rx descriptor
|
||||
* @rx_desc: the descriptor to process
|
||||
* @fields: storage for extracted values
|
||||
* @ptype: pointer that will store packet type
|
||||
*
|
||||
* Decode the Rx descriptor and extract relevant information including the
|
||||
* size and Rx packet type.
|
||||
@@ -901,21 +900,20 @@ bool idpf_rx_singleq_buf_hw_alloc_all(struct idpf_rx_queue *rx_q,
|
||||
*/
|
||||
static void
|
||||
idpf_rx_singleq_extract_base_fields(const union virtchnl2_rx_desc *rx_desc,
|
||||
struct libeth_rqe_info *fields, u32 *ptype)
|
||||
struct libeth_rqe_info *fields)
|
||||
{
|
||||
u64 qword;
|
||||
|
||||
qword = le64_to_cpu(rx_desc->base_wb.qword1.status_error_ptype_len);
|
||||
|
||||
fields->len = FIELD_GET(VIRTCHNL2_RX_BASE_DESC_QW1_LEN_PBUF_M, qword);
|
||||
*ptype = FIELD_GET(VIRTCHNL2_RX_BASE_DESC_QW1_PTYPE_M, qword);
|
||||
fields->ptype = FIELD_GET(VIRTCHNL2_RX_BASE_DESC_QW1_PTYPE_M, qword);
|
||||
}
|
||||
|
||||
/**
|
||||
* idpf_rx_singleq_extract_flex_fields - Extract fields from the Rx descriptor
|
||||
* @rx_desc: the descriptor to process
|
||||
* @fields: storage for extracted values
|
||||
* @ptype: pointer that will store packet type
|
||||
*
|
||||
* Decode the Rx descriptor and extract relevant information including the
|
||||
* size and Rx packet type.
|
||||
@@ -925,12 +923,12 @@ idpf_rx_singleq_extract_base_fields(const union virtchnl2_rx_desc *rx_desc,
|
||||
*/
|
||||
static void
|
||||
idpf_rx_singleq_extract_flex_fields(const union virtchnl2_rx_desc *rx_desc,
|
||||
struct libeth_rqe_info *fields, u32 *ptype)
|
||||
struct libeth_rqe_info *fields)
|
||||
{
|
||||
fields->len = FIELD_GET(VIRTCHNL2_RX_FLEX_DESC_PKT_LEN_M,
|
||||
le16_to_cpu(rx_desc->flex_nic_wb.pkt_len));
|
||||
*ptype = FIELD_GET(VIRTCHNL2_RX_FLEX_DESC_PTYPE_M,
|
||||
le16_to_cpu(rx_desc->flex_nic_wb.ptype_flex_flags0));
|
||||
fields->ptype = FIELD_GET(VIRTCHNL2_RX_FLEX_DESC_PTYPE_M,
|
||||
le16_to_cpu(rx_desc->flex_nic_wb.ptype_flex_flags0));
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -938,18 +936,17 @@ idpf_rx_singleq_extract_flex_fields(const union virtchnl2_rx_desc *rx_desc,
|
||||
* @rx_q: Rx descriptor queue
|
||||
* @rx_desc: the descriptor to process
|
||||
* @fields: storage for extracted values
|
||||
* @ptype: pointer that will store packet type
|
||||
*
|
||||
*/
|
||||
static void
|
||||
idpf_rx_singleq_extract_fields(const struct idpf_rx_queue *rx_q,
|
||||
const union virtchnl2_rx_desc *rx_desc,
|
||||
struct libeth_rqe_info *fields, u32 *ptype)
|
||||
struct libeth_rqe_info *fields)
|
||||
{
|
||||
if (rx_q->rxdids == VIRTCHNL2_RXDID_1_32B_BASE_M)
|
||||
idpf_rx_singleq_extract_base_fields(rx_desc, fields, ptype);
|
||||
idpf_rx_singleq_extract_base_fields(rx_desc, fields);
|
||||
else
|
||||
idpf_rx_singleq_extract_flex_fields(rx_desc, fields, ptype);
|
||||
idpf_rx_singleq_extract_flex_fields(rx_desc, fields);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -972,7 +969,6 @@ static int idpf_rx_singleq_clean(struct idpf_rx_queue *rx_q, int budget)
|
||||
struct libeth_rqe_info fields = { };
|
||||
union virtchnl2_rx_desc *rx_desc;
|
||||
struct idpf_rx_buf *rx_buf;
|
||||
u32 ptype;
|
||||
|
||||
/* get the Rx desc from Rx queue based on 'next_to_clean' */
|
||||
rx_desc = &rx_q->rx[ntc];
|
||||
@@ -993,7 +989,7 @@ static int idpf_rx_singleq_clean(struct idpf_rx_queue *rx_q, int budget)
|
||||
*/
|
||||
dma_rmb();
|
||||
|
||||
idpf_rx_singleq_extract_fields(rx_q, rx_desc, &fields, &ptype);
|
||||
idpf_rx_singleq_extract_fields(rx_q, rx_desc, &fields);
|
||||
|
||||
rx_buf = &rx_q->rx_buf[ntc];
|
||||
if (!libeth_rx_sync_for_cpu(rx_buf, fields.len))
|
||||
@@ -1037,7 +1033,8 @@ static int idpf_rx_singleq_clean(struct idpf_rx_queue *rx_q, int budget)
|
||||
total_rx_bytes += skb->len;
|
||||
|
||||
/* protocol */
|
||||
idpf_rx_singleq_process_skb_fields(rx_q, skb, rx_desc, ptype);
|
||||
idpf_rx_singleq_process_skb_fields(rx_q, skb, rx_desc,
|
||||
fields.ptype);
|
||||
|
||||
/* send completed skb up the stack */
|
||||
napi_gro_receive(rx_q->pp->p.napi, skb);
|
||||
|
||||
Reference in New Issue
Block a user