drivers/net: build i40e and mlx5 on Windows
[dpdk.git] / drivers / net / netvsc / hn_var.h
index 4b63f87..bd874c6 100644 (file)
 /* Host monitor interval */
 #define HN_CHAN_LATENCY_NS     50000
 
+#define HN_TXCOPY_THRESHOLD    512
+#define HN_RXCOPY_THRESHOLD    256
+
+#define HN_RX_EXTMBUF_ENABLE   0
+
 /* Buffers need to be aligned */
 #ifndef PAGE_SIZE
 #define PAGE_SIZE 4096
@@ -54,7 +59,9 @@ struct hn_tx_queue {
        uint16_t        queue_id;
        uint32_t        free_thresh;
        struct rte_mempool *txdesc_pool;
+       const struct rte_memzone *tx_rndis_mz;
        void            *tx_rndis;
+       rte_iova_t      tx_rndis_iova;
 
        /* Applied packet transmission aggregation limits. */
        uint32_t        agg_szmax;
@@ -114,6 +121,8 @@ struct hn_data {
 
        struct rte_mem_resource *rxbuf_res;     /* UIO resource for Rx */
        uint32_t        rxbuf_section_cnt;      /* # of Rx sections */
+       uint32_t        rx_copybreak;
+       uint32_t        rx_extmbuf_enable;
        uint16_t        max_queues;             /* Max available queues */
        uint16_t        num_queues;
        uint64_t        rss_offloads;
@@ -122,6 +131,7 @@ struct hn_data {
        struct rte_mem_resource *chim_res;      /* UIO resource for Tx */
        struct rte_bitmap *chim_bmap;           /* Send buffer map */
        void            *chim_bmem;
+       uint32_t        tx_copybreak;
        uint32_t        chim_szmax;             /* Max size per buffer */
        uint32_t        chim_cnt;               /* Max packets per buffer */
 
@@ -216,8 +226,8 @@ int hn_vf_configure(struct rte_eth_dev *dev,
 const uint32_t *hn_vf_supported_ptypes(struct rte_eth_dev *dev);
 int    hn_vf_start(struct rte_eth_dev *dev);
 void   hn_vf_reset(struct rte_eth_dev *dev);
-void   hn_vf_stop(struct rte_eth_dev *dev);
-void   hn_vf_close(struct rte_eth_dev *dev);
+int    hn_vf_close(struct rte_eth_dev *dev);
+int    hn_vf_stop(struct rte_eth_dev *dev);
 
 int    hn_vf_allmulticast_enable(struct rte_eth_dev *dev);
 int    hn_vf_allmulticast_disable(struct rte_eth_dev *dev);