Signed-off-by: Stefan Roscher <[EMAIL PROTECTED]>
---

diff -Nurp libehca_old/src/ehca_utools.h libehca_new/src/ehca_utools.h
--- libehca_old/src/ehca_utools.h       2007-01-26 14:27:03.000000000 +0100
+++ libehca_new/src/ehca_utools.h       2007-01-26 14:27:43.000000000 +0100
@@ -1,53 +1,53 @@
-/* 
+/*
  *  IBM eServer eHCA Infiniband device driver for Linux on POWER
- *   
+ *
  *  Userspace functions
  *
  *  Authors: Khadija Souissi <[EMAIL PROTECTED]>
  *           Christoph Raisch <[EMAIL PROTECTED]>
  *
  *  Copyright (c) 2005 IBM Corporation
- *    
+ *
  *  All rights reserved.
  *
- *  This source code is distributed under a dual license of GPL v2.0 and 
OpenIB 
- *  BSD. 
+ *  This source code is distributed under a dual license of GPL v2.0 and OpenIB
+ *  BSD.
  *
  * OpenIB BSD License
  *
- * Redistribution and use in source and binary forms, with or without 
- * modification, are permitted provided that the following conditions are met: 
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
  *
- * Redistributions of source code must retain the above copyright notice, this 
- * list of conditions and the following disclaimer. 
+ * Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
  *
- * Redistributions in binary form must reproduce the above copyright notice, 
- * this list of conditions and the following disclaimer in the documentation 
+ * Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
  * and/or other materials
- * provided with the distribution. 
+ * provided with the distribution.
  *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 
- * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
  * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
WHETHER
- * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
+ * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
  * POSSIBILITY OF SUCH DAMAGE.
  *
- *  $Id: ehca_utools.h,v 1.2 2006/02/21 17:15:47 nguyen Exp $
  */
- 
+
 #ifndef __EHCA_UTOOL_H__
 #define __EHCA_UTOOL_H__
 
 #include <stdio.h>
+#include <unistd.h>
 
 #include <linux/types.h>
-#include <linux/err.h>
+#include <linux/errno.h>
 #define u64 __u64
 #define u32 __u32
 #define u16 __u16
@@ -55,41 +55,38 @@
 
 #define unlikely(x) __builtin_expect(!!(x), 0)
 
-/* defines for EDEBs */
-extern int libehca_trlevel;
-extern FILE *libehca_fh;
+/* defines for EHCA traces */
+extern int libehca_trace_on;
 
 /* checks if debug is on for the given level
- * caller's module must have this decl: extern int libehca_trlevel;
+ * caller's module must have this decl: extern int libehca_trace_on;
  */
-#ifdef EDEB_NO_TRACE
-#define IS_EDEB_ON(level) (1==0)
-#define EDEB_GENERIC(level,idstring,format,args...) \
-while (1==0) { \
- \
- fprintf(libehca_fh,"%s " idstring "%p "format "\n", __func__,  ##args); \
-} 
-#else /* EDEB_NO_TRACE */
-#define IS_EDEB_ON(level) (level<=libehca_trlevel)
+#define ehca_dbg(ibv_dev, format, arg...) \
+       do { \
+               if (unlikely(libehca_trace_on)) \
+                       fprintf(stderr, "PID%04x %s EHCA_DBG:%s " format "\n", \
+                               getpid(), (ibv_dev)->name, __func__, ##arg); \
+       } while (0)
+
+#define ehca_err(ibv_dev, format, arg...) \
+       fprintf(stderr, "PID%04x %s EHCA_ERR:%s " format "\n", \
+               getpid(), (ibv_dev)->name, __func__, ##arg)
+
+/* use this one only if no ibv_dev available */
+#define ehca_gen_dbg(format, arg...) \
+       do { \
+               if (unlikely(libehca_trace_on)) \
+                       fprintf(stderr, "PID%04x EHCA_DBG:%s " format "\n", \
+                               getpid(), __func__, ##arg); \
+       } while (0)
+
+#define ehca_gen_err(format, arg...) \
+       fprintf(stderr, "PID%04x EHCA_ERR:%s " format "\n", \
+               getpid(), __func__, ##arg)
 
-#define EDEB_GENERIC(level,idstring,format,args...) \
-do { \
- if (unlikely(level<=libehca_trlevel))\
- fprintf(libehca_fh,"%s " idstring " "format "\n", __func__,  ##args); \
-} while (1==0)
-#endif /* EDEB_NO_TRACE */
-
-#define EDEB(level,format,args...) \
-        EDEB_GENERIC(level,"",format,##args)
-#define EDEB_EN(level,format,args...) \
-        EDEB_GENERIC(level,">>>",format,##args)
-#define EDEB_EX(level,format,args...) \
-        EDEB_GENERIC(level,"<<<",format,##args)
-#define EDEB_ERR(level,format,args...) \
-        EDEB_GENERIC(level,"HCAD_ERROR ",format,##args)
 
 /**
- * EDEB macro to dump a memory block, whose length is n*8 bytes.
+ * EHCA macro to dump a memory block, whose length is n*8 bytes.
  * Each line has the following layout:
  * <format string> adr=X ofs=Y <8 bytes hex> <8 bytes hex>
  */
@@ -98,92 +95,56 @@ do { \
 #else
 #define FORMAT_2U64 "%016lx %016lx"
 #endif
-#define EDEB_DMP(level,adr,len,format,args...) \
-        do { \
+#define ehca_dmp_dbg(adr, len, format, args...) \
+do { \
+       if (unlikely(libehca_trace_on)) { \
+                unsigned int x; \
+               unsigned int l = (unsigned int)(len); \
+                unsigned char *deb = (unsigned char*)(adr); \
+               for (x = 0; x < l; x += 16) { \
+                       ehca_gen_dbg(format " adr=%p ofs=%04x " FORMAT_2U64, \
+                            ##args, deb, x, \
+                            *((u64 *)&deb[0]), *((u64 *)&deb[8])); \
+                       deb += 16; \
+               } \
+       } \
+} while (0)
+
+#define ehca_dmp_err(adr, len, format, args...) \
+       do { \
                 unsigned int x; \
                unsigned int l = (unsigned int)(len); \
                 unsigned char *deb = (unsigned char*)(adr); \
                for (x = 0; x < l; x += 16) { \
-                       EDEB(level, format " adr=%p ofs=%04x " FORMAT_2U64, \
+                       ehca_gen_err(format " adr=%p ofs=%04x " FORMAT_2U64, \
                             ##args, deb, x, \
                             *((u64 *)&deb[0]), *((u64 *)&deb[8])); \
                        deb += 16; \
                } \
-        } while (0)
+       } while (0)
 
-/* define a bitmask, little endian version */
-#define EHCA_BMASK(pos,length) (((pos)<<16)+(length))
 /* define a bitmask, the ibm way... */
-#define EHCA_BMASK_IBM(from,to) (((63-to)<<16)+((to)-(from)+1))
+#define EHCA_BMASK_IBM(from, to) (((63-to)<<16)+((to)-(from)+1))
 /* internal function, don't use */
 #define EHCA_BMASK_SHIFTPOS(mask) (((mask)>>16)&0xffff)
 /* internal function, don't use */
 #define EHCA_BMASK_MASK(mask) (0xffffffffffffffffULL >> ((64-(mask))&0xffff))
-/** return value shifted and masked by mask\n
-    variable|=HCA_BMASK_SET(MY_MASK,0x4711) ORs the bits in variable\n
-    variable&=~HCA_BMASK_SET(MY_MASK,-1) clears the bits from the mask 
+/** return value shifted and masked by mask
+    variable|=HCA_BMASK_SET(MY_MASK,0x4711) ORs the bits in variable
+    variable&=~HCA_BMASK_SET(MY_MASK,-1) clears the bits from the mask
     in variable
  */
-#define EHCA_BMASK_SET(mask,value) \
+#define EHCA_BMASK_SET(mask, value) \
         ((EHCA_BMASK_MASK(mask) & ((u64)(value)))<<EHCA_BMASK_SHIFTPOS(mask))
-
-#include "ehca_qes.h"
+#ifndef offsetof
+#define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER)
+#endif
 
 #define container_of(ptr, type, member) ({                     \
-        const typeof( ((type *)0)->member ) *__mptr = (ptr);   \
-        (type *)( (char *)__mptr - offsetof(type,member) );})
-
-#define PARANOIA_MODE
-#ifdef PARANOIA_MODE
-#define EHCA_CHECK_ADR_P(adr)  \
-        if (adr==0) {\
-               EDEB_ERR(4, "adr=%p check failed line %i", adr,__LINE__); \
-               return ERR_PTR(-EFAULT); }
-
-#define EHCA_CHECK_ADR(adr)  \
-        if (adr==0) {\
-               EDEB_ERR(4, "adr=%p check failed line %i", adr,__LINE__); \
-               return -EFAULT; }
-
-#define EHCA_CHECK_CQ(cq)  \
-        if (cq==0) {\
-               EDEB_ERR(4, "cq=%p check failed", cq); \
-               return -EFAULT; }
-
-#define EHCA_CHECK_CQ_P(cq)  \
-        if (cq==0) {\
-               EDEB_ERR(4, "cq=%p check failed", cq); \
-               return ERR_PTR(-EFAULT); }
-
-#define EHCA_CHECK_QP(qp)  \
-        if (qp==0) {\
-               EDEB_ERR(4, "qp=%p check failed", qp); \
-               return -EFAULT; }
-
-#define EHCA_CHECK_QP_P(qp)  \
-        if (qp==0) {\
-               EDEB_ERR(4, "qp=%p check failed", qp); \
-               return ERR_PTR(-EFAULT); }
-
-#else
-#define EHCA_CHECK_ADR_P(adr)
-
-#define EHCA_CHECK_ADR(adr)
+        const typeof(((type *)0)->member) *__mptr = (ptr);     \
+        (type *)((char *)__mptr - offsetof(type, member));})
 
-#define EHCA_CHECK_CQ(cq)
-
-#define EHCA_CHECK_CQ_P(cq)
-
-#define EHCA_CHECK_QP(qp)
-
-#define EHCA_CHECK_QP_P(qp)
-#endif
 
 #define be64_to_cpu(x) (x)
 
-#define mftb() ({ unsigned long rval; \
-                  asm volatile("mftb %0" : "=r" (rval)); rval; })
-
-#define asm_sync_mem() __asm__ __volatile__ ("sync" : : : "memory")
-
 #endif /* __EHCA_UTOOL_H__ */
diff -Nurp libehca_old/src/hcp_phyp.c libehca_new/src/hcp_phyp.c
--- libehca_old/src/hcp_phyp.c  2007-01-26 14:27:03.000000000 +0100
+++ libehca_new/src/hcp_phyp.c  2007-01-26 14:27:43.000000000 +0100
@@ -1,74 +1,60 @@
-/* 
+/*
  *  IBM eServer eHCA Infiniband device driver for Linux on POWER
- *   
+ *
  *   load store abstraction for ehca register access
  *
- *  Authors:  Christoph Raisch <[EMAIL PROTECTED]> 
+ *  Authors:  Christoph Raisch <[EMAIL PROTECTED]>
  *
  *  Copyright (c) 2005 IBM Corporation
- *    
+ *
  *  All rights reserved.
  *
- *  This source code is distributed under a dual license of GPL v2.0 and 
OpenIB 
- *  BSD. 
+ *  This source code is distributed under a dual license of GPL v2.0 and OpenIB
+ *  BSD.
  *
  * OpenIB BSD License
  *
- * Redistribution and use in source and binary forms, with or without 
- * modification, are permitted provided that the following conditions are met: 
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
  *
- * Redistributions of source code must retain the above copyright notice, this 
- * list of conditions and the following disclaimer. 
+ * Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
  *
- * Redistributions in binary form must reproduce the above copyright notice, 
- * this list of conditions and the following disclaimer in the documentation 
+ * Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
  * and/or other materials
- * provided with the distribution. 
+ * provided with the distribution.
  *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 
- * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
  * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
WHETHER
- * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
+ * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
  * POSSIBILITY OF SUCH DAMAGE.
- *
- *  $Id: hcp_phyp.c,v 1.1 2006/02/22 12:26:55 nguyen Exp $
  */
- 
-#define DEB_PREFIX "PHYP"
 
-#ifdef __KERNEL__
-#include "ehca_kernel.h"
-#include "hipz_hw.h"
-/* #include "hipz_structs.h" / * TODO: still necessary */
-#include "ehca_classes_pSeries.h"
-#else                          /* !__KERNEL__ */
 #include "ehca_utools.h"
 #include "ehca_galpa.h"
-#endif
-
-#ifndef EHCA_USERDRIVER                /* TODO: is this correct */
 
 #ifdef __PPC64__
 u64 hipz_galpa_load(struct h_galpa galpa, u32 offset)
 {
        u64 addr = galpa.fw_handle + offset;
-       EDEB_EN(7, "addr=%lx offset=%x ", addr, offset);
+       ehca_gen_dbg("addr=%lx offset=%x ", addr, offset);
        u64 out = *(u64 *) addr;
-       EDEB_EX(7, "addr=%lx value=%lx", addr, out);
+       ehca_gen_dbg("addr=%lx value=%lx", addr, out);
        return out;
 };
 
 void hipz_galpa_store(struct h_galpa galpa, u32 offset, u64 value)
 {
        u64 addr = galpa.fw_handle + offset;
-       EDEB(7, "addr=%lx offset=%x value=%lx", addr,
-            offset, value);
+       ehca_gen_dbg("addr=%lx offset=%x value=%lx", addr, offset, value);
        *(u64 *) addr = value;
 #ifdef EHCA_USE_HCALL
        /* hipz_galpa_load(galpa, offset);*/
@@ -76,9 +62,9 @@ void hipz_galpa_store(struct h_galpa gal
 };
 #else /* ___PPC64__ the only way to do 8 byte store in 32 bit mode ?*/
 
-inline static void load64(u64 * from, u64 *to) 
+inline static void load64(u64 *from, u64 *to)
 {
-       unsigned long temp=0;
+       unsigned long temp = 0;
        asm("ld %2,0(%0)\n\t"
            "std %2,0(%1)":/*no output*/:"r"(from),"r"(to),"r" (temp):"r0");
 }
@@ -86,34 +72,34 @@ inline static void load64(u64 * from, u6
 u64 hipz_galpa_load(struct h_galpa galpa, u32 offset)
 {
         void * addr = ((void*)(unsigned long)galpa.fw_handle) + offset;
-        EDEB_EN(7, "addr=%p offset=%x ", addr, offset);
+        ehca_gen_dbg("addr=%p offset=%x ", addr, offset);
        u32 temp[4];
-        u64 *outadr=(u64*)((((u32)&temp)+7)&~7);/* 8 byte align the stack 
adress*/
+       /* 8 byte align the stack adress*/
+        u64 *outadr=(u64*)((((u32)&temp) + 7) & ~7);
        load64(addr, outadr);
-        EDEB_EX(7, "addr=%p value=%Lx", addr, *outadr);
+        ehca_gen_dbg("addr=%p value=%Lx", addr, *outadr);
         return *outadr;
 };
 
-inline static void store64(void * adr,unsigned int datal, unsigned int datah)
+inline static void store64(void *adr, unsigned int datal, unsigned int datah)
 {
        unsigned long temp=0;
        asm("sldi %3,%1,32\n\t"
             "or 0,%3,%0\n\t"
-           "std 0,0(%2)\n" :/* no output */: "r" (datal), "r" (datah), "r" 
(adr), "r" (temp):"r0");
+           "std 0,0(%2)\n" :/* no output */: "r" (datal), "r" (datah),
+           "r" (adr), "r" (temp):"r0");
 }
 
 void hipz_galpa_store(struct h_galpa galpa, u32 offset, u64 value)
 {
         void * addr = ((void*)(unsigned long)galpa.fw_handle) + offset;
-        EDEB(7, "addr=%p offset=%x value=%Lx", addr,
-             offset, value);
-       store64(addr,value&0xffffffffULL,value >>32ULL);
+        ehca_gen_dbg("addr=%p offset=%x value=%Lx", addr, offset, value);
+       store64(addr, value&0xffffffffULL, value >>32ULL);
 #ifdef EHCA_USE_HCALL
-        /* hipz_galpa_load(galpa, offset); */
-        /* synchronize explicitly */
+        /* hipz_galpa_load(galpa, offset);
+        * synchronize explicitly
+        */
 #endif
 };
 
 #endif /* ___PPC64__*/
-
-#endif /* EHCA_USERDRIVER */
diff -Nurp libehca_old/src/hipz_fns_core.h libehca_new/src/hipz_fns_core.h
--- libehca_old/src/hipz_fns_core.h     2007-01-26 14:27:03.000000000 +0100
+++ libehca_new/src/hipz_fns_core.h     2007-01-26 14:27:43.000000000 +0100
@@ -38,8 +38,6 @@
  * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
  * POSSIBILITY OF SUCH DAMAGE.
- *
- *  $Id: hipz_fns_core.h,v 1.2 2006/03/26 21:27:27 nguyen Exp $
  */
 
 #ifndef __HIPZ_FNS_CORE_H__
@@ -48,76 +46,71 @@
 #include "ehca_galpa.h"
 #include "hipz_hw.h"
 
-#define hipz_galpa_store_cq(gal,offset,value)\
-       hipz_galpa_store(gal,CQTEMM_OFFSET(offset),value)
-#define hipz_galpa_load_cq(gal,offset)\
-       hipz_galpa_load(gal,CQTEMM_OFFSET(offset))
-
-#define hipz_galpa_store_qp(gal,offset,value)\
-       hipz_galpa_store(gal,QPTEMM_OFFSET(offset),value)
-#define hipz_galpa_load_qp(gal,offset)\
-       hipz_galpa_load(gal,QPTEMM_OFFSET(offset))
+#define hipz_galpa_store_cq(gal, offset, value) \
+       hipz_galpa_store(gal, CQTEMM_OFFSET(offset), value)
+#define hipz_galpa_load_cq(gal, offset) \
+       hipz_galpa_load(gal, CQTEMM_OFFSET(offset))
+
+#define hipz_galpa_store_qp(gal, offset, value) \
+       hipz_galpa_store(gal, QPTEMM_OFFSET(offset), value)
+#define hipz_galpa_load_qp(gal, offset) \
+       hipz_galpa_load(gal, QPTEMM_OFFSET(offset))
 
 inline static void hipz_update_SQA(struct ehcau_qp *qp, u16 nr_wqes)
 {
        struct h_galpa gal;
 
-       EDEB_EN(7, "qp=%p", qp);
        gal = qp->galpas.kernel;
        /*  ringing doorbell :-) */
        hipz_galpa_store_qp(gal, QPx_SQA, EHCA_BMASK_SET(QPx_SQAdder, nr_wqes));
-       EDEB_EX(7, "qp=%p QPx_SQA = %i", qp, nr_wqes);
+       ehca_gen_dbg("qp=%p QPx_SQA = %i", qp, nr_wqes);
 }
 
 inline static void hipz_update_RQA(struct ehcau_qp *qp, u16 nr_wqes)
 {
        struct h_galpa gal;
 
-       EDEB_EN(7, "qp=%p", qp);
        gal = qp->galpas.kernel;
        /*  ringing doorbell :-) */
        hipz_galpa_store_qp(gal, QPx_RQA, EHCA_BMASK_SET(QPx_RQAdder, nr_wqes));
-       EDEB_EX(7, "qp=%p QPx_RQA = %i", qp, nr_wqes);
+       ehca_gen_dbg("qp=%p QPx_RQA = %i", qp, nr_wqes);
 }
 
 inline static void hipz_update_FECA(struct ehcau_cq *cq, u32 nr_cqes)
 {
        struct h_galpa gal;
 
-       EDEB_EN(7, "cq=%p", cq);
        gal = cq->galpas.kernel;
        hipz_galpa_store_cq(gal, CQx_FECA,
                            EHCA_BMASK_SET(CQx_FECAdder, nr_cqes));
-       EDEB_EX(7, "cq=%p CQx_FECA = %i", cq, nr_cqes);
+       ehca_gen_dbg("cq=%p CQx_FECA = %i", cq, nr_cqes);
 }
 
 inline static void hipz_set_CQx_N0(struct ehcau_cq *cq, u32 value)
 {
        struct h_galpa gal;
-       u64 CQx_N0_reg = 0;
+       u64 CQx_N0_reg;
 
-       EDEB_EN(7, "cq=%p event on solicited completion -- write CQx_N0",
-               cq);
+       ehca_gen_dbg("cq=%p event on solicited completion -- write CQx_N0", cq);
        gal = cq->galpas.kernel;
        hipz_galpa_store_cq(gal, CQx_N0,
                            EHCA_BMASK_SET(CQx_N0_generate_solicited_comp_event,
                                           value));
        CQx_N0_reg = hipz_galpa_load_cq(gal, CQx_N0);
-       EDEB_EX(7, "cq=%p loaded CQx_N0=%lx", cq,(unsigned long)CQx_N0_reg);
+       ehca_gen_dbg("cq=%p loaded CQx_N0=%lx", cq, (unsigned long)CQx_N0_reg);
 }
 
 inline static void hipz_set_CQx_N1(struct ehcau_cq *cq, u32 value)
 {
        struct h_galpa gal;
-       u64 CQx_N1_reg = 0;
+       u64 CQx_N1_reg;
 
-       EDEB_EN(7, "cq=%p event on completion -- write CQx_N1",
-               cq);
+       ehca_gen_dbg("cq=%p event on completion -- write CQx_N1", cq);
        gal = cq->galpas.kernel;
        hipz_galpa_store_cq(gal, CQx_N1,
                            EHCA_BMASK_SET(CQx_N1_generate_comp_event, value));
        CQx_N1_reg = hipz_galpa_load_cq(gal, CQx_N1);
-       EDEB_EX(7, "cq=%p loaded CQx_N1=%lx", cq,(unsigned long)CQx_N1_reg);
+       ehca_gen_dbg("cq=%p loaded CQx_N1=%lx", cq, (unsigned long)CQx_N1_reg);
 }
 
 #endif /* __HIPZ_FNC_CORE_H__ */
diff -Nurp libehca_old/src/hipz_hw.h libehca_new/src/hipz_hw.h
--- libehca_old/src/hipz_hw.h   2007-01-26 14:27:03.000000000 +0100
+++ libehca_new/src/hipz_hw.h   2007-01-26 14:27:43.000000000 +0100
@@ -38,8 +38,6 @@
  * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
  * POSSIBILITY OF SUCH DAMAGE.
- *
- *  $Id: hipz_hw.h,v 1.1 2006/02/22 12:26:55 nguyen Exp $
  */
 
 #ifndef __HIPZ_HW_H__
@@ -52,191 +50,189 @@
 #include "ehca_utools.h"
 #endif
 
-/** @brief Queue Pair Table Memory
- */
+#define EHCA_MAX_MTU 4
+
+/* Queue Pair Table Memory */
 struct hipz_QPTEMM {
        u64 QPx_HCR;
-#define QPx_HCR_PKEY_Mode EHCA_BMASK_IBM(1,2)
-#define QPx_HCR_Special_QP_Mode EHCA_BMASK_IBM(6,7)
+#define QPx_HCR_PKEY_Mode EHCA_BMASK_IBM(1, 2)
+#define QPx_HCR_Special_QP_Mode EHCA_BMASK_IBM(6, 7)
        u64 QPx_C;
-#define QPx_C_Enabled EHCA_BMASK_IBM(0,0)
-#define QPx_C_Disabled EHCA_BMASK_IBM(1,1)
-#define QPx_C_Req_State EHCA_BMASK_IBM(16,23)
-#define QPx_C_Res_State EHCA_BMASK_IBM(25,31)
-#define QPx_C_disable_ETE_check EHCA_BMASK_IBM(7,7)
+#define QPx_C_Enabled EHCA_BMASK_IBM(0, 0)
+#define QPx_C_Disabled EHCA_BMASK_IBM(1, 1)
+#define QPx_C_Req_State EHCA_BMASK_IBM(16, 23)
+#define QPx_C_Res_State EHCA_BMASK_IBM(25, 31)
+#define QPx_C_disable_ETE_check EHCA_BMASK_IBM(7, 7)
        u64 QPx_HERR;
        u64 QPx_AER;
-/* 0x20*/
+       /* 0x20*/
        u64 QPx_SQA;
-#define QPx_SQAdder EHCA_BMASK_IBM(48,63)
+#define QPx_SQAdder EHCA_BMASK_IBM(48, 63)
        u64 QPx_SQC;
        u64 QPx_RQA;
-#define QPx_RQAdder EHCA_BMASK_IBM(48,63)
+#define QPx_RQAdder EHCA_BMASK_IBM(48, 63)
        u64 QPx_RQC;
-/* 0x40*/
+       /* 0x40*/
        u64 QPx_ST;
        u64 QPx_PMSTATE;
-#define  QPx_PMSTATE_BITS  EHCA_BMASK_IBM(30,31)
+#define  QPx_PMSTATE_BITS  EHCA_BMASK_IBM(30, 31)
        u64 QPx_PMFA;
        u64 QPx_PKEY;
-#define QPx_PKEY_value EHCA_BMASK_IBM(48,63)
-/* 0x60*/
+#define QPx_PKEY_value EHCA_BMASK_IBM(48, 63)
+       /* 0x60*/
        u64 QPx_PKEYA;
-#define QPx_PKEYA_index0 EHCA_BMASK_IBM(0,15)
-#define QPx_PKEYA_index1 EHCA_BMASK_IBM(16,31)
-#define QPx_PKEYA_index2 EHCA_BMASK_IBM(32,47)
-#define QPx_PKEYA_index3 EHCA_BMASK_IBM(48,63)
+#define QPx_PKEYA_index0 EHCA_BMASK_IBM(0, 15)
+#define QPx_PKEYA_index1 EHCA_BMASK_IBM(16, 31)
+#define QPx_PKEYA_index2 EHCA_BMASK_IBM(32, 47)
+#define QPx_PKEYA_index3 EHCA_BMASK_IBM(48, 63)
        u64 QPx_PKEYB;
-#define QPx_PKEYB_index4 EHCA_BMASK_IBM(0,15)
-#define QPx_PKEYB_index5 EHCA_BMASK_IBM(16,31)
-#define QPx_PKEYB_index6 EHCA_BMASK_IBM(32,47)
-#define QPx_PKEYB_index7 EHCA_BMASK_IBM(48,63)
+#define QPx_PKEYB_index4 EHCA_BMASK_IBM(0, 15)
+#define QPx_PKEYB_index5 EHCA_BMASK_IBM(16, 31)
+#define QPx_PKEYB_index6 EHCA_BMASK_IBM(32, 47)
+#define QPx_PKEYB_index7 EHCA_BMASK_IBM(48, 63)
        u64 QPx_PKEYC;
-#define QPx_PKEYC_index8 EHCA_BMASK_IBM(0,15)
-#define QPx_PKEYC_index9 EHCA_BMASK_IBM(16,31)
-#define QPx_PKEYC_index10 EHCA_BMASK_IBM(32,47)
-#define QPx_PKEYC_index11 EHCA_BMASK_IBM(48,63)
+#define QPx_PKEYC_index8 EHCA_BMASK_IBM(0, 15)
+#define QPx_PKEYC_index9 EHCA_BMASK_IBM(16, 31)
+#define QPx_PKEYC_index10 EHCA_BMASK_IBM(32, 47)
+#define QPx_PKEYC_index11 EHCA_BMASK_IBM(48, 63)
        u64 QPx_PKEYD;
-#define QPx_PKEYD_index12 EHCA_BMASK_IBM(0,15)
-#define QPx_PKEYD_index13 EHCA_BMASK_IBM(16,31)
-#define QPx_PKEYD_index14 EHCA_BMASK_IBM(32,47)
-#define QPx_PKEYD_index15 EHCA_BMASK_IBM(48,63)
-/* 0x80*/
+#define QPx_PKEYD_index12 EHCA_BMASK_IBM(0, 15)
+#define QPx_PKEYD_index13 EHCA_BMASK_IBM(16, 31)
+#define QPx_PKEYD_index14 EHCA_BMASK_IBM(32, 47)
+#define QPx_PKEYD_index15 EHCA_BMASK_IBM(48, 63)
+       /* 0x80*/
        u64 QPx_QKEY;
-#define QPx_QKEY_value EHCA_BMASK_IBM(32,63)
+#define QPx_QKEY_value EHCA_BMASK_IBM(32, 63)
        u64 QPx_DQP;
-#define QPx_DQP_number EHCA_BMASK_IBM(40,63)
+#define QPx_DQP_number EHCA_BMASK_IBM(40, 63)
        u64 QPx_DLIDP;
-#define QPx_DLID_PRIMARY EHCA_BMASK_IBM(48,63)
-#define QPx_DLIDP_GRH    EHCA_BMASK_IBM(31,31)
+#define QPx_DLID_PRIMARY EHCA_BMASK_IBM(48, 63)
+#define QPx_DLIDP_GRH    EHCA_BMASK_IBM(31, 31)
        u64 QPx_PORTP;
-#define QPx_PORT_Primary EHCA_BMASK_IBM(57,63)
-/* 0xa0*/
+#define QPx_PORT_Primary EHCA_BMASK_IBM(57, 63)
+       /* 0xa0*/
        u64 QPx_SLIDP;
-#define QPx_SLIDP_p_path EHCA_BMASK_IBM(48,63)
-#define QPx_SLIDP_lmc    EHCA_BMASK_IBM(37,39)
+#define QPx_SLIDP_p_path EHCA_BMASK_IBM(48, 63)
+#define QPx_SLIDP_lmc    EHCA_BMASK_IBM(37, 39)
        u64 QPx_SLIDPP;
-#define QPx_SLID_PRIM_PATH EHCA_BMASK_IBM(57,63)
+#define QPx_SLID_PRIM_PATH EHCA_BMASK_IBM(57, 63)
        u64 QPx_DLIDA;
-#define QPx_DLIDA_GRH    EHCA_BMASK_IBM(31,31)
+#define QPx_DLIDA_GRH    EHCA_BMASK_IBM(31, 31)
        u64 QPx_PORTA;
-#define QPx_PORT_Alternate EHCA_BMASK_IBM(57,63)
-/* 0xc0*/
+#define QPx_PORT_Alternate EHCA_BMASK_IBM(57, 63)
+       /* 0xc0*/
        u64 QPx_SLIDA;
        u64 QPx_SLIDPA;
        u64 QPx_SLVL;
-#define QPx_SLVL_BITS  EHCA_BMASK_IBM(56,59)
-#define QPx_SLVL_VL    EHCA_BMASK_IBM(60,63)
+#define QPx_SLVL_BITS  EHCA_BMASK_IBM(56, 59)
+#define QPx_SLVL_VL    EHCA_BMASK_IBM(60, 63)
        u64 QPx_IPD;
-#define QPx_IPD_max_static_rate EHCA_BMASK_IBM(56,63)
-/* 0xe0*/
+#define QPx_IPD_max_static_rate EHCA_BMASK_IBM(56, 63)
+       /* 0xe0*/
        u64 QPx_MTU;
-#define QPx_MTU_size EHCA_BMASK_IBM(56,63)
+#define QPx_MTU_size EHCA_BMASK_IBM(56, 63)
        u64 QPx_LATO;
-#define QPx_LATO_BITS EHCA_BMASK_IBM(59,63)
+#define QPx_LATO_BITS EHCA_BMASK_IBM(59, 63)
        u64 QPx_RLIMIT;
-#define QPx_RETRY_COUNT EHCA_BMASK_IBM(61,63)
+#define QPx_RETRY_COUNT EHCA_BMASK_IBM(61, 63)
        u64 QPx_RNRLIMIT;
-#define QPx_RNR_RETRY_COUNT EHCA_BMASK_IBM(61,63)
-/* 0x100*/
+#define QPx_RNR_RETRY_COUNT EHCA_BMASK_IBM(61, 63)
+       /* 0x100*/
        u64 QPx_T;
        u64 QPx_SQHP;
        u64 QPx_SQPTP;
        u64 QPx_NSPSN;
-#define QPx_NSPSN_value EHCA_BMASK_IBM(40,63)
-/* 0x120*/
+#define QPx_NSPSN_value EHCA_BMASK_IBM(40, 63)
+       /* 0x120*/
        u64 QPx_NSPSNHWM;
-#define QPx_NSPSNHWM_value EHCA_BMASK_IBM(40,63)
+#define QPx_NSPSNHWM_value EHCA_BMASK_IBM(40, 63)
        u64 reserved1;
        u64 QPx_SDSI;
        u64 QPx_SDSBC;
-/* 0x140*/
+       /* 0x140*/
        u64 QPx_SQWSIZE;
-#define QPx_SQWSIZE_value EHCA_BMASK_IBM(61,63)
+#define QPx_SQWSIZE_value EHCA_BMASK_IBM(61, 63)
        u64 QPx_SQWTS;
        u64 QPx_LSN;
        u64 QPx_NSSN;
-/* 0x160 */
+       /* 0x160 */
        u64 QPx_MOR;
-#define QPx_MOR_value EHCA_BMASK_IBM(48,63)
+#define QPx_MOR_value EHCA_BMASK_IBM(48, 63)
        u64 QPx_COR;
        u64 QPx_SQSIZE;
-#define QPx_SQSIZE_value EHCA_BMASK_IBM(60,63)
+#define QPx_SQSIZE_value EHCA_BMASK_IBM(60, 63)
        u64 QPx_ERC;
-/* 0x180*/
+       /* 0x180*/
        u64 QPx_RNRRC;
-#define QPx_RNRRESP_value EHCA_BMASK_IBM(59,63)
+#define QPx_RNRRESP_value EHCA_BMASK_IBM(59, 63)
        u64 QPx_ERNRWT;
        u64 QPx_RNRRESP;
-#define QPx_RNRRESP_WTR EHCA_BMASK_IBM(59,63)
+#define QPx_RNRRESP_WTR EHCA_BMASK_IBM(59, 63)
        u64 QPx_LMSNA;
-/* 0x1a0 */
+       /* 0x1a0 */
        u64 QPx_SQHPC;
        u64 QPx_SQCPTP;
        u64 QPx_SIGT;
        u64 QPx_WQECNT;
-/* 0x1c0*/
-
+       /* 0x1c0*/
        u64 QPx_RQHP;
        u64 QPx_RQPTP;
        u64 QPx_RQSIZE;
-#define QPx_RQSIZE_value EHCA_BMASK_IBM(60,63)
+#define QPx_RQSIZE_value EHCA_BMASK_IBM(60, 63)
        u64 QPx_NRR;
-#define QPx_NRR_value EHCA_BMASK_IBM(61,63)
-/* 0x1e0*/
+#define QPx_NRR_value EHCA_BMASK_IBM(61, 63)
+       /* 0x1e0*/
        u64 QPx_RDMAC;
-#define QPx_RDMAC_value EHCA_BMASK_IBM(61,63)
+#define QPx_RDMAC_value EHCA_BMASK_IBM(61, 63)
        u64 QPx_NRPSN;
-#define QPx_NRPSN_value EHCA_BMASK_IBM(40,63)
+#define QPx_NRPSN_value EHCA_BMASK_IBM(40, 63)
        u64 QPx_LAPSN;
-#define QPx_LAPSN_value EHCA_BMASK_IBM(40,63)
+#define QPx_LAPSN_value EHCA_BMASK_IBM(40, 63)
        u64 QPx_LCR;
-/* 0x200*/
+       /* 0x200*/
        u64 QPx_RWC;
        u64 QPx_RWVA;
        u64 QPx_RDSI;
        u64 QPx_RDSBC;
-/* 0x220*/
+       /* 0x220*/
        u64 QPx_RQWSIZE;
-#define QPx_RQWSIZE_value EHCA_BMASK_IBM(61,63)
+#define QPx_RQWSIZE_value EHCA_BMASK_IBM(61, 63)
        u64 QPx_CRMSN;
        u64 QPx_RDD;
-#define QPx_RDD_VALUE  EHCA_BMASK_IBM(32,63)
+#define QPx_RDD_VALUE  EHCA_BMASK_IBM(32, 63)
        u64 QPx_LARPSN;
-#define QPx_LARPSN_value EHCA_BMASK_IBM(40,63)
-/* 0x240*/
+#define QPx_LARPSN_value EHCA_BMASK_IBM(40, 63)
+       /* 0x240*/
        u64 QPx_PD;
        u64 QPx_SCQN;
        u64 QPx_RCQN;
        u64 QPx_AEQN;
-/* 0x260*/
+       /* 0x260*/
        u64 QPx_AAELOG;
        u64 QPx_RAM;
        u64 QPx_RDMAQE0;
        u64 QPx_RDMAQE1;
-/* 0x280*/
+       /* 0x280*/
        u64 QPx_RDMAQE2;
        u64 QPx_RDMAQE3;
        u64 QPx_NRPSNHWM;
-#define QPx_NRPSNHWM_value EHCA_BMASK_IBM(40,63)
-/* 0x298*/
+#define QPx_NRPSNHWM_value EHCA_BMASK_IBM(40, 63)
+       /* 0x298*/
        u64 reserved[(0x400 - 0x298) / 8];
-/* 0x400 extended data */
+       /* 0x400 extended data */
        u64 reserved_ext[(0x500 - 0x400) / 8];
-/* 0x500 */
+       /* 0x500 */
        u64 reserved2[(0x1000 - 0x500) / 8];
-/* 0x1000      */
+       /* 0x1000      */
 };
 
-#define QPTEMM_OFFSET(x) offsetof(struct hipz_QPTEMM,x)
+#define QPTEMM_OFFSET(x) offsetof(struct hipz_QPTEMM, x)
 
-/** @brief MRMWPT Entry Memory Map
- */
+/* MRMWPT Entry Memory Map */
 struct hipz_MRMWMM {
        /* 0x00 */
        u64 MRx_HCR;
-#define MRx_HCR_LPARID_VALID EHCA_BMASK_IBM(0,0)
-
+#define MRx_HCR_LPARID_VALID EHCA_BMASK_IBM(0, 0)
        u64 MRx_C;
        u64 MRx_HERR;
        u64 MRx_AER;
@@ -249,26 +245,24 @@ struct hipz_MRMWMM {
        u64 reserved4[(0x200 - 0x40) / 8];
        /* 0x200 */
        u64 MRx_CTL[64];
-
 };
 
-#define MRMWMM_OFFSET(x) offsetof(struct hipz_MRMWMM,x)
+#define MRMWMM_OFFSET(x) offsetof(struct hipz_MRMWMM, x)
 
-/** @brief QPEDMM
- */
+/* QPEDMM */
 struct hipz_QPEDMM {
        /* 0x00 */
        u64 reserved0[(0x400) / 8];
        /* 0x400 */
        u64 QPEDx_PHH;
-#define QPEDx_PHH_TClass EHCA_BMASK_IBM(4,11)
-#define QPEDx_PHH_HopLimit EHCA_BMASK_IBM(56,63)
-#define QPEDx_PHH_FlowLevel EHCA_BMASK_IBM(12,31)
+#define QPEDx_PHH_TClass EHCA_BMASK_IBM(4, 11)
+#define QPEDx_PHH_HopLimit EHCA_BMASK_IBM(56, 63)
+#define QPEDx_PHH_FlowLevel EHCA_BMASK_IBM(12, 31)
        u64 QPEDx_PPSGP;
-#define QPEDx_PPSGP_PPPidx EHCA_BMASK_IBM(0,63)
+#define QPEDx_PPSGP_PPPidx EHCA_BMASK_IBM(0, 63)
        /* 0x410 */
        u64 QPEDx_PPSGU;
-#define QPEDx_PPSGU_PPPSGID EHCA_BMASK_IBM(0,63)
+#define QPEDx_PPSGU_PPPSGID EHCA_BMASK_IBM(0, 63)
        u64 QPEDx_PPDGP;
        /* 0x420 */
        u64 QPEDx_PPDGU;
@@ -310,73 +304,71 @@ struct hipz_QPEDMM {
        u64 QPEDx_RRVA3;
 };
 
-#define QPEDMM_OFFSET(x) offsetof(struct hipz_QPEDMM,x)
+#define QPEDMM_OFFSET(x) offsetof(struct hipz_QPEDMM, x)
 
-/** @brief CQ Table Entry Memory Map
- */
+/* CQ Table Entry Memory Map */
 struct hipz_CQTEMM {
        u64 CQx_HCR;
-#define CQx_HCR_LPARID_valid EHCA_BMASK_IBM(0,0)
+#define CQx_HCR_LPARID_valid EHCA_BMASK_IBM(0, 0)
        u64 CQx_C;
-#define CQx_C_Enable EHCA_BMASK_IBM(0,0)
-#define CQx_C_Disable_Complete EHCA_BMASK_IBM(1,1)
-#define CQx_C_Error_Reset EHCA_BMASK_IBM(23,23)
+#define CQx_C_Enable EHCA_BMASK_IBM(0, 0)
+#define CQx_C_Disable_Complete EHCA_BMASK_IBM(1, 1)
+#define CQx_C_Error_Reset EHCA_BMASK_IBM(23, 23)
        u64 CQx_HERR;
        u64 CQx_AER;
-/* 0x20  */
+       /* 0x20  */
        u64 CQx_PTP;
        u64 CQx_TP;
-#define CQx_FEC_CQE_cnt EHCA_BMASK_IBM(32,63)
+#define CQx_FEC_CQE_cnt EHCA_BMASK_IBM(32, 63)
        u64 CQx_FEC;
        u64 CQx_FECA;
-#define CQx_FECAdder EHCA_BMASK_IBM(32,63)
-/* 0x40  */
+#define CQx_FECAdder EHCA_BMASK_IBM(32, 63)
+       /* 0x40  */
        u64 CQx_EP;
-#define CQx_EP_Event_Pending EHCA_BMASK_IBM(0,0)
-#define CQx_EQ_number EHCA_BMASK_IBM(0,15)
-#define CQx_EQ_CQtoken EHCA_BMASK_IBM(32,63)
+#define CQx_EP_Event_Pending EHCA_BMASK_IBM(0, 0)
+#define CQx_EQ_number EHCA_BMASK_IBM(0, 15)
+#define CQx_EQ_CQtoken EHCA_BMASK_IBM(32, 63)
        u64 CQx_EQ;
-/* 0x50  */
+       /* 0x50  */
        u64 reserved1;
        u64 CQx_N0;
-#define CQx_N0_generate_solicited_comp_event EHCA_BMASK_IBM(0,0)
-/* 0x60  */
+#define CQx_N0_generate_solicited_comp_event EHCA_BMASK_IBM(0, 0)
+       /* 0x60  */
        u64 CQx_N1;
-#define CQx_N1_generate_comp_event EHCA_BMASK_IBM(0,0)
+#define CQx_N1_generate_comp_event EHCA_BMASK_IBM(0, 0)
        u64 reserved2[(0x1000 - 0x60) / 8];
-/* 0x1000 */
+       /* 0x1000 */
 };
 
-#define CQTEMM_OFFSET(x) offsetof(struct hipz_CQTEMM,x)
+#define CQTEMM_OFFSET(x) offsetof(struct hipz_CQTEMM, x)
 
-/** @brief EQ Table Entry Memory Map
- */
+/* EQ Table Entry Memory Map */
 struct hipz_EQTEMM {
        u64 EQx_HCR;
-#define EQx_HCR_LPARID_valid EHCA_BMASK_IBM(0,0)
-#define EQx_HCR_ENABLE_PSB EHCA_BMASK_IBM(8,8)
+#define EQx_HCR_LPARID_valid EHCA_BMASK_IBM(0, 0)
+#define EQx_HCR_ENABLE_PSB EHCA_BMASK_IBM(8, 8)
        u64 EQx_C;
-#define EQx_C_Enable EHCA_BMASK_IBM(0,0)
-#define EQx_C_Error_Reset EHCA_BMASK_IBM(23,23)
-#define EQx_C_Comp_Event EHCA_BMASK_IBM(17,17)
+#define EQx_C_Enable EHCA_BMASK_IBM(0, 0)
+#define EQx_C_Error_Reset EHCA_BMASK_IBM(23, 23)
+#define EQx_C_Comp_Event EHCA_BMASK_IBM(17, 17)
 
        u64 EQx_HERR;
        u64 EQx_AER;
-/* 0x20 */
+       /* 0x20 */
        u64 EQx_PTP;
        u64 EQx_TP;
        u64 EQx_SSBA;
        u64 EQx_PSBA;
 
-/* 0x40 */
+       /* 0x40 */
        u64 EQx_CEC;
        u64 EQx_MEQL;
        u64 EQx_XISBI;
        u64 EQx_XISC;
-/* 0x60 */
+       /* 0x60 */
        u64 EQx_IT;
 
 };
-#define EQTEMM_OFFSET(x) offsetof(struct hipz_EQTEMM,x)
+#define EQTEMM_OFFSET(x) offsetof(struct hipz_EQTEMM, x)
 
 #endif
diff -Nurp libehca_old/src/ipzu_pt_fn.h libehca_new/src/ipzu_pt_fn.h
--- libehca_old/src/ipzu_pt_fn.h        2007-01-26 14:27:03.000000000 +0100
+++ libehca_new/src/ipzu_pt_fn.h        2007-01-26 14:27:43.000000000 +0100
@@ -39,8 +39,6 @@
  * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
  * POSSIBILITY OF SUCH DAMAGE.
- *
- *  $Id: ipzu_pt_fn.h,v 1.1 2006/03/26 22:34:11 nguyen Exp $
  */
 
 #ifndef __IPZU_PT_FN_H__
@@ -60,33 +58,32 @@ struct ipzu_queue {
        u32 dummy3;                 /* 64 bit alignment*/
 };
 
-/**  return current Queue Entry
-     @returns address of current Queue Entry
- */
+/* returns address of current Queue Entry */
 static inline void *ipzu_qeit_get(struct ipzu_queue *queue)
 {
-       return (queue->current_q_addr);
+       return queue->current_q_addr;
 }
 
-/**  return current Queue Page , increment Queue Page iterator from
-     page to page in struct ipzu_queue, last increment will return 0! and
-     NOT wrap
-     @returns address of current Queue Page
-     @warning don't use in parallel with ipzu_qeit_get_inc()
+/*
+ * return current Queue Page , increment Queue Page iterator from
+ * page to page in struct ipzu_queue, last increment will return 0! and
+ * NOT wrap
+ * warning: don't use in parallel with ipzu_qeit_get_inc()
  */
 void *ipzu_qpageit_get_inc(struct ipzu_queue *queue);
 
-/**  return current Queue Entry, increment Queue Entry iterator by one
-     step in struct ipzu_queue, will wrap in ringbuffer
-     @returns address of current Queue Entry BEFORE increment
-     @warning don't use in parallel with ipzu_qpageit_get_inc()
-     @warning unpredictable results may occur if steps>act_nr_of_queue_entries
+/*
+ * return current Queue Entry, increment Queue Entry iterator by one
+ * step in struct ipzu_queue, will wrap in ringbuffer
+ * (returns address of current Queue Entry BEFORE increment)
+ * warning: don't use in parallel with ipzu_qpageit_get_inc()
+ * warning: unpredictable results may occur if steps>act_nr_of_queue_entries
  */
 static inline void *ipzu_qeit_get_inc(struct ipzu_queue *queue)
 {
-       void *retvalue = 0;
+       void *retvalue;
        u8 *last_entry_in_q = queue->queue + queue->queue_length
-           - queue->qe_size;
+               - queue->qe_size;
 
        retvalue = queue->current_q_addr;
        queue->current_q_addr += queue->qe_size;
@@ -96,38 +93,37 @@ static inline void *ipzu_qeit_get_inc(st
                queue->toggle_state = (~queue->toggle_state) & 1;
        }
 
-       EDEB(7, "queue=%p retvalue=%p new current_q_addr=%p qe_size=%x",
-            queue, retvalue, queue->current_q_addr, queue->qe_size);
-
-       return (retvalue);
+       ehca_gen_dbg("queue=%p retvalue=%p new current_q_addr=%p qe_size=%x",
+                    queue, retvalue, queue->current_q_addr, queue->qe_size);
+       return retvalue;
 }
 
-/**  return current Queue Entry, increment Queue Entry iterator by one
-     step in struct ipzu_queue, will wrap in ringbuffer
-     @returns address of current Queue Entry BEFORE increment
-     @returns 0 and does not increment, if wrong valid state
-     @warning don't use in parallel with ipzu_qpageit_get_inc()
-     @warning unpredictable results may occur if steps>act_nr_of_queue_entries
+/* return current Queue Entry, increment Queue Entry iterator by one
+ * step in struct ipzu_queue, will wrap in ringbuffer
+ * (returns address of current Queue Entry BEFORE increment)
+ * (returns 0 and does not increment, if wrong valid state)
+ * warning: don't use in parallel with ipzu_qpageit_get_inc()
+ * warning: unpredictable results may occur if steps>act_nr_of_queue_entries
  */
 inline static void *ipzu_qeit_get_inc_valid(struct ipzu_queue *queue)
 {
        void *retvalue = ipzu_qeit_get(queue);
        u32 qe = ((struct ehca_cqe *)retvalue)->cqe_flags;
-       if ((qe >> 7) == (queue->toggle_state & 1)) {
-               /* this is a good one */
-               ipzu_qeit_get_inc(queue);
-       } else
-               retvalue = 0;
-       return (retvalue);
+       if ((qe >> 7) != (queue->toggle_state & 1))
+               return NULL;
+       /* this is a good one */
+       ipzu_qeit_get_inc(queue);
+       return retvalue;
 }
 
-/**  returns and resets Queue Entry iterator
-     @returns address (kv) of first Queue Entry
+/*
+ * returns and resets Queue Entry iterator
+ * (returns address (kv) of first Queue Entry)
  */
 static inline void *ipzu_qeit_reset(struct ipzu_queue *queue)
 {
        queue->current_q_addr = queue->queue;
-       return (queue->queue);
+       return queue->queue;
 }
 
 #endif /* __IPZU_PT_FN_H__ */



_______________________________________________
openib-general mailing list
[email protected]
http://openib.org/mailman/listinfo/openib-general

To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general

Reply via email to