net/netvsc: fix multiple channel Rx
[dpdk.git] / drivers / net / dpaa / dpaa_rxtx.h
index 6de70a7..fe8eb6d 100644 (file)
@@ -170,8 +170,8 @@ struct dpaa_eth_parse_results_t {
                        uint16_t      vlan:1;
                        uint16_t      ethernet:1;
 #endif
-               } __attribute__((__packed__));
-        } __attribute__((__packed__));
+               } __rte_packed;
+        } __rte_packed;
         union {
                uint16_t              l3r;      /**< Layer 3 result */
                struct {
@@ -198,8 +198,8 @@ struct dpaa_eth_parse_results_t {
                        uint16_t      first_ipv6:1;
                        uint16_t      first_ipv4:1;
 #endif
-               } __attribute__((__packed__));
-        } __attribute__((__packed__));
+               } __rte_packed;
+        } __rte_packed;
         union {
                uint8_t               l4r;      /**< Layer 4 result */
                struct{
@@ -214,8 +214,8 @@ struct dpaa_eth_parse_results_t {
                        uint8_t        l4_info_err:1;
                        uint8_t        l4_type:3;
 #endif
-               } __attribute__((__packed__));
-        } __attribute__((__packed__));
+               } __rte_packed;
+        } __rte_packed;
         uint8_t     cplan;              /**< Classification plan id */
         uint16_t    nxthdr;             /**< Next Header  */
         uint16_t    cksum;              /**< Checksum */
@@ -231,7 +231,7 @@ struct dpaa_eth_parse_results_t {
         uint8_t     gre_off;            /**< GRE offset */
         uint8_t     l4_off;             /**< Layer 4 offset */
         uint8_t     nxthdr_off;         /**< Parser end point */
-} __attribute__ ((__packed__));
+} __rte_packed;
 
 /* The structure is the Prepended Data to the Frame which is used by FMAN */
 struct annotations_t {
@@ -254,6 +254,8 @@ struct annotations_t {
 
 uint16_t dpaa_eth_queue_rx(void *q, struct rte_mbuf **bufs, uint16_t nb_bufs);
 
+uint16_t dpaa_eth_queue_tx_slow(void *q, struct rte_mbuf **bufs,
+                               uint16_t nb_bufs);
 uint16_t dpaa_eth_queue_tx(void *q, struct rte_mbuf **bufs, uint16_t nb_bufs);
 
 uint16_t dpaa_eth_tx_drop_all(void *q  __rte_unused,
@@ -266,8 +268,12 @@ int dpaa_eth_mbuf_to_sg_fd(struct rte_mbuf *mbuf,
                           struct qm_fd *fd,
                           uint32_t bpid);
 
+uint16_t dpaa_free_mbuf(const struct qm_fd *fd);
 void dpaa_rx_cb(struct qman_fq **fq,
                struct qm_dqrr_entry **dqrr, void **bufs, int num_bufs);
 
 void dpaa_rx_cb_prepare(struct qm_dqrr_entry *dq, void **bufs);
+
+void dpaa_rx_cb_no_prefetch(struct qman_fq **fq,
+                   struct qm_dqrr_entry **dqrr, void **bufs, int num_bufs);
 #endif