aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/infiniband/hw/ipath/ipath_kernel.h
diff options
context:
space:
mode:
authorRalph Campbell <ralph.campbell@qlogic.com>2007-12-20 05:43:23 -0500
committerRoland Dreier <rolandd@cisco.com>2008-01-25 17:15:35 -0500
commitc59a80aca0bfc491d90534ed5606d5493eca24a3 (patch)
tree181af3a515feb82e1c77b1d8bc5ec460485d44df /drivers/infiniband/hw/ipath/ipath_kernel.h
parentd65708f3a766116662ff9bac81088d52a49901f4 (diff)
IB/ipath: kreceive uses portdata rather than devdata
kreceive is now portdata * instead of devdata * and other kreceive related cleanups.... Signed-off-by: Ralph Campbell <ralph.campbell@qlogic.com> Signed-off-by: Roland Dreier <rolandd@cisco.com>
Diffstat (limited to 'drivers/infiniband/hw/ipath/ipath_kernel.h')
-rw-r--r--drivers/infiniband/hw/ipath/ipath_kernel.h17
1 files changed, 14 insertions, 3 deletions
diff --git a/drivers/infiniband/hw/ipath/ipath_kernel.h b/drivers/infiniband/hw/ipath/ipath_kernel.h
index 81759c2031f9..72252349eaa9 100644
--- a/drivers/infiniband/hw/ipath/ipath_kernel.h
+++ b/drivers/infiniband/hw/ipath/ipath_kernel.h
@@ -167,6 +167,8 @@ struct ipath_portdata {
167 u32 active_slaves; 167 u32 active_slaves;
168 /* Type of packets or conditions we want to poll for */ 168 /* Type of packets or conditions we want to poll for */
169 u16 poll_type; 169 u16 poll_type;
170 /* port rcvhdrq head offset */
171 u32 port_head;
170}; 172};
171 173
172struct sk_buff; 174struct sk_buff;
@@ -314,8 +316,6 @@ struct ipath_devdata {
314 * supports, less gives more pio bufs/port, etc. 316 * supports, less gives more pio bufs/port, etc.
315 */ 317 */
316 u32 ipath_cfgports; 318 u32 ipath_cfgports;
317 /* port0 rcvhdrq head offset */
318 u32 ipath_port0head;
319 /* count of port 0 hdrqfull errors */ 319 /* count of port 0 hdrqfull errors */
320 u32 ipath_p0_hdrqfull; 320 u32 ipath_p0_hdrqfull;
321 321
@@ -690,7 +690,7 @@ void ipath_free_pddata(struct ipath_devdata *, struct ipath_portdata *);
690 690
691int ipath_parse_ushort(const char *str, unsigned short *valp); 691int ipath_parse_ushort(const char *str, unsigned short *valp);
692 692
693void ipath_kreceive(struct ipath_devdata *); 693void ipath_kreceive(struct ipath_portdata *);
694int ipath_setrcvhdrsize(struct ipath_devdata *, unsigned); 694int ipath_setrcvhdrsize(struct ipath_devdata *, unsigned);
695int ipath_reset_device(int); 695int ipath_reset_device(int);
696void ipath_get_faststats(unsigned long); 696void ipath_get_faststats(unsigned long);
@@ -928,6 +928,17 @@ static inline u32 ipath_read_creg32(const struct ipath_devdata *dd,
928 (char __iomem *)dd->ipath_kregbase)); 928 (char __iomem *)dd->ipath_kregbase));
929} 929}
930 930
931static inline void ipath_clear_rcvhdrtail(const struct ipath_portdata *pd)
932{
933 *((u64 *) pd->port_rcvhdrtail_kvaddr) = 0ULL;
934}
935
936static inline u32 ipath_get_rcvhdrtail(const struct ipath_portdata *pd)
937{
938 return (u32) le64_to_cpu(*((volatile __le64 *)
939 pd->port_rcvhdrtail_kvaddr));
940}
941
931/* 942/*
932 * sysfs interface. 943 * sysfs interface.
933 */ 944 */