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