blob: 02bb061451a4bf90fc6e7b31a1b0001b86e16646 [file] [log] [blame]
Elliott Hughes180edef2023-11-02 00:08:05 +00001/*
2 * This file is auto-generated. Modifications will be lost.
3 *
4 * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
5 * for more information.
6 */
Christopher Ferris8b7fdc92023-02-21 13:36:32 -08007#ifndef MANA_ABI_USER_H
8#define MANA_ABI_USER_H
9#include <linux/types.h>
10#include <rdma/ib_user_ioctl_verbs.h>
11#define MANA_IB_UVERBS_ABI_VERSION 1
Christopher Ferris7ac54f52024-08-07 21:07:12 +000012enum mana_ib_create_cq_flags {
13 MANA_IB_CREATE_RNIC_CQ = 1 << 0,
14};
Christopher Ferris8b7fdc92023-02-21 13:36:32 -080015struct mana_ib_create_cq {
16 __aligned_u64 buf_addr;
Christopher Ferris7ac54f52024-08-07 21:07:12 +000017 __u16 flags;
18 __u16 reserved0;
19 __u32 reserved1;
20};
21struct mana_ib_create_cq_resp {
22 __u32 cqid;
23 __u32 reserved;
Christopher Ferris8b7fdc92023-02-21 13:36:32 -080024};
25struct mana_ib_create_qp {
26 __aligned_u64 sq_buf_addr;
27 __u32 sq_buf_size;
28 __u32 port;
29};
30struct mana_ib_create_qp_resp {
31 __u32 sqid;
32 __u32 cqid;
33 __u32 tx_vp_offset;
34 __u32 reserved;
35};
Christopher Ferris63fcca42024-09-26 01:12:10 +000036struct mana_ib_create_rc_qp {
37 __aligned_u64 queue_buf[4];
38 __u32 queue_size[4];
39};
40struct mana_ib_create_rc_qp_resp {
41 __u32 queue_id[4];
42};
Christopher Ferris8b7fdc92023-02-21 13:36:32 -080043struct mana_ib_create_wq {
44 __aligned_u64 wq_buf_addr;
45 __u32 wq_buf_size;
46 __u32 reserved;
47};
48enum mana_ib_rx_hash_function_flags {
49 MANA_IB_RX_HASH_FUNC_TOEPLITZ = 1 << 0,
50};
51struct mana_ib_create_qp_rss {
52 __aligned_u64 rx_hash_fields_mask;
53 __u8 rx_hash_function;
54 __u8 reserved[7];
55 __u32 rx_hash_key_len;
56 __u8 rx_hash_key[40];
57 __u32 port;
58};
59struct rss_resp_entry {
60 __u32 cqid;
61 __u32 wqid;
62};
63struct mana_ib_create_qp_rss_resp {
64 __aligned_u64 num_entries;
65 struct rss_resp_entry entries[64];
66};
67#endif