Lines Matching defs:hfi1_devdata

1069 struct hfi1_devdata {  struct
1070 struct hfi1_ibdev verbs_dev; /* must be first */
1073 struct pci_dev *pcidev;
1074 struct cdev user_cdev;
1075 struct cdev diag_cdev;
1076 struct cdev ui_cdev;
1077 struct device *user_device;
1078 struct device *diag_device;
1079 struct device *ui_device;
1082 u8 __iomem *kregbase1;
1083 resource_size_t physaddr;
1086 u8 __iomem *kregbase2;
1088 u32 base2_start;
1091 struct per_vl_data vld[PER_VL_SEND_CONTEXTS];
1093 struct send_context_info *send_contexts;
1095 u8 *hw_to_sw;
1097 spinlock_t sc_lock;
1099 spinlock_t pio_map_lock;
1101 spinlock_t sc_init_lock;
1103 spinlock_t sde_map_lock;
1105 struct send_context **kernel_send_context;
1107 struct pio_vl_map __rcu *pio_map;
1109 u64 default_desc1;
1113 volatile __le64 *sdma_heads_dma; /* DMA'ed by chip */
1114 dma_addr_t sdma_heads_phys;
1115 void *sdma_pad_dma; /* DMA'ed by chip */
1116 dma_addr_t sdma_pad_phys;
1118 size_t sdma_heads_size;
1120 u32 num_sdma;
1122 struct sdma_engine *per_sdma;
1124 struct sdma_vl_map __rcu *sdma_map;
1126 wait_queue_head_t sdma_unfreeze_wq;
1127 atomic_t sdma_unfreeze_count;
1129 u32 lcb_access_count; /* count of LCB users */
1132 struct hfi1_asic_data *asic_data;
1135 void __iomem *piobase;
1140 void __iomem *rcvarray_wc;
1145 struct credit_return_base *cr_base;
1148 struct sc_config_sizes sc_sizes[SC_MAX];
1150 char *boardname; /* human readable board info */
1152 u64 ctx0_seq_drop;
1155 u64 z_int_counter;
1156 u64 z_rcv_limit;
1157 u64 z_send_schedule;
1159 u64 __percpu *send_schedule;
1161 u16 num_netdev_contexts;
1163 u32 num_rcv_contexts;
1165 u32 num_send_contexts;
1169 u32 freectxts;
1171 u32 num_user_contexts;
1173 u32 rcv_intr_timeout_csr;
1175 spinlock_t sendctrl_lock; /* protect changes to SendCtrl */
1176 spinlock_t rcvctrl_lock; /* protect changes to RcvCtrl */
1177 spinlock_t uctxt_lock; /* protect rcd changes */
1178 struct mutex dc8051_lock; /* exclusive access to 8051 */
1179 struct workqueue_struct *update_cntr_wq;
1180 struct work_struct update_cntr_work;
1182 spinlock_t dc8051_memlock;
1183 int dc8051_timed_out; /* remember if the 8051 timed out */
1188 unsigned long *events;
1194 struct hfi1_status *status;
1197 u64 revision;
1199 u64 base_guid;
1202 u8 link_gen3_capable;
1203 u8 dc_shutdown;
1205 u32 lbus_width;
1207 u32 lbus_speed;
1208 int unit; /* unit # of this chip */
1209 int node; /* home node of this chip */
1212 u32 pcibar0;
1213 u32 pcibar1;
1214 u32 pci_rom;
1215 u16 pci_command;
1216 u16 pcie_devctl;
1217 u16 pcie_lnkctl;
1218 u16 pcie_devctl2;
1219 u32 pci_msix0;
1220 u32 pci_tph2;
1226 u8 serial[SERIAL_MAX];
1228 u8 boardversion[BOARD_VERS_MAX];
1229 u8 lbus_info[32]; /* human readable localbus info */
1231 u8 majrev;
1233 u8 minrev;
1235 u8 hfi1_id;
1237 u8 icode;
1239 u8 vau;
1241 u8 vcu;
1243 u16 link_credits;
1245 u16 vl15_init;
1253 u16 vl15buf_cached;
1256 u8 n_krcv_queues;
1257 u8 qos_shift;
1259 u16 irev; /* implementation revision */
1260 u32 dc8051_ver; /* 8051 firmware version */
1262 spinlock_t hfi1_diag_trans_lock; /* protect diag observer ops */
1263 struct platform_config platform_config;
1264 struct platform_config_cache pcfg_cache;
1266 struct diag_client *diag_client;
1269 u64 gi_mask[CCE_NUM_INT_CSRS];
1271 struct rcv_array_data rcv_entries;
1274 u16 psxmitwait_check_rate;
1279 struct timer_list synth_stats_timer;
1282 struct hfi1_msix_info msix_info;
1287 char *cntrnames;
1288 size_t cntrnameslen;
1289 size_t ndevcntrs;
1290 u64 *cntrs;
1291 u64 *scntrs;
1296 u64 last_tx;
1297 u64 last_rx;
1302 size_t nportcntrs;
1303 char *portcntrnames;
1304 size_t portcntrnameslen;
1306 struct err_info_rcvport err_info_rcvport;
1307 struct err_info_constraint err_info_rcv_constraint;
1308 struct err_info_constraint err_info_xmit_constraint;
1310 atomic_t drop_packet;
1311 bool do_drop;
1312 u8 err_info_uncorrectable;
1313 u8 err_info_fmconfig;
1319 u64 cce_err_status_cnt[NUM_CCE_ERR_STATUS_COUNTERS];
1320 u64 rcv_err_status_cnt[NUM_RCV_ERR_STATUS_COUNTERS];
1321 u64 misc_err_status_cnt[NUM_MISC_ERR_STATUS_COUNTERS];
1322 u64 send_pio_err_status_cnt[NUM_SEND_PIO_ERR_STATUS_COUNTERS];
1323 u64 send_dma_err_status_cnt[NUM_SEND_DMA_ERR_STATUS_COUNTERS];
1324 u64 send_egress_err_status_cnt[NUM_SEND_EGRESS_ERR_STATUS_COUNTERS];
1325 u64 send_err_status_cnt[NUM_SEND_ERR_STATUS_COUNTERS];
1349 void (*pio_inline_send)(struct hfi1_devdata *dd, struct pio_buf *pbuf, argument
1351 int (*process_vnic_dma_send)(struct hfi1_devdata *dd, u8 q_idx, argument
1357 struct hfi1_pportdata *pport;
1359 struct hfi1_ctxtdata **rcd;
1360 u64 __percpu *int_counter;
1362 struct hfi1_opcode_stats_perctx __percpu *tx_opstats;
1364 u16 flags;
1366 u8 num_pports;
1368 u8 first_dyn_alloc_ctxt;
1372 seqlock_t sc2vl_lock ____cacheline_aligned_in_smp;
1373 u64 sc2vl[4];
1374 u64 __percpu *rcv_limit;
1378 u8 oui1;
1379 u8 oui2;
1380 u8 oui3;
1383 struct timer_list rcverr_timer;
1385 wait_queue_head_t event_queue;
1388 __le64 *rcvhdrtail_dummy_kvaddr;
1389 dma_addr_t rcvhdrtail_dummy_dma;
1391 u32 rcv_ovfl_cnt;
1393 spinlock_t aspm_lock;
1395 atomic_t aspm_disabled_cnt;
1397 atomic_t user_refcount;
1399 struct completion user_comp;
1401 bool eprom_available; /* true if EPROM is available for this device */
1402 bool aspm_supported; /* Does HW support ASPM */
1403 bool aspm_enabled; /* ASPM state: enabled/disabled */
1404 struct rhashtable *sdma_rht;
1407 struct hfi1_vnic_data vnic;
1409 spinlock_t irq_src_lock;
1410 int vnic_num_vports;
1411 struct net_device *dummy_netdev;
1436 struct hfi1_devdata *dd; argument