From: Michael S. Tsirkin Add mthca_write64_raw() function, which will be used to write FMR entries that are in ioremapped PCI memory. Signed-off-by: Michael S. Tsirkin Signed-off-by: Roland Dreier Signed-off-by: Andrew Morton --- 25-akpm/drivers/infiniband/hw/mthca/mthca_doorbell.h | 11 +++++++++++ 1 files changed, 11 insertions(+) diff -puN drivers/infiniband/hw/mthca/mthca_doorbell.h~ib-mthca-add-mthca_write64_raw-for-writing-to-mtt-table-directly drivers/infiniband/hw/mthca/mthca_doorbell.h --- 25/drivers/infiniband/hw/mthca/mthca_doorbell.h~ib-mthca-add-mthca_write64_raw-for-writing-to-mtt-table-directly Fri Apr 1 14:14:51 2005 +++ 25-akpm/drivers/infiniband/hw/mthca/mthca_doorbell.h Fri Apr 1 14:14:51 2005 @@ -51,6 +51,11 @@ #define MTHCA_INIT_DOORBELL_LOCK(ptr) do { } while (0) #define MTHCA_GET_DOORBELL_LOCK(ptr) (NULL) +static inline void mthca_write64_raw(__be64 val, void __iomem *dest) +{ + __raw_writeq((__force u64) val, dest); +} + static inline void mthca_write64(u32 val[2], void __iomem *dest, spinlock_t *doorbell_lock) { @@ -74,6 +79,12 @@ static inline void mthca_write_db_rec(u3 #define MTHCA_INIT_DOORBELL_LOCK(ptr) spin_lock_init(ptr) #define MTHCA_GET_DOORBELL_LOCK(ptr) (ptr) +static inline void mthca_write64_raw(__be64 val, void __iomem *dest) +{ + __raw_writel(((__force u32 *) &val)[0], dest); + __raw_writel(((__force u32 *) &val)[1], dest + 4); +} + static inline void mthca_write64(u32 val[2], void __iomem *dest, spinlock_t *doorbell_lock) { _