]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/infiniband/hw/ipath/ipath_common.h
IB/ipath: Force PIOAvail update entry point
[linux-2.6-omap-h63xx.git] / drivers / infiniband / hw / ipath / ipath_common.h
index 382956d2ea4bb7c3788641d81418b547f74a8f87..10c008f22ba6947b9a5cf9c9d75f5cb976651452 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006 QLogic, Inc. All rights reserved.
+ * Copyright (c) 2006, 2007 QLogic Corporation. All rights reserved.
  * Copyright (c) 2003, 2004, 2005, 2006 PathScale, Inc. All rights reserved.
  *
  * This software is available to you under a choice of one of two
@@ -78,6 +78,8 @@
 #define IPATH_IB_LINKINIT              3
 #define IPATH_IB_LINKDOWN_SLEEP                4
 #define IPATH_IB_LINKDOWN_DISABLE      5
+#define IPATH_IB_LINK_LOOPBACK 6 /* enable local loopback */
+#define IPATH_IB_LINK_EXTERNAL 7 /* normal, disable local loopback */
 
 /*
  * stats maintained by the driver.  For now, at least, this is global
@@ -141,8 +143,9 @@ struct infinipath_stats {
         * packets if ipath not configured, etc.)
         */
        __u64 sps_krdrops;
+       __u64 sps_txeparity; /* PIO buffer parity error, recovered */
        /* pad for future growth */
-       __u64 __sps_pad[46];
+       __u64 __sps_pad[45];
 };
 
 /*
@@ -315,11 +318,17 @@ struct ipath_base_info {
        /* address of readonly memory copy of the rcvhdrq tail register. */
        __u64 spi_rcvhdr_tailaddr;
 
-       /* shared memory pages for subports if IPATH_RUNTIME_MASTER is set */
+       /* shared memory pages for subports if port is shared */
        __u64 spi_subport_uregbase;
        __u64 spi_subport_rcvegrbuf;
        __u64 spi_subport_rcvhdr_base;
 
+       /* shared memory page for hardware port if it is shared */
+       __u64 spi_port_uregbase;
+       __u64 spi_port_rcvegrbuf;
+       __u64 spi_port_rcvhdr_base;
+       __u64 spi_port_rcvhdr_tailaddr;
+
 } __attribute__ ((aligned(8)));
 
 
@@ -343,7 +352,7 @@ struct ipath_base_info {
  * may not be implemented; the user code must deal with this if it
  * cares, or it must abort after initialization reports the difference.
  */
-#define IPATH_USER_SWMINOR 3
+#define IPATH_USER_SWMINOR 5
 
 #define IPATH_USER_SWVERSION ((IPATH_USER_SWMAJOR<<16) | IPATH_USER_SWMINOR)
 
@@ -411,15 +420,20 @@ struct ipath_user_info {
 
 #define IPATH_CMD_MIN          16
 
-#define IPATH_CMD_USER_INIT    16      /* set up userspace */
+#define __IPATH_CMD_USER_INIT  16      /* old set up userspace (for old user code) */
 #define IPATH_CMD_PORT_INFO    17      /* find out what resources we got */
 #define IPATH_CMD_RECV_CTRL    18      /* control receipt of packets */
 #define IPATH_CMD_TID_UPDATE   19      /* update expected TID entries */
 #define IPATH_CMD_TID_FREE     20      /* free expected TID entries */
 #define IPATH_CMD_SET_PART_KEY 21      /* add partition key */
-#define IPATH_CMD_SLAVE_INFO   22      /* return info on slave processes */
+#define __IPATH_CMD_SLAVE_INFO 22      /* return info on slave processes (for old user code) */
+#define IPATH_CMD_ASSIGN_PORT  23      /* allocate HCA and port */
+#define IPATH_CMD_USER_INIT    24      /* set up userspace */
+#define IPATH_CMD_UNUSED_1     25
+#define IPATH_CMD_UNUSED_2     26
+#define IPATH_CMD_PIOAVAILUPD  27      /* force an update of PIOAvail reg */
 
-#define IPATH_CMD_MAX          22
+#define IPATH_CMD_MAX          27
 
 struct ipath_port_info {
        __u32 num_active;       /* number of active units */
@@ -427,7 +441,7 @@ struct ipath_port_info {
        __u16 port;             /* port on unit assigned to caller */
        __u16 subport;          /* subport on unit assigned to caller */
        __u16 num_ports;        /* number of ports available on unit */
-       __u16 num_subports;     /* number of subport slaves opened on port */
+       __u16 num_subports;     /* number of subports opened on port */
 };
 
 struct ipath_tid_info {