hfi1_user.h revision 05d08e9716b5974d6ed08973f44930804890b902
1/**************************************************************************** 2 **************************************************************************** 3 *** 4 *** This header was automatically generated from a Linux kernel header 5 *** of the same name, to make information necessary for userspace to 6 *** call into the kernel available to libc. It contains only constants, 7 *** structures, and macros generated from the original header, and thus, 8 *** contains no copyrightable information. 9 *** 10 *** To edit the content of this header, modify the corresponding 11 *** source file (e.g. under external/kernel-headers/original/) then 12 *** run bionic/libc/kernel/tools/update_all.py 13 *** 14 *** Any manual change here will be lost the next time this script will 15 *** be run. You've been warned! 16 *** 17 **************************************************************************** 18 ****************************************************************************/ 19#ifndef _LINUX__HFI1_USER_H 20#define _LINUX__HFI1_USER_H 21#include <linux/types.h> 22#define HFI1_USER_SWMAJOR 4 23/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 24#define HFI1_USER_SWMINOR 0 25#define HFI1_CAP_DMA_RTAIL (1UL << 0) 26#define HFI1_CAP_SDMA (1UL << 1) 27#define HFI1_CAP_SDMA_AHG (1UL << 2) 28/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 29#define HFI1_CAP_EXTENDED_PSN (1UL << 3) 30#define HFI1_CAP_HDRSUPP (1UL << 4) 31#define HFI1_CAP_USE_SDMA_HEAD (1UL << 6) 32#define HFI1_CAP_MULTI_PKT_EGR (1UL << 7) 33/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 34#define HFI1_CAP_NODROP_RHQ_FULL (1UL << 8) 35#define HFI1_CAP_NODROP_EGR_FULL (1UL << 9) 36#define HFI1_CAP_TID_UNMAP (1UL << 10) 37#define HFI1_CAP_PRINT_UNIMPL (1UL << 11) 38/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 39#define HFI1_CAP_ALLOW_PERM_JKEY (1UL << 12) 40#define HFI1_CAP_NO_INTEGRITY (1UL << 13) 41#define HFI1_CAP_PKEY_CHECK (1UL << 14) 42#define HFI1_CAP_STATIC_RATE_CTRL (1UL << 15) 43/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 44#define HFI1_CAP_SDMA_HEAD_CHECK (1UL << 17) 45#define HFI1_CAP_EARLY_CREDIT_RETURN (1UL << 18) 46#define HFI1_RCVHDR_ENTSIZE_2 (1UL << 0) 47#define HFI1_RCVHDR_ENTSIZE_16 (1UL << 1) 48/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 49#define HFI1_RCVDHR_ENTSIZE_32 (1UL << 2) 50#define HFI1_ALG_ACROSS 0 51#define HFI1_ALG_WITHIN 1 52#define HFI1_ALG_COUNT 2 53/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 54#define HFI1_CMD_ASSIGN_CTXT 1 55#define HFI1_CMD_CTXT_INFO 2 56#define HFI1_CMD_USER_INFO 3 57#define HFI1_CMD_TID_UPDATE 4 58/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 59#define HFI1_CMD_TID_FREE 5 60#define HFI1_CMD_CREDIT_UPD 6 61#define HFI1_CMD_SDMA_STATUS_UPD 7 62#define HFI1_CMD_RECV_CTRL 8 63/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 64#define HFI1_CMD_POLL_TYPE 9 65#define HFI1_CMD_ACK_EVENT 10 66#define HFI1_CMD_SET_PKEY 11 67#define HFI1_CMD_CTXT_RESET 12 68/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 69#define HFI1_CMD_EP_INFO 64 70#define HFI1_CMD_EP_ERASE_CHIP 65 71#define HFI1_CMD_EP_ERASE_P0 66 72#define HFI1_CMD_EP_ERASE_P1 67 73/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 74#define HFI1_CMD_EP_READ_P0 68 75#define HFI1_CMD_EP_READ_P1 69 76#define HFI1_CMD_EP_WRITE_P0 70 77#define HFI1_CMD_EP_WRITE_P1 71 78/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 79#define _HFI1_EVENT_FROZEN_BIT 0 80#define _HFI1_EVENT_LINKDOWN_BIT 1 81#define _HFI1_EVENT_LID_CHANGE_BIT 2 82#define _HFI1_EVENT_LMC_CHANGE_BIT 3 83/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 84#define _HFI1_EVENT_SL2VL_CHANGE_BIT 4 85#define _HFI1_MAX_EVENT_BIT _HFI1_EVENT_SL2VL_CHANGE_BIT 86#define HFI1_EVENT_FROZEN (1UL << _HFI1_EVENT_FROZEN_BIT) 87#define HFI1_EVENT_LINKDOWN_BIT (1UL << _HFI1_EVENT_LINKDOWN_BIT) 88/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 89#define HFI1_EVENT_LID_CHANGE_BIT (1UL << _HFI1_EVENT_LID_CHANGE_BIT) 90#define HFI1_EVENT_LMC_CHANGE_BIT (1UL << _HFI1_EVENT_LMC_CHANGE_BIT) 91#define HFI1_EVENT_SL2VL_CHANGE_BIT (1UL << _HFI1_EVENT_SL2VL_CHANGE_BIT) 92#define HFI1_STATUS_INITTED 0x1 93/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 94#define HFI1_STATUS_CHIP_PRESENT 0x20 95#define HFI1_STATUS_IB_READY 0x40 96#define HFI1_STATUS_IB_CONF 0x80 97#define HFI1_STATUS_HWERROR 0x200 98/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 99#define HFI1_MAX_SHARED_CTXTS 8 100#define HFI1_POLL_TYPE_ANYRCV 0x0 101#define HFI1_POLL_TYPE_URGENT 0x1 102struct hfi1_user_info { 103/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 104 __u32 userversion; 105 __u16 pad; 106 __u16 hfi1_alg; 107 __u16 subctxt_cnt; 108/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 109 __u16 subctxt_id; 110 __u8 uuid[16]; 111}; 112struct hfi1_ctxt_info { 113/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 114 __u64 runtime_flags; 115 __u32 rcvegr_size; 116 __u16 num_active; 117 __u16 unit; 118/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 119 __u16 ctxt; 120 __u16 subctxt; 121 __u16 rcvtids; 122 __u16 credits; 123/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 124 __u16 numa_node; 125 __u16 rec_cpu; 126 __u16 send_ctxt; 127 __u16 egrtids; 128/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 129 __u16 rcvhdrq_cnt; 130 __u16 rcvhdrq_entsize; 131 __u16 sdma_ring_size; 132}; 133/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 134struct hfi1_tid_info { 135 __u64 vaddr; 136 __u64 tidlist; 137 __u32 tidcnt; 138/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 139 __u32 length; 140 __u64 tidmap; 141}; 142struct hfi1_cmd { 143/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 144 __u32 type; 145 __u32 len; 146 __u64 addr; 147}; 148/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 149enum hfi1_sdma_comp_state { 150 FREE = 0, 151 QUEUED, 152 COMPLETE, 153/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 154 ERROR 155}; 156struct hfi1_sdma_comp_entry { 157 __u32 status; 158/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 159 __u32 errcode; 160}; 161struct hfi1_status { 162 __u64 dev; 163/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 164 __u64 port; 165 char freezemsg[0]; 166}; 167struct hfi1_base_info { 168/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 169 __u32 hw_version; 170 __u32 sw_version; 171 __u16 jkey; 172 __u16 padding1; 173/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 174 __u32 bthqp; 175 __u64 sc_credits_addr; 176 __u64 pio_bufbase_sop; 177 __u64 pio_bufbase; 178/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 179 __u64 rcvhdr_bufbase; 180 __u64 rcvegr_bufbase; 181 __u64 sdma_comp_bufbase; 182 __u64 user_regbase; 183/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 184 __u64 events_bufbase; 185 __u64 status_bufbase; 186 __u64 rcvhdrtail_base; 187 __u64 subctxt_uregbase; 188/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 189 __u64 subctxt_rcvegrbuf; 190 __u64 subctxt_rcvhdrbuf; 191}; 192enum sdma_req_opcode { 193/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 194 EXPECTED = 0, 195 EAGER 196}; 197#define HFI1_SDMA_REQ_VERSION_MASK 0xF 198/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 199#define HFI1_SDMA_REQ_VERSION_SHIFT 0x0 200#define HFI1_SDMA_REQ_OPCODE_MASK 0xF 201#define HFI1_SDMA_REQ_OPCODE_SHIFT 0x4 202#define HFI1_SDMA_REQ_IOVCNT_MASK 0xFF 203/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 204#define HFI1_SDMA_REQ_IOVCNT_SHIFT 0x8 205struct sdma_req_info { 206 __u16 ctrl; 207 __u16 npkts; 208/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 209 __u16 fragsize; 210 __u16 comp_idx; 211} __packed; 212struct hfi1_kdeth_header { 213/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 214 __le32 ver_tid_offset; 215 __le16 jkey; 216 __le16 hcrc; 217 __le32 swdata[7]; 218/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 219} __packed; 220struct hfi1_pkt_header { 221 __le16 pbc[4]; 222 __be16 lrh[4]; 223/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 224 __be32 bth[3]; 225 struct hfi1_kdeth_header kdeth; 226} __packed; 227enum hfi1_ureg { 228/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 229 ur_rcvhdrtail = 0, 230 ur_rcvhdrhead = 1, 231 ur_rcvegrindextail = 2, 232 ur_rcvegrindexhead = 3, 233/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 234 ur_rcvegroffsettail = 4, 235 ur_maxreg, 236 ur_rcvtidflowtable = 256 237}; 238/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 239#endif 240