git.droids-corp.org
/
dpdk.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
doc: add bus libraries to release notes
[dpdk.git]
/
drivers
/
net
/
sfc
/
sfc_ef10_rx.c
diff --git
a/drivers/net/sfc/sfc_ef10_rx.c
b/drivers/net/sfc/sfc_ef10_rx.c
index
2a3bf89
..
18d60c6
100644
(file)
--- a/
drivers/net/sfc/sfc_ef10_rx.c
+++ b/
drivers/net/sfc/sfc_ef10_rx.c
@@
-177,7
+177,7
@@
sfc_ef10_rx_qrefill(struct sfc_ef10_rxq *rxq)
++i, ++id) {
struct rte_mbuf *m = objs[i];
struct sfc_ef10_rx_sw_desc *rxd;
++i, ++id) {
struct rte_mbuf *m = objs[i];
struct sfc_ef10_rx_sw_desc *rxd;
-
phys_addr
_t phys_addr;
+
rte_iova
_t phys_addr;
SFC_ASSERT((id & ~ptr_mask) == 0);
rxd = &rxq->sw_ring[id];
SFC_ASSERT((id & ~ptr_mask) == 0);
rxd = &rxq->sw_ring[id];
@@
-189,7
+189,7
@@
sfc_ef10_rx_qrefill(struct sfc_ef10_rxq *rxq)
* structure members.
*/
* structure members.
*/
- phys_addr = rte_mbuf_data_
dma_addr
_default(m);
+ phys_addr = rte_mbuf_data_
iova
_default(m);
EFX_POPULATE_QWORD_2(rxq->rxq_hw_ring[id],
ESF_DZ_RX_KER_BYTE_CNT, buf_size,
ESF_DZ_RX_KER_BUF_ADDR, phys_addr);
EFX_POPULATE_QWORD_2(rxq->rxq_hw_ring[id],
ESF_DZ_RX_KER_BYTE_CNT, buf_size,
ESF_DZ_RX_KER_BUF_ADDR, phys_addr);
@@
-386,9
+386,8
@@
sfc_ef10_rx_process_event(struct sfc_ef10_rxq *rxq, efx_qword_t rx_ev,
*rx_pkts++ = m;
*rx_pkts++ = m;
- *(uint64_t *)(&m->rearm_data) = rxq->rearm_data;
- /* rearm_data rewrites ol_flags which is updated below */
- rte_compiler_barrier();
+ RTE_BUILD_BUG_ON(sizeof(m->rearm_data[0]) != sizeof(rxq->rearm_data));
+ m->rearm_data[0] = rxq->rearm_data;
/* Classify packet based on Rx event */
sfc_ef10_rx_ev_to_offloads(rxq, rx_ev, m);
/* Classify packet based on Rx event */
sfc_ef10_rx_ev_to_offloads(rxq, rx_ev, m);
@@
-412,7
+411,7
@@
sfc_ef10_rx_process_event(struct sfc_ef10_rxq *rxq, efx_qword_t rx_ev,
rte_pktmbuf_data_len(m) = pkt_len;
rte_pktmbuf_pkt_len(m) = pkt_len;
rte_pktmbuf_data_len(m) = pkt_len;
rte_pktmbuf_pkt_len(m) = pkt_len;
-
m->next = NULL
;
+
SFC_ASSERT(m->next == NULL)
;
/* Remember mbuf to copy offload flags and packet type from */
m0 = m;
/* Remember mbuf to copy offload flags and packet type from */
m0 = m;
@@
-426,9
+425,9
@@
sfc_ef10_rx_process_event(struct sfc_ef10_rxq *rxq, efx_qword_t rx_ev,
if (ready > rxq->prepared)
*rx_pkts++ = m;
if (ready > rxq->prepared)
*rx_pkts++ = m;
- *(uint64_t *)(&m->rearm_data) = rxq->rearm_data;
- /* rearm_data rewrites ol_flags which is updated below */
-
rte_compiler_barrier()
;
+ RTE_BUILD_BUG_ON(sizeof(m->rearm_data[0]) !=
+ sizeof(rxq->rearm_data));
+
m->rearm_data[0] = rxq->rearm_data
;
/* Event-dependent information is the same */
m->ol_flags = m0->ol_flags;
/* Event-dependent information is the same */
m->ol_flags = m0->ol_flags;
@@
-449,7
+448,7
@@
sfc_ef10_rx_process_event(struct sfc_ef10_rxq *rxq, efx_qword_t rx_ev,
rte_pktmbuf_data_len(m) = pkt_len;
rte_pktmbuf_pkt_len(m) = pkt_len;
rte_pktmbuf_data_len(m) = pkt_len;
rte_pktmbuf_pkt_len(m) = pkt_len;
-
m->next = NULL
;
+
SFC_ASSERT(m->next == NULL)
;
}
return n_rx_pkts;
}
return n_rx_pkts;
@@
-545,6
+544,14
@@
sfc_ef10_rx_qdesc_npending(__rte_unused struct sfc_dp_rxq *dp_rxq)
return -ENOTSUP;
}
return -ENOTSUP;
}
+static sfc_dp_rx_qdesc_status_t sfc_ef10_rx_qdesc_status;
+static int
+sfc_ef10_rx_qdesc_status(__rte_unused struct sfc_dp_rxq *dp_rxq,
+ __rte_unused uint16_t offset)
+{
+ return -ENOTSUP;
+}
+
static uint64_t
sfc_ef10_mk_mbuf_rearm_data(uint16_t port_id, uint16_t prefix_size)
static uint64_t
sfc_ef10_mk_mbuf_rearm_data(uint16_t port_id, uint16_t prefix_size)
@@
-560,7
+567,8
@@
sfc_ef10_mk_mbuf_rearm_data(uint16_t port_id, uint16_t prefix_size)
/* rearm_data covers structure members filled in above */
rte_compiler_barrier();
/* rearm_data covers structure members filled in above */
rte_compiler_barrier();
- return *(uint64_t *)(&m.rearm_data);
+ RTE_BUILD_BUG_ON(sizeof(m.rearm_data[0]) != sizeof(uint64_t));
+ return m.rearm_data[0];
}
static sfc_dp_rx_qcreate_t sfc_ef10_rx_qcreate;
}
static sfc_dp_rx_qcreate_t sfc_ef10_rx_qcreate;
@@
-699,7
+707,7
@@
struct sfc_dp_rx sfc_ef10_rx = {
.type = SFC_DP_RX,
.hw_fw_caps = SFC_DP_HW_FW_CAP_EF10,
},
.type = SFC_DP_RX,
.hw_fw_caps = SFC_DP_HW_FW_CAP_EF10,
},
- .features =
0
,
+ .features =
SFC_DP_RX_FEAT_MULTI_PROCESS
,
.qcreate = sfc_ef10_rx_qcreate,
.qdestroy = sfc_ef10_rx_qdestroy,
.qstart = sfc_ef10_rx_qstart,
.qcreate = sfc_ef10_rx_qcreate,
.qdestroy = sfc_ef10_rx_qdestroy,
.qstart = sfc_ef10_rx_qstart,
@@
-708,5
+716,6
@@
struct sfc_dp_rx sfc_ef10_rx = {
.qpurge = sfc_ef10_rx_qpurge,
.supported_ptypes_get = sfc_ef10_supported_ptypes_get,
.qdesc_npending = sfc_ef10_rx_qdesc_npending,
.qpurge = sfc_ef10_rx_qpurge,
.supported_ptypes_get = sfc_ef10_supported_ptypes_get,
.qdesc_npending = sfc_ef10_rx_qdesc_npending,
+ .qdesc_status = sfc_ef10_rx_qdesc_status,
.pkt_burst = sfc_ef10_recv_pkts,
};
.pkt_burst = sfc_ef10_recv_pkts,
};