#include "pexor_user.h"
#include "pexor_trb.h"
-//#define PEXOR_DEBUGPRINT
+#define PEXOR_DEBUGPRINT
//#define PEXOR_TRB_DEBUG
#ifdef PEXOR_DEBUGPRINT
return 0;
}
-inline static void iowrite32_mb(u32 val, void __iomem *addr)
-{
- iowrite32(val, addr);
- wmb();
-}
+
+#define iowrite32_mb( args... ) \
+ iowrite32( args ); wmb();
int pexor_ioctl_read_register(struct pexor_privdata* priv,
unsigned long arg)
switch (command) {
case PEXOR_TRBNETCOM_REG_WRITE:
// first send trbnet request
- iowrite32(0x00000000, priv->pexor.trbnet_sender_err[3]);
+ iowrite32_mb(0x00000000, priv->pexor.trbnet_sender_err[3]);
iowrite32_mb(descriptor.reg_address, priv->pexor.trbnet_sender_data[3]);
iowrite32_mb((descriptor.arg0 >> 16) & 0xffff,
priv->pexor.trbnet_sender_data[3]);
}
// first send trbnet request
- iowrite32(0x00000000, priv->pexor.trbnet_sender_err[3]);
+ iowrite32_mb(0x00000000, priv->pexor.trbnet_sender_err[3]);
iowrite32_mb(descriptor.reg_address, priv->pexor.trbnet_sender_data[3]);
iowrite32_mb(descriptor.arg0, priv->pexor.trbnet_sender_data[3]);
iowrite32_mb(0x00000000, priv->pexor.trbnet_sender_data[3]);
case PEXOR_TRBNETCOM_REG_READ:
// first send trbnet request
- iowrite32(0x00000000, priv->pexor.trbnet_sender_err[3]);
+ iowrite32_mb(0x00000000, priv->pexor.trbnet_sender_err[3]);
iowrite32_mb(descriptor.reg_address, priv->pexor.trbnet_sender_data[3]);
iowrite32_mb(0x00000000, priv->pexor.trbnet_sender_data[3]);
iowrite32_mb(0x00000000, priv->pexor.trbnet_sender_data[3]);
case PEXOR_TRBNETCOM_REG_READ_MEM:
// first send trbnet request
- iowrite32(0x00000000, priv->pexor.trbnet_sender_err[3]);
+ iowrite32_mb(0x00000000, priv->pexor.trbnet_sender_err[3]);
iowrite32_mb(descriptor.reg_address, priv->pexor.trbnet_sender_data[3]);
iowrite32_mb(descriptor.arg0, priv->pexor.trbnet_sender_data[3]);
iowrite32_mb(0x00000000, priv->pexor.trbnet_sender_data[3]);
case PEXOR_TRBNETCOM_READ_UID:
// first send trbnet request
- iowrite32(0x00000000, priv->pexor.trbnet_sender_err[3]);
+ iowrite32_mb(0x00000000, priv->pexor.trbnet_sender_err[3]);
iowrite32_mb(PEXOR_TRB_NET_READUNIQUEID, priv->pexor.trbnet_sender_data[3]);
iowrite32_mb(0x00000000, priv->pexor.trbnet_sender_data[3]);
iowrite32_mb(0x00000000, priv->pexor.trbnet_sender_data[3]);
case PEXOR_TRBNETCOM_SET_ADDRESS:
// first send trbnet request
- iowrite32(0x00000000, priv->pexor.trbnet_sender_err[3]);
+ iowrite32_mb(0x00000000, priv->pexor.trbnet_sender_err[3]);
iowrite32_mb(PEXOR_TRB_NET_SETADDRESS, priv->pexor.trbnet_sender_data[3]);
iowrite32_mb(descriptor.arg0 & 0xffff, priv->pexor.trbnet_sender_data[3]);
iowrite32_mb(descriptor.arg0 >> 16 & 0xffff,