net: mana: Add page pool for RX buffers
[platform/kernel/linux-starfive.git] / include / net / mana / mana.h
index 9eef199..8799901 100644 (file)
@@ -4,6 +4,8 @@
 #ifndef _MANA_H
 #define _MANA_H
 
+#include <net/xdp.h>
+
 #include "gdma.h"
 #include "hw_channel.h"
 
@@ -280,6 +282,7 @@ struct mana_recv_buf_oob {
        struct gdma_wqe_request wqe_req;
 
        void *buf_va;
+       bool from_pool; /* allocated from a page pool */
 
        /* SGL of the buffer going to be sent has part of the work request. */
        u32 num_sge;
@@ -330,6 +333,8 @@ struct mana_rxq {
        bool xdp_flush;
        int xdp_rc; /* XDP redirect return code */
 
+       struct page_pool *page_pool;
+
        /* MUST BE THE LAST MEMBER:
         * Each receive buffer has an associated mana_recv_buf_oob.
         */
@@ -579,7 +584,7 @@ struct mana_fence_rq_resp {
 }; /* HW DATA */
 
 /* Configure vPort Rx Steering */
-struct mana_cfg_rx_steer_req {
+struct mana_cfg_rx_steer_req_v2 {
        struct gdma_req_hdr hdr;
        mana_handle_t vport;
        u16 num_indir_entries;
@@ -592,6 +597,8 @@ struct mana_cfg_rx_steer_req {
        u8 reserved;
        mana_handle_t default_rxobj;
        u8 hashkey[MANA_HASH_KEY_SIZE];
+       u8 cqe_coalescing_enable;
+       u8 reserved2[7];
 }; /* HW DATA */
 
 struct mana_cfg_rx_steer_resp {