diff options
Diffstat (limited to 'drivers/infiniband/hw/ipath/ipath_kernel.h')
-rw-r--r-- | drivers/infiniband/hw/ipath/ipath_kernel.h | 57 |
1 files changed, 20 insertions, 37 deletions
diff --git a/drivers/infiniband/hw/ipath/ipath_kernel.h b/drivers/infiniband/hw/ipath/ipath_kernel.h index e9f374fb641e..a8a56276ff1d 100644 --- a/drivers/infiniband/hw/ipath/ipath_kernel.h +++ b/drivers/infiniband/hw/ipath/ipath_kernel.h | |||
@@ -132,12 +132,6 @@ struct _ipath_layer { | |||
132 | void *l_arg; | 132 | void *l_arg; |
133 | }; | 133 | }; |
134 | 134 | ||
135 | /* Verbs layer interface */ | ||
136 | struct _verbs_layer { | ||
137 | void *l_arg; | ||
138 | struct timer_list l_timer; | ||
139 | }; | ||
140 | |||
141 | struct ipath_devdata { | 135 | struct ipath_devdata { |
142 | struct list_head ipath_list; | 136 | struct list_head ipath_list; |
143 | 137 | ||
@@ -198,7 +192,8 @@ struct ipath_devdata { | |||
198 | void (*ipath_f_setextled)(struct ipath_devdata *, u64, u64); | 192 | void (*ipath_f_setextled)(struct ipath_devdata *, u64, u64); |
199 | /* fill out chip-specific fields */ | 193 | /* fill out chip-specific fields */ |
200 | int (*ipath_f_get_base_info)(struct ipath_portdata *, void *); | 194 | int (*ipath_f_get_base_info)(struct ipath_portdata *, void *); |
201 | struct _verbs_layer verbs_layer; | 195 | struct ipath_ibdev *verbs_dev; |
196 | struct timer_list verbs_timer; | ||
202 | /* total dwords sent (summed from counter) */ | 197 | /* total dwords sent (summed from counter) */ |
203 | u64 ipath_sword; | 198 | u64 ipath_sword; |
204 | /* total dwords rcvd (summed from counter) */ | 199 | /* total dwords rcvd (summed from counter) */ |
@@ -241,7 +236,7 @@ struct ipath_devdata { | |||
241 | u64 ipath_tidtemplate; | 236 | u64 ipath_tidtemplate; |
242 | /* value to write to free TIDs */ | 237 | /* value to write to free TIDs */ |
243 | u64 ipath_tidinvalid; | 238 | u64 ipath_tidinvalid; |
244 | /* PE-800 rcv interrupt setup */ | 239 | /* IBA6120 rcv interrupt setup */ |
245 | u64 ipath_rhdrhead_intr_off; | 240 | u64 ipath_rhdrhead_intr_off; |
246 | 241 | ||
247 | /* size of memory at ipath_kregbase */ | 242 | /* size of memory at ipath_kregbase */ |
@@ -250,8 +245,8 @@ struct ipath_devdata { | |||
250 | u32 ipath_pioavregs; | 245 | u32 ipath_pioavregs; |
251 | /* IPATH_POLL, etc. */ | 246 | /* IPATH_POLL, etc. */ |
252 | u32 ipath_flags; | 247 | u32 ipath_flags; |
253 | /* ipath_flags sma is waiting for */ | 248 | /* ipath_flags driver is waiting for */ |
254 | u32 ipath_sma_state_wanted; | 249 | u32 ipath_state_wanted; |
255 | /* last buffer for user use, first buf for kernel use is this | 250 | /* last buffer for user use, first buf for kernel use is this |
256 | * index. */ | 251 | * index. */ |
257 | u32 ipath_lastport_piobuf; | 252 | u32 ipath_lastport_piobuf; |
@@ -311,10 +306,6 @@ struct ipath_devdata { | |||
311 | u32 ipath_pcibar0; | 306 | u32 ipath_pcibar0; |
312 | /* so we can rewrite it after a chip reset */ | 307 | /* so we can rewrite it after a chip reset */ |
313 | u32 ipath_pcibar1; | 308 | u32 ipath_pcibar1; |
314 | /* sequential tries for SMA send and no bufs */ | ||
315 | u32 ipath_nosma_bufs; | ||
316 | /* duration (seconds) ipath_nosma_bufs set */ | ||
317 | u32 ipath_nosma_secs; | ||
318 | 309 | ||
319 | /* HT/PCI Vendor ID (here for NodeInfo) */ | 310 | /* HT/PCI Vendor ID (here for NodeInfo) */ |
320 | u16 ipath_vendorid; | 311 | u16 ipath_vendorid; |
@@ -512,6 +503,8 @@ struct ipath_devdata { | |||
512 | u8 ipath_pci_cacheline; | 503 | u8 ipath_pci_cacheline; |
513 | /* LID mask control */ | 504 | /* LID mask control */ |
514 | u8 ipath_lmc; | 505 | u8 ipath_lmc; |
506 | /* Rx Polarity inversion (compensate for ~tx on partner) */ | ||
507 | u8 ipath_rx_pol_inv; | ||
515 | 508 | ||
516 | /* local link integrity counter */ | 509 | /* local link integrity counter */ |
517 | u32 ipath_lli_counter; | 510 | u32 ipath_lli_counter; |
@@ -523,18 +516,6 @@ extern struct list_head ipath_dev_list; | |||
523 | extern spinlock_t ipath_devs_lock; | 516 | extern spinlock_t ipath_devs_lock; |
524 | extern struct ipath_devdata *ipath_lookup(int unit); | 517 | extern struct ipath_devdata *ipath_lookup(int unit); |
525 | 518 | ||
526 | extern u16 ipath_layer_rcv_opcode; | ||
527 | extern int __ipath_layer_intr(struct ipath_devdata *, u32); | ||
528 | extern int ipath_layer_intr(struct ipath_devdata *, u32); | ||
529 | extern int __ipath_layer_rcv(struct ipath_devdata *, void *, | ||
530 | struct sk_buff *); | ||
531 | extern int __ipath_layer_rcv_lid(struct ipath_devdata *, void *); | ||
532 | extern int __ipath_verbs_piobufavail(struct ipath_devdata *); | ||
533 | extern int __ipath_verbs_rcv(struct ipath_devdata *, void *, void *, u32); | ||
534 | |||
535 | void ipath_layer_add(struct ipath_devdata *); | ||
536 | void ipath_layer_remove(struct ipath_devdata *); | ||
537 | |||
538 | int ipath_init_chip(struct ipath_devdata *, int); | 519 | int ipath_init_chip(struct ipath_devdata *, int); |
539 | int ipath_enable_wc(struct ipath_devdata *dd); | 520 | int ipath_enable_wc(struct ipath_devdata *dd); |
540 | void ipath_disable_wc(struct ipath_devdata *dd); | 521 | void ipath_disable_wc(struct ipath_devdata *dd); |
@@ -549,9 +530,8 @@ void ipath_cdev_cleanup(struct cdev **cdevp, | |||
549 | 530 | ||
550 | int ipath_diag_add(struct ipath_devdata *); | 531 | int ipath_diag_add(struct ipath_devdata *); |
551 | void ipath_diag_remove(struct ipath_devdata *); | 532 | void ipath_diag_remove(struct ipath_devdata *); |
552 | void ipath_diag_bringup_link(struct ipath_devdata *); | ||
553 | 533 | ||
554 | extern wait_queue_head_t ipath_sma_state_wait; | 534 | extern wait_queue_head_t ipath_state_wait; |
555 | 535 | ||
556 | int ipath_user_add(struct ipath_devdata *dd); | 536 | int ipath_user_add(struct ipath_devdata *dd); |
557 | void ipath_user_remove(struct ipath_devdata *dd); | 537 | void ipath_user_remove(struct ipath_devdata *dd); |
@@ -582,12 +562,14 @@ void ipath_free_pddata(struct ipath_devdata *, struct ipath_portdata *); | |||
582 | 562 | ||
583 | int ipath_parse_ushort(const char *str, unsigned short *valp); | 563 | int ipath_parse_ushort(const char *str, unsigned short *valp); |
584 | 564 | ||
585 | int ipath_wait_linkstate(struct ipath_devdata *, u32, int); | ||
586 | void ipath_set_ib_lstate(struct ipath_devdata *, int); | ||
587 | void ipath_kreceive(struct ipath_devdata *); | 565 | void ipath_kreceive(struct ipath_devdata *); |
588 | int ipath_setrcvhdrsize(struct ipath_devdata *, unsigned); | 566 | int ipath_setrcvhdrsize(struct ipath_devdata *, unsigned); |
589 | int ipath_reset_device(int); | 567 | int ipath_reset_device(int); |
590 | void ipath_get_faststats(unsigned long); | 568 | void ipath_get_faststats(unsigned long); |
569 | int ipath_set_linkstate(struct ipath_devdata *, u8); | ||
570 | int ipath_set_mtu(struct ipath_devdata *, u16); | ||
571 | int ipath_set_lid(struct ipath_devdata *, u32, u8); | ||
572 | int ipath_set_rx_pol_inv(struct ipath_devdata *dd, u8 new_pol_inv); | ||
591 | 573 | ||
592 | /* for use in system calls, where we want to know device type, etc. */ | 574 | /* for use in system calls, where we want to know device type, etc. */ |
593 | #define port_fp(fp) ((struct ipath_portdata *) (fp)->private_data) | 575 | #define port_fp(fp) ((struct ipath_portdata *) (fp)->private_data) |
@@ -642,10 +624,8 @@ void ipath_free_data(struct ipath_portdata *dd); | |||
642 | int ipath_waitfor_mdio_cmdready(struct ipath_devdata *); | 624 | int ipath_waitfor_mdio_cmdready(struct ipath_devdata *); |
643 | int ipath_waitfor_complete(struct ipath_devdata *, ipath_kreg, u64, u64 *); | 625 | int ipath_waitfor_complete(struct ipath_devdata *, ipath_kreg, u64, u64 *); |
644 | u32 __iomem *ipath_getpiobuf(struct ipath_devdata *, u32 *); | 626 | u32 __iomem *ipath_getpiobuf(struct ipath_devdata *, u32 *); |
645 | /* init PE-800-specific func */ | 627 | void ipath_init_iba6120_funcs(struct ipath_devdata *); |
646 | void ipath_init_pe800_funcs(struct ipath_devdata *); | 628 | void ipath_init_iba6110_funcs(struct ipath_devdata *); |
647 | /* init HT-400-specific func */ | ||
648 | void ipath_init_ht400_funcs(struct ipath_devdata *); | ||
649 | void ipath_get_eeprom_info(struct ipath_devdata *); | 629 | void ipath_get_eeprom_info(struct ipath_devdata *); |
650 | u64 ipath_snap_cntr(struct ipath_devdata *, ipath_creg); | 630 | u64 ipath_snap_cntr(struct ipath_devdata *, ipath_creg); |
651 | 631 | ||
@@ -801,7 +781,7 @@ static inline u32 ipath_read_creg32(const struct ipath_devdata *dd, | |||
801 | 781 | ||
802 | struct device_driver; | 782 | struct device_driver; |
803 | 783 | ||
804 | extern const char ipath_core_version[]; | 784 | extern const char ib_ipath_version[]; |
805 | 785 | ||
806 | int ipath_driver_create_group(struct device_driver *); | 786 | int ipath_driver_create_group(struct device_driver *); |
807 | void ipath_driver_remove_group(struct device_driver *); | 787 | void ipath_driver_remove_group(struct device_driver *); |
@@ -810,6 +790,9 @@ int ipath_device_create_group(struct device *, struct ipath_devdata *); | |||
810 | void ipath_device_remove_group(struct device *, struct ipath_devdata *); | 790 | void ipath_device_remove_group(struct device *, struct ipath_devdata *); |
811 | int ipath_expose_reset(struct device *); | 791 | int ipath_expose_reset(struct device *); |
812 | 792 | ||
793 | int ipath_diagpkt_add(void); | ||
794 | void ipath_diagpkt_remove(void); | ||
795 | |||
813 | int ipath_init_ipathfs(void); | 796 | int ipath_init_ipathfs(void); |
814 | void ipath_exit_ipathfs(void); | 797 | void ipath_exit_ipathfs(void); |
815 | int ipathfs_add_device(struct ipath_devdata *); | 798 | int ipathfs_add_device(struct ipath_devdata *); |
@@ -831,10 +814,10 @@ const char *ipath_get_unit_name(int unit); | |||
831 | 814 | ||
832 | extern struct mutex ipath_mutex; | 815 | extern struct mutex ipath_mutex; |
833 | 816 | ||
834 | #define IPATH_DRV_NAME "ipath_core" | 817 | #define IPATH_DRV_NAME "ib_ipath" |
835 | #define IPATH_MAJOR 233 | 818 | #define IPATH_MAJOR 233 |
836 | #define IPATH_USER_MINOR_BASE 0 | 819 | #define IPATH_USER_MINOR_BASE 0 |
837 | #define IPATH_SMA_MINOR 128 | 820 | #define IPATH_DIAGPKT_MINOR 127 |
838 | #define IPATH_DIAG_MINOR_BASE 129 | 821 | #define IPATH_DIAG_MINOR_BASE 129 |
839 | #define IPATH_NMINORS 255 | 822 | #define IPATH_NMINORS 255 |
840 | 823 | ||