1 /*
2  * This header was generated from the Linux kernel headers by update_headers.py,
3  * to provide necessary information from kernel to userspace, such as constants,
4  * structures, and macros, and thus, contains no copyrightable information.
5  */
6 #ifndef _LINUX__HFI1_IOCTL_H
7 #define _LINUX__HFI1_IOCTL_H
8 #include <linux/types.h>
9 struct hfi1_user_info {
10 
11 	__u32 userversion;
12 	__u32 pad;
13 
14 	__u16 subctxt_cnt;
15 	__u16 subctxt_id;
16 
17 	__u8 uuid[16];
18 };
19 struct hfi1_ctxt_info {
20 	__aligned_u64 runtime_flags;
21 	__u32 rcvegr_size;
22 	__u16 num_active;
23 	__u16 unit;
24 	__u16 ctxt;
25 	__u16 subctxt;
26 	__u16 rcvtids;
27 	__u16 credits;
28 	__u16 numa_node;
29 	__u16 rec_cpu;
30 	__u16 send_ctxt;
31 	__u16 egrtids;
32 	__u16 rcvhdrq_cnt;
33 	__u16 rcvhdrq_entsize;
34 	__u16 sdma_ring_size;
35 };
36 struct hfi1_tid_info {
37 
38 	__aligned_u64 vaddr;
39 
40 	__aligned_u64 tidlist;
41 
42 	__u32 tidcnt;
43 
44 	__u32 length;
45 };
46 struct hfi1_base_info {
47 
48 	__u32 hw_version;
49 
50 	__u32 sw_version;
51 
52 	__u16 jkey;
53 	__u16 padding1;
54 
55 	__u32 bthqp;
56 
57 	__aligned_u64 sc_credits_addr;
58 
59 	__aligned_u64 pio_bufbase_sop;
60 
61 	__aligned_u64 pio_bufbase;
62 
63 	__aligned_u64 rcvhdr_bufbase;
64 
65 	__aligned_u64 rcvegr_bufbase;
66 
67 	__aligned_u64 sdma_comp_bufbase;
68 
69 	__aligned_u64 user_regbase;
70 
71 	__aligned_u64 events_bufbase;
72 
73 	__aligned_u64 status_bufbase;
74 
75 	__aligned_u64 rcvhdrtail_base;
76 
77 	__aligned_u64 subctxt_uregbase;
78 	__aligned_u64 subctxt_rcvegrbuf;
79 	__aligned_u64 subctxt_rcvhdrbuf;
80 };
81 #endif
82