net/liquidio: add APIs for response list
[dpdk.git] / drivers / net / liquidio / lio_struct.h
index 45f9ac9..add0e7d 100644 (file)
@@ -213,6 +213,17 @@ struct lio_sriov_info {
        uint32_t num_vfs;
 };
 
+/* Head of a response list */
+struct lio_response_list {
+       /** List structure to add delete pending entries to */
+       struct lio_stailq_head head;
+
+       /** A lock for this response list */
+       rte_spinlock_t lock;
+
+       rte_atomic64_t pending_req_count;
+};
+
 /* Structure to define the configuration attributes for each Input queue. */
 struct lio_iq_config {
        /* Max number of IQs available */
@@ -289,6 +300,9 @@ struct lio_device {
        /** The input instruction queues */
        struct lio_instr_queue *instr_queue[LIO_MAX_POSSIBLE_INSTR_QUEUES];
 
+       /** The singly-linked tail queues of instruction response */
+       struct lio_response_list response_list;
+
        struct lio_io_enable io_qmask;
 
        struct lio_sriov_info sriov_info;