Merge tag 'f2fs-for-v5.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeu...
[linux-2.6-microblaze.git] / drivers / infiniband / hw / efa / efa_admin_cmds_defs.h
1 /* SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause */
2 /*
3  * Copyright 2018-2019 Amazon.com, Inc. or its affiliates. All rights reserved.
4  */
5
6 #ifndef _EFA_ADMIN_CMDS_H_
7 #define _EFA_ADMIN_CMDS_H_
8
9 #define EFA_ADMIN_API_VERSION_MAJOR          0
10 #define EFA_ADMIN_API_VERSION_MINOR          1
11
12 /* EFA admin queue opcodes */
13 enum efa_admin_aq_opcode {
14         EFA_ADMIN_CREATE_QP                         = 1,
15         EFA_ADMIN_MODIFY_QP                         = 2,
16         EFA_ADMIN_QUERY_QP                          = 3,
17         EFA_ADMIN_DESTROY_QP                        = 4,
18         EFA_ADMIN_CREATE_AH                         = 5,
19         EFA_ADMIN_DESTROY_AH                        = 6,
20         EFA_ADMIN_REG_MR                            = 7,
21         EFA_ADMIN_DEREG_MR                          = 8,
22         EFA_ADMIN_CREATE_CQ                         = 9,
23         EFA_ADMIN_DESTROY_CQ                        = 10,
24         EFA_ADMIN_GET_FEATURE                       = 11,
25         EFA_ADMIN_SET_FEATURE                       = 12,
26         EFA_ADMIN_GET_STATS                         = 13,
27         EFA_ADMIN_ALLOC_PD                          = 14,
28         EFA_ADMIN_DEALLOC_PD                        = 15,
29         EFA_ADMIN_ALLOC_UAR                         = 16,
30         EFA_ADMIN_DEALLOC_UAR                       = 17,
31         EFA_ADMIN_MAX_OPCODE                        = 17,
32 };
33
34 enum efa_admin_aq_feature_id {
35         EFA_ADMIN_DEVICE_ATTR                       = 1,
36         EFA_ADMIN_AENQ_CONFIG                       = 2,
37         EFA_ADMIN_NETWORK_ATTR                      = 3,
38         EFA_ADMIN_QUEUE_ATTR                        = 4,
39         EFA_ADMIN_HW_HINTS                          = 5,
40         EFA_ADMIN_FEATURES_OPCODE_NUM               = 8,
41 };
42
43 /* QP transport type */
44 enum efa_admin_qp_type {
45         /* Unreliable Datagram */
46         EFA_ADMIN_QP_TYPE_UD                        = 1,
47         /* Scalable Reliable Datagram */
48         EFA_ADMIN_QP_TYPE_SRD                       = 2,
49 };
50
51 /* QP state */
52 enum efa_admin_qp_state {
53         EFA_ADMIN_QP_STATE_RESET                    = 0,
54         EFA_ADMIN_QP_STATE_INIT                     = 1,
55         EFA_ADMIN_QP_STATE_RTR                      = 2,
56         EFA_ADMIN_QP_STATE_RTS                      = 3,
57         EFA_ADMIN_QP_STATE_SQD                      = 4,
58         EFA_ADMIN_QP_STATE_SQE                      = 5,
59         EFA_ADMIN_QP_STATE_ERR                      = 6,
60 };
61
62 enum efa_admin_get_stats_type {
63         EFA_ADMIN_GET_STATS_TYPE_BASIC              = 0,
64 };
65
66 enum efa_admin_get_stats_scope {
67         EFA_ADMIN_GET_STATS_SCOPE_ALL               = 0,
68         EFA_ADMIN_GET_STATS_SCOPE_QUEUE             = 1,
69 };
70
71 enum efa_admin_modify_qp_mask_bits {
72         EFA_ADMIN_QP_STATE_BIT                      = 0,
73         EFA_ADMIN_CUR_QP_STATE_BIT                  = 1,
74         EFA_ADMIN_QKEY_BIT                          = 2,
75         EFA_ADMIN_SQ_PSN_BIT                        = 3,
76         EFA_ADMIN_SQ_DRAINED_ASYNC_NOTIFY_BIT       = 4,
77 };
78
79 /*
80  * QP allocation sizes, converted by fabric QueuePair (QP) create command
81  * from QP capabilities.
82  */
83 struct efa_admin_qp_alloc_size {
84         /* Send descriptor ring size in bytes */
85         u32 send_queue_ring_size;
86
87         /* Max number of WQEs that can be outstanding on send queue. */
88         u32 send_queue_depth;
89
90         /*
91          * Recv descriptor ring size in bytes, sufficient for user-provided
92          * number of WQEs
93          */
94         u32 recv_queue_ring_size;
95
96         /* Max number of WQEs that can be outstanding on recv queue */
97         u32 recv_queue_depth;
98 };
99
100 struct efa_admin_create_qp_cmd {
101         /* Common Admin Queue descriptor */
102         struct efa_admin_aq_common_desc aq_common_desc;
103
104         /* Protection Domain associated with this QP */
105         u16 pd;
106
107         /* QP type */
108         u8 qp_type;
109
110         /*
111          * 0 : sq_virt - If set, SQ ring base address is
112          *    virtual (IOVA returned by MR registration)
113          * 1 : rq_virt - If set, RQ ring base address is
114          *    virtual (IOVA returned by MR registration)
115          * 7:2 : reserved - MBZ
116          */
117         u8 flags;
118
119         /*
120          * Send queue (SQ) ring base physical address. This field is not
121          * used if this is a Low Latency Queue(LLQ).
122          */
123         u64 sq_base_addr;
124
125         /* Receive queue (RQ) ring base address. */
126         u64 rq_base_addr;
127
128         /* Index of CQ to be associated with Send Queue completions */
129         u32 send_cq_idx;
130
131         /* Index of CQ to be associated with Recv Queue completions */
132         u32 recv_cq_idx;
133
134         /*
135          * Memory registration key for the SQ ring, used only when not in
136          * LLQ mode and base address is virtual
137          */
138         u32 sq_l_key;
139
140         /*
141          * Memory registration key for the RQ ring, used only when base
142          * address is virtual
143          */
144         u32 rq_l_key;
145
146         /* Requested QP allocation sizes */
147         struct efa_admin_qp_alloc_size qp_alloc_size;
148
149         /* UAR number */
150         u16 uar;
151
152         /* MBZ */
153         u16 reserved;
154
155         /* MBZ */
156         u32 reserved2;
157 };
158
159 struct efa_admin_create_qp_resp {
160         /* Common Admin Queue completion descriptor */
161         struct efa_admin_acq_common_desc acq_common_desc;
162
163         /* Opaque handle to be used for consequent operations on the QP */
164         u32 qp_handle;
165
166         /* QP number in the given EFA virtual device */
167         u16 qp_num;
168
169         /* MBZ */
170         u16 reserved;
171
172         /* Index of sub-CQ for Send Queue completions */
173         u16 send_sub_cq_idx;
174
175         /* Index of sub-CQ for Receive Queue completions */
176         u16 recv_sub_cq_idx;
177
178         /* SQ doorbell address, as offset to PCIe DB BAR */
179         u32 sq_db_offset;
180
181         /* RQ doorbell address, as offset to PCIe DB BAR */
182         u32 rq_db_offset;
183
184         /*
185          * low latency send queue ring base address as an offset to PCIe
186          * MMIO LLQ_MEM BAR
187          */
188         u32 llq_descriptors_offset;
189 };
190
191 struct efa_admin_modify_qp_cmd {
192         /* Common Admin Queue descriptor */
193         struct efa_admin_aq_common_desc aq_common_desc;
194
195         /*
196          * Mask indicating which fields should be updated see enum
197          * efa_admin_modify_qp_mask_bits
198          */
199         u32 modify_mask;
200
201         /* QP handle returned by create_qp command */
202         u32 qp_handle;
203
204         /* QP state */
205         u32 qp_state;
206
207         /* Override current QP state (before applying the transition) */
208         u32 cur_qp_state;
209
210         /* QKey */
211         u32 qkey;
212
213         /* SQ PSN */
214         u32 sq_psn;
215
216         /* Enable async notification when SQ is drained */
217         u8 sq_drained_async_notify;
218
219         /* MBZ */
220         u8 reserved1;
221
222         /* MBZ */
223         u16 reserved2;
224 };
225
226 struct efa_admin_modify_qp_resp {
227         /* Common Admin Queue completion descriptor */
228         struct efa_admin_acq_common_desc acq_common_desc;
229 };
230
231 struct efa_admin_query_qp_cmd {
232         /* Common Admin Queue descriptor */
233         struct efa_admin_aq_common_desc aq_common_desc;
234
235         /* QP handle returned by create_qp command */
236         u32 qp_handle;
237 };
238
239 struct efa_admin_query_qp_resp {
240         /* Common Admin Queue completion descriptor */
241         struct efa_admin_acq_common_desc acq_common_desc;
242
243         /* QP state */
244         u32 qp_state;
245
246         /* QKey */
247         u32 qkey;
248
249         /* SQ PSN */
250         u32 sq_psn;
251
252         /* Indicates that draining is in progress */
253         u8 sq_draining;
254
255         /* MBZ */
256         u8 reserved1;
257
258         /* MBZ */
259         u16 reserved2;
260 };
261
262 struct efa_admin_destroy_qp_cmd {
263         /* Common Admin Queue descriptor */
264         struct efa_admin_aq_common_desc aq_common_desc;
265
266         /* QP handle returned by create_qp command */
267         u32 qp_handle;
268 };
269
270 struct efa_admin_destroy_qp_resp {
271         /* Common Admin Queue completion descriptor */
272         struct efa_admin_acq_common_desc acq_common_desc;
273 };
274
275 /*
276  * Create Address Handle command parameters. Must not be called more than
277  * once for the same destination
278  */
279 struct efa_admin_create_ah_cmd {
280         /* Common Admin Queue descriptor */
281         struct efa_admin_aq_common_desc aq_common_desc;
282
283         /* Destination address in network byte order */
284         u8 dest_addr[16];
285
286         /* PD number */
287         u16 pd;
288
289         u16 reserved;
290 };
291
292 struct efa_admin_create_ah_resp {
293         /* Common Admin Queue completion descriptor */
294         struct efa_admin_acq_common_desc acq_common_desc;
295
296         /* Target interface address handle (opaque) */
297         u16 ah;
298
299         u16 reserved;
300 };
301
302 struct efa_admin_destroy_ah_cmd {
303         /* Common Admin Queue descriptor */
304         struct efa_admin_aq_common_desc aq_common_desc;
305
306         /* Target interface address handle (opaque) */
307         u16 ah;
308
309         /* PD number */
310         u16 pd;
311 };
312
313 struct efa_admin_destroy_ah_resp {
314         /* Common Admin Queue completion descriptor */
315         struct efa_admin_acq_common_desc acq_common_desc;
316 };
317
318 /*
319  * Registration of MemoryRegion, required for QP working with Virtual
320  * Addresses. In standard verbs semantics, region length is limited to 2GB
321  * space, but EFA offers larger MR support for large memory space, to ease
322  * on users working with very large datasets (i.e. full GPU memory mapping).
323  */
324 struct efa_admin_reg_mr_cmd {
325         /* Common Admin Queue descriptor */
326         struct efa_admin_aq_common_desc aq_common_desc;
327
328         /* Protection Domain */
329         u16 pd;
330
331         /* MBZ */
332         u16 reserved16_w1;
333
334         /* Physical Buffer List, each element is page-aligned. */
335         union {
336                 /*
337                  * Inline array of guest-physical page addresses of user
338                  * memory pages (optimization for short region
339                  * registrations)
340                  */
341                 u64 inline_pbl_array[4];
342
343                 /* points to PBL (direct or indirect, chained if needed) */
344                 struct efa_admin_ctrl_buff_info pbl;
345         } pbl;
346
347         /* Memory region length, in bytes. */
348         u64 mr_length;
349
350         /*
351          * flags and page size
352          * 4:0 : phys_page_size_shift - page size is (1 <<
353          *    phys_page_size_shift). Page size is used for
354          *    building the Virtual to Physical address mapping
355          * 6:5 : reserved - MBZ
356          * 7 : mem_addr_phy_mode_en - Enable bit for physical
357          *    memory registration (no translation), can be used
358          *    only by privileged clients. If set, PBL must
359          *    contain a single entry.
360          */
361         u8 flags;
362
363         /*
364          * permissions
365          * 0 : local_write_enable - Write permissions: value
366          *    of 1 needed for RQ buffers and for RDMA write
367          * 7:1 : reserved1 - remote access flags, etc
368          */
369         u8 permissions;
370
371         u16 reserved16_w5;
372
373         /* number of pages in PBL (redundant, could be calculated) */
374         u32 page_num;
375
376         /*
377          * IO Virtual Address associated with this MR. If
378          * mem_addr_phy_mode_en is set, contains the physical address of
379          * the region.
380          */
381         u64 iova;
382 };
383
384 struct efa_admin_reg_mr_resp {
385         /* Common Admin Queue completion descriptor */
386         struct efa_admin_acq_common_desc acq_common_desc;
387
388         /*
389          * L_Key, to be used in conjunction with local buffer references in
390          * SQ and RQ WQE, or with virtual RQ/CQ rings
391          */
392         u32 l_key;
393
394         /*
395          * R_Key, to be used in RDMA messages to refer to remotely accessed
396          * memory region
397          */
398         u32 r_key;
399 };
400
401 struct efa_admin_dereg_mr_cmd {
402         /* Common Admin Queue descriptor */
403         struct efa_admin_aq_common_desc aq_common_desc;
404
405         /* L_Key, memory region's l_key */
406         u32 l_key;
407 };
408
409 struct efa_admin_dereg_mr_resp {
410         /* Common Admin Queue completion descriptor */
411         struct efa_admin_acq_common_desc acq_common_desc;
412 };
413
414 struct efa_admin_create_cq_cmd {
415         struct efa_admin_aq_common_desc aq_common_desc;
416
417         /*
418          * 4:0 : reserved5
419          * 5 : interrupt_mode_enabled - if set, cq operates
420          *    in interrupt mode (i.e. CQ events and MSI-X are
421          *    generated), otherwise - polling
422          * 6 : virt - If set, ring base address is virtual
423          *    (IOVA returned by MR registration)
424          * 7 : reserved6
425          */
426         u8 cq_caps_1;
427
428         /*
429          * 4:0 : cq_entry_size_words - size of CQ entry in
430          *    32-bit words, valid values: 4, 8.
431          * 7:5 : reserved7
432          */
433         u8 cq_caps_2;
434
435         /* completion queue depth in # of entries. must be power of 2 */
436         u16 cq_depth;
437
438         /* msix vector assigned to this cq */
439         u32 msix_vector_idx;
440
441         /*
442          * CQ ring base address, virtual or physical depending on 'virt'
443          * flag
444          */
445         struct efa_common_mem_addr cq_ba;
446
447         /*
448          * Memory registration key for the ring, used only when base
449          * address is virtual
450          */
451         u32 l_key;
452
453         /*
454          * number of sub cqs - must be equal to sub_cqs_per_cq of queue
455          *    attributes.
456          */
457         u16 num_sub_cqs;
458
459         /* UAR number */
460         u16 uar;
461 };
462
463 struct efa_admin_create_cq_resp {
464         struct efa_admin_acq_common_desc acq_common_desc;
465
466         u16 cq_idx;
467
468         /* actual cq depth in number of entries */
469         u16 cq_actual_depth;
470 };
471
472 struct efa_admin_destroy_cq_cmd {
473         struct efa_admin_aq_common_desc aq_common_desc;
474
475         u16 cq_idx;
476
477         u16 reserved1;
478 };
479
480 struct efa_admin_destroy_cq_resp {
481         struct efa_admin_acq_common_desc acq_common_desc;
482 };
483
484 /*
485  * EFA AQ Get Statistics command. Extended statistics are placed in control
486  * buffer pointed by AQ entry
487  */
488 struct efa_admin_aq_get_stats_cmd {
489         struct efa_admin_aq_common_desc aq_common_descriptor;
490
491         union {
492                 /* command specific inline data */
493                 u32 inline_data_w1[3];
494
495                 struct efa_admin_ctrl_buff_info control_buffer;
496         } u;
497
498         /* stats type as defined in enum efa_admin_get_stats_type */
499         u8 type;
500
501         /* stats scope defined in enum efa_admin_get_stats_scope */
502         u8 scope;
503
504         u16 scope_modifier;
505 };
506
507 struct efa_admin_basic_stats {
508         u64 tx_bytes;
509
510         u64 tx_pkts;
511
512         u64 rx_bytes;
513
514         u64 rx_pkts;
515
516         u64 rx_drops;
517 };
518
519 struct efa_admin_acq_get_stats_resp {
520         struct efa_admin_acq_common_desc acq_common_desc;
521
522         struct efa_admin_basic_stats basic_stats;
523 };
524
525 struct efa_admin_get_set_feature_common_desc {
526         /*
527          * 1:0 : select - 0x1 - current value; 0x3 - default
528          *    value
529          * 7:3 : reserved3
530          */
531         u8 flags;
532
533         /* as appears in efa_admin_aq_feature_id */
534         u8 feature_id;
535
536         /* MBZ */
537         u16 reserved16;
538 };
539
540 struct efa_admin_feature_device_attr_desc {
541         /* Bitmap of efa_admin_aq_feature_id */
542         u64 supported_features;
543
544         /* Bitmap of supported page sizes in MR registrations */
545         u64 page_size_cap;
546
547         u32 fw_version;
548
549         u32 admin_api_version;
550
551         u32 device_version;
552
553         /* Bar used for SQ and RQ doorbells */
554         u16 db_bar;
555
556         /* Indicates how many bits are used physical address access */
557         u8 phys_addr_width;
558
559         /* Indicates how many bits are used virtual address access */
560         u8 virt_addr_width;
561 };
562
563 struct efa_admin_feature_queue_attr_desc {
564         /* The maximum number of queue pairs supported */
565         u32 max_qp;
566
567         u32 max_sq_depth;
568
569         /* max send wr used in inline-buf */
570         u32 inline_buf_size;
571
572         u32 max_rq_depth;
573
574         /* The maximum number of completion queues supported per VF */
575         u32 max_cq;
576
577         u32 max_cq_depth;
578
579         /* Number of sub-CQs to be created for each CQ */
580         u16 sub_cqs_per_cq;
581
582         u16 reserved;
583
584         /*
585          * Maximum number of SGEs (buffs) allowed for a single send work
586          *    queue element (WQE)
587          */
588         u16 max_wr_send_sges;
589
590         /* Maximum number of SGEs allowed for a single recv WQE */
591         u16 max_wr_recv_sges;
592
593         /* The maximum number of memory regions supported */
594         u32 max_mr;
595
596         /* The maximum number of pages can be registered */
597         u32 max_mr_pages;
598
599         /* The maximum number of protection domains supported */
600         u32 max_pd;
601
602         /* The maximum number of address handles supported */
603         u32 max_ah;
604
605         /* The maximum size of LLQ in bytes */
606         u32 max_llq_size;
607 };
608
609 struct efa_admin_feature_aenq_desc {
610         /* bitmask for AENQ groups the device can report */
611         u32 supported_groups;
612
613         /* bitmask for AENQ groups to report */
614         u32 enabled_groups;
615 };
616
617 struct efa_admin_feature_network_attr_desc {
618         /* Raw address data in network byte order */
619         u8 addr[16];
620
621         u32 mtu;
622 };
623
624 /*
625  * When hint value is 0, hints capabilities are not supported or driver
626  * should use its own predefined value
627  */
628 struct efa_admin_hw_hints {
629         /* value in ms */
630         u16 mmio_read_timeout;
631
632         /* value in ms */
633         u16 driver_watchdog_timeout;
634
635         /* value in ms */
636         u16 admin_completion_timeout;
637
638         /* poll interval in ms */
639         u16 poll_interval;
640 };
641
642 struct efa_admin_get_feature_cmd {
643         struct efa_admin_aq_common_desc aq_common_descriptor;
644
645         struct efa_admin_ctrl_buff_info control_buffer;
646
647         struct efa_admin_get_set_feature_common_desc feature_common;
648
649         u32 raw[11];
650 };
651
652 struct efa_admin_get_feature_resp {
653         struct efa_admin_acq_common_desc acq_common_desc;
654
655         union {
656                 u32 raw[14];
657
658                 struct efa_admin_feature_device_attr_desc device_attr;
659
660                 struct efa_admin_feature_aenq_desc aenq;
661
662                 struct efa_admin_feature_network_attr_desc network_attr;
663
664                 struct efa_admin_feature_queue_attr_desc queue_attr;
665
666                 struct efa_admin_hw_hints hw_hints;
667         } u;
668 };
669
670 struct efa_admin_set_feature_cmd {
671         struct efa_admin_aq_common_desc aq_common_descriptor;
672
673         struct efa_admin_ctrl_buff_info control_buffer;
674
675         struct efa_admin_get_set_feature_common_desc feature_common;
676
677         union {
678                 u32 raw[11];
679
680                 /* AENQ configuration */
681                 struct efa_admin_feature_aenq_desc aenq;
682         } u;
683 };
684
685 struct efa_admin_set_feature_resp {
686         struct efa_admin_acq_common_desc acq_common_desc;
687
688         union {
689                 u32 raw[14];
690         } u;
691 };
692
693 struct efa_admin_alloc_pd_cmd {
694         struct efa_admin_aq_common_desc aq_common_descriptor;
695 };
696
697 struct efa_admin_alloc_pd_resp {
698         struct efa_admin_acq_common_desc acq_common_desc;
699
700         /* PD number */
701         u16 pd;
702
703         /* MBZ */
704         u16 reserved;
705 };
706
707 struct efa_admin_dealloc_pd_cmd {
708         struct efa_admin_aq_common_desc aq_common_descriptor;
709
710         /* PD number */
711         u16 pd;
712
713         /* MBZ */
714         u16 reserved;
715 };
716
717 struct efa_admin_dealloc_pd_resp {
718         struct efa_admin_acq_common_desc acq_common_desc;
719 };
720
721 struct efa_admin_alloc_uar_cmd {
722         struct efa_admin_aq_common_desc aq_common_descriptor;
723 };
724
725 struct efa_admin_alloc_uar_resp {
726         struct efa_admin_acq_common_desc acq_common_desc;
727
728         /* UAR number */
729         u16 uar;
730
731         /* MBZ */
732         u16 reserved;
733 };
734
735 struct efa_admin_dealloc_uar_cmd {
736         struct efa_admin_aq_common_desc aq_common_descriptor;
737
738         /* UAR number */
739         u16 uar;
740
741         /* MBZ */
742         u16 reserved;
743 };
744
745 struct efa_admin_dealloc_uar_resp {
746         struct efa_admin_acq_common_desc acq_common_desc;
747 };
748
749 /* asynchronous event notification groups */
750 enum efa_admin_aenq_group {
751         EFA_ADMIN_FATAL_ERROR                       = 1,
752         EFA_ADMIN_WARNING                           = 2,
753         EFA_ADMIN_NOTIFICATION                      = 3,
754         EFA_ADMIN_KEEP_ALIVE                        = 4,
755         EFA_ADMIN_AENQ_GROUPS_NUM                   = 5,
756 };
757
758 enum efa_admin_aenq_notification_syndrom {
759         EFA_ADMIN_SUSPEND                           = 0,
760         EFA_ADMIN_RESUME                            = 1,
761         EFA_ADMIN_UPDATE_HINTS                      = 2,
762 };
763
764 struct efa_admin_mmio_req_read_less_resp {
765         u16 req_id;
766
767         u16 reg_off;
768
769         /* value is valid when poll is cleared */
770         u32 reg_val;
771 };
772
773 /* create_qp_cmd */
774 #define EFA_ADMIN_CREATE_QP_CMD_SQ_VIRT_MASK                BIT(0)
775 #define EFA_ADMIN_CREATE_QP_CMD_RQ_VIRT_SHIFT               1
776 #define EFA_ADMIN_CREATE_QP_CMD_RQ_VIRT_MASK                BIT(1)
777
778 /* reg_mr_cmd */
779 #define EFA_ADMIN_REG_MR_CMD_PHYS_PAGE_SIZE_SHIFT_MASK      GENMASK(4, 0)
780 #define EFA_ADMIN_REG_MR_CMD_MEM_ADDR_PHY_MODE_EN_SHIFT     7
781 #define EFA_ADMIN_REG_MR_CMD_MEM_ADDR_PHY_MODE_EN_MASK      BIT(7)
782 #define EFA_ADMIN_REG_MR_CMD_LOCAL_WRITE_ENABLE_MASK        BIT(0)
783
784 /* create_cq_cmd */
785 #define EFA_ADMIN_CREATE_CQ_CMD_INTERRUPT_MODE_ENABLED_SHIFT 5
786 #define EFA_ADMIN_CREATE_CQ_CMD_INTERRUPT_MODE_ENABLED_MASK BIT(5)
787 #define EFA_ADMIN_CREATE_CQ_CMD_VIRT_SHIFT                  6
788 #define EFA_ADMIN_CREATE_CQ_CMD_VIRT_MASK                   BIT(6)
789 #define EFA_ADMIN_CREATE_CQ_CMD_CQ_ENTRY_SIZE_WORDS_MASK    GENMASK(4, 0)
790
791 /* get_set_feature_common_desc */
792 #define EFA_ADMIN_GET_SET_FEATURE_COMMON_DESC_SELECT_MASK   GENMASK(1, 0)
793
794 #endif /* _EFA_ADMIN_CMDS_H_ */