diff options
author | Stefan Richter <stefanr@s5r6.in-berlin.de> | 2006-09-23 08:34:10 -0400 |
---|---|---|
committer | Stefan Richter <stefanr@s5r6.in-berlin.de> | 2006-09-23 08:34:10 -0400 |
commit | 919251758195919ae3568021bc221e4f8c4b20eb (patch) | |
tree | 81137a037ff8e6c91cc8de72d568275605c653c5 /drivers/infiniband/hw/ipath/ipath_layer.h | |
parent | c394f1eafef61c6666f5876afde6110a276c4c9f (diff) | |
parent | 3eeab61aa3ddd3c0bedb7449ada1599de22fdb5a (diff) |
Merge branch 'mainline' into upstream-linus
Diffstat (limited to 'drivers/infiniband/hw/ipath/ipath_layer.h')
-rw-r--r-- | drivers/infiniband/hw/ipath/ipath_layer.h | 115 |
1 files changed, 0 insertions, 115 deletions
diff --git a/drivers/infiniband/hw/ipath/ipath_layer.h b/drivers/infiniband/hw/ipath/ipath_layer.h index 71485096fcac..3854a4eae684 100644 --- a/drivers/infiniband/hw/ipath/ipath_layer.h +++ b/drivers/infiniband/hw/ipath/ipath_layer.h | |||
@@ -40,73 +40,9 @@ | |||
40 | */ | 40 | */ |
41 | 41 | ||
42 | struct sk_buff; | 42 | struct sk_buff; |
43 | struct ipath_sge_state; | ||
44 | struct ipath_devdata; | 43 | struct ipath_devdata; |
45 | struct ether_header; | 44 | struct ether_header; |
46 | 45 | ||
47 | struct ipath_layer_counters { | ||
48 | u64 symbol_error_counter; | ||
49 | u64 link_error_recovery_counter; | ||
50 | u64 link_downed_counter; | ||
51 | u64 port_rcv_errors; | ||
52 | u64 port_rcv_remphys_errors; | ||
53 | u64 port_xmit_discards; | ||
54 | u64 port_xmit_data; | ||
55 | u64 port_rcv_data; | ||
56 | u64 port_xmit_packets; | ||
57 | u64 port_rcv_packets; | ||
58 | u32 local_link_integrity_errors; | ||
59 | u32 excessive_buffer_overrun_errors; | ||
60 | }; | ||
61 | |||
62 | /* | ||
63 | * A segment is a linear region of low physical memory. | ||
64 | * XXX Maybe we should use phys addr here and kmap()/kunmap(). | ||
65 | * Used by the verbs layer. | ||
66 | */ | ||
67 | struct ipath_seg { | ||
68 | void *vaddr; | ||
69 | size_t length; | ||
70 | }; | ||
71 | |||
72 | /* The number of ipath_segs that fit in a page. */ | ||
73 | #define IPATH_SEGSZ (PAGE_SIZE / sizeof (struct ipath_seg)) | ||
74 | |||
75 | struct ipath_segarray { | ||
76 | struct ipath_seg segs[IPATH_SEGSZ]; | ||
77 | }; | ||
78 | |||
79 | struct ipath_mregion { | ||
80 | u64 user_base; /* User's address for this region */ | ||
81 | u64 iova; /* IB start address of this region */ | ||
82 | size_t length; | ||
83 | u32 lkey; | ||
84 | u32 offset; /* offset (bytes) to start of region */ | ||
85 | int access_flags; | ||
86 | u32 max_segs; /* number of ipath_segs in all the arrays */ | ||
87 | u32 mapsz; /* size of the map array */ | ||
88 | struct ipath_segarray *map[0]; /* the segments */ | ||
89 | }; | ||
90 | |||
91 | /* | ||
92 | * These keep track of the copy progress within a memory region. | ||
93 | * Used by the verbs layer. | ||
94 | */ | ||
95 | struct ipath_sge { | ||
96 | struct ipath_mregion *mr; | ||
97 | void *vaddr; /* current pointer into the segment */ | ||
98 | u32 sge_length; /* length of the SGE */ | ||
99 | u32 length; /* remaining length of the segment */ | ||
100 | u16 m; /* current index: mr->map[m] */ | ||
101 | u16 n; /* current index: mr->map[m]->segs[n] */ | ||
102 | }; | ||
103 | |||
104 | struct ipath_sge_state { | ||
105 | struct ipath_sge *sg_list; /* next SGE to be used if any */ | ||
106 | struct ipath_sge sge; /* progress state for the current SGE */ | ||
107 | u8 num_sge; | ||
108 | }; | ||
109 | |||
110 | int ipath_layer_register(void *(*l_add)(int, struct ipath_devdata *), | 46 | int ipath_layer_register(void *(*l_add)(int, struct ipath_devdata *), |
111 | void (*l_remove)(void *), | 47 | void (*l_remove)(void *), |
112 | int (*l_intr)(void *, u32), | 48 | int (*l_intr)(void *, u32), |
@@ -114,62 +50,14 @@ int ipath_layer_register(void *(*l_add)(int, struct ipath_devdata *), | |||
114 | struct sk_buff *), | 50 | struct sk_buff *), |
115 | u16 rcv_opcode, | 51 | u16 rcv_opcode, |
116 | int (*l_rcv_lid)(void *, void *)); | 52 | int (*l_rcv_lid)(void *, void *)); |
117 | int ipath_verbs_register(void *(*l_add)(int, struct ipath_devdata *), | ||
118 | void (*l_remove)(void *arg), | ||
119 | int (*l_piobufavail)(void *arg), | ||
120 | void (*l_rcv)(void *arg, void *rhdr, | ||
121 | void *data, u32 tlen), | ||
122 | void (*l_timer_cb)(void *arg)); | ||
123 | void ipath_layer_unregister(void); | 53 | void ipath_layer_unregister(void); |
124 | void ipath_verbs_unregister(void); | ||
125 | int ipath_layer_open(struct ipath_devdata *, u32 * pktmax); | 54 | int ipath_layer_open(struct ipath_devdata *, u32 * pktmax); |
126 | u16 ipath_layer_get_lid(struct ipath_devdata *dd); | 55 | u16 ipath_layer_get_lid(struct ipath_devdata *dd); |
127 | int ipath_layer_get_mac(struct ipath_devdata *dd, u8 *); | 56 | int ipath_layer_get_mac(struct ipath_devdata *dd, u8 *); |
128 | u16 ipath_layer_get_bcast(struct ipath_devdata *dd); | 57 | u16 ipath_layer_get_bcast(struct ipath_devdata *dd); |
129 | u32 ipath_layer_get_cr_errpkey(struct ipath_devdata *dd); | ||
130 | int ipath_layer_set_linkstate(struct ipath_devdata *dd, u8 state); | ||
131 | int ipath_layer_set_mtu(struct ipath_devdata *, u16); | ||
132 | int ipath_set_lid(struct ipath_devdata *, u32, u8); | ||
133 | int ipath_layer_send_hdr(struct ipath_devdata *dd, | 58 | int ipath_layer_send_hdr(struct ipath_devdata *dd, |
134 | struct ether_header *hdr); | 59 | struct ether_header *hdr); |
135 | int ipath_verbs_send(struct ipath_devdata *dd, u32 hdrwords, | ||
136 | u32 * hdr, u32 len, struct ipath_sge_state *ss); | ||
137 | int ipath_layer_set_piointbufavail_int(struct ipath_devdata *dd); | 60 | int ipath_layer_set_piointbufavail_int(struct ipath_devdata *dd); |
138 | int ipath_layer_get_boardname(struct ipath_devdata *dd, char *name, | ||
139 | size_t namelen); | ||
140 | int ipath_layer_snapshot_counters(struct ipath_devdata *dd, u64 *swords, | ||
141 | u64 *rwords, u64 *spkts, u64 *rpkts, | ||
142 | u64 *xmit_wait); | ||
143 | int ipath_layer_get_counters(struct ipath_devdata *dd, | ||
144 | struct ipath_layer_counters *cntrs); | ||
145 | int ipath_layer_want_buffer(struct ipath_devdata *dd); | ||
146 | int ipath_layer_set_guid(struct ipath_devdata *, __be64 guid); | ||
147 | __be64 ipath_layer_get_guid(struct ipath_devdata *); | ||
148 | u32 ipath_layer_get_nguid(struct ipath_devdata *); | ||
149 | u32 ipath_layer_get_majrev(struct ipath_devdata *); | ||
150 | u32 ipath_layer_get_minrev(struct ipath_devdata *); | ||
151 | u32 ipath_layer_get_pcirev(struct ipath_devdata *); | ||
152 | u32 ipath_layer_get_flags(struct ipath_devdata *dd); | ||
153 | struct device *ipath_layer_get_device(struct ipath_devdata *dd); | ||
154 | u16 ipath_layer_get_deviceid(struct ipath_devdata *dd); | ||
155 | u32 ipath_layer_get_vendorid(struct ipath_devdata *); | ||
156 | u64 ipath_layer_get_lastibcstat(struct ipath_devdata *dd); | ||
157 | u32 ipath_layer_get_ibmtu(struct ipath_devdata *dd); | ||
158 | int ipath_layer_enable_timer(struct ipath_devdata *dd); | ||
159 | int ipath_layer_disable_timer(struct ipath_devdata *dd); | ||
160 | int ipath_layer_set_verbs_flags(struct ipath_devdata *dd, unsigned flags); | ||
161 | unsigned ipath_layer_get_npkeys(struct ipath_devdata *dd); | ||
162 | unsigned ipath_layer_get_pkey(struct ipath_devdata *dd, unsigned index); | ||
163 | int ipath_layer_get_pkeys(struct ipath_devdata *dd, u16 *pkeys); | ||
164 | int ipath_layer_set_pkeys(struct ipath_devdata *dd, u16 *pkeys); | ||
165 | int ipath_layer_get_linkdowndefaultstate(struct ipath_devdata *dd); | ||
166 | int ipath_layer_set_linkdowndefaultstate(struct ipath_devdata *dd, | ||
167 | int sleep); | ||
168 | int ipath_layer_get_phyerrthreshold(struct ipath_devdata *dd); | ||
169 | int ipath_layer_set_phyerrthreshold(struct ipath_devdata *dd, unsigned n); | ||
170 | int ipath_layer_get_overrunthreshold(struct ipath_devdata *dd); | ||
171 | int ipath_layer_set_overrunthreshold(struct ipath_devdata *dd, unsigned n); | ||
172 | u32 ipath_layer_get_rcvhdrentsize(struct ipath_devdata *dd); | ||
173 | 61 | ||
174 | /* ipath_ether interrupt values */ | 62 | /* ipath_ether interrupt values */ |
175 | #define IPATH_LAYER_INT_IF_UP 0x2 | 63 | #define IPATH_LAYER_INT_IF_UP 0x2 |
@@ -178,9 +66,6 @@ u32 ipath_layer_get_rcvhdrentsize(struct ipath_devdata *dd); | |||
178 | #define IPATH_LAYER_INT_SEND_CONTINUE 0x10 | 66 | #define IPATH_LAYER_INT_SEND_CONTINUE 0x10 |
179 | #define IPATH_LAYER_INT_BCAST 0x40 | 67 | #define IPATH_LAYER_INT_BCAST 0x40 |
180 | 68 | ||
181 | /* _verbs_layer.l_flags */ | ||
182 | #define IPATH_VERBS_KERNEL_SMA 0x1 | ||
183 | |||
184 | extern unsigned ipath_debug; /* debugging bit mask */ | 69 | extern unsigned ipath_debug; /* debugging bit mask */ |
185 | 70 | ||
186 | #endif /* _IPATH_LAYER_H */ | 71 | #endif /* _IPATH_LAYER_H */ |