diff options
Diffstat (limited to 'drivers/infiniband/hw/mlx5/mem.c')
| -rw-r--r-- | drivers/infiniband/hw/mlx5/mem.c | 8 | 
1 files changed, 3 insertions, 5 deletions
diff --git a/drivers/infiniband/hw/mlx5/mem.c b/drivers/infiniband/hw/mlx5/mem.c index 96ffbbaf0a73..5a22be14d958 100644 --- a/drivers/infiniband/hw/mlx5/mem.c +++ b/drivers/infiniband/hw/mlx5/mem.c @@ -30,6 +30,7 @@   * SOFTWARE.   */ +#include <linux/io.h>  #include <rdma/ib_umem_odp.h>  #include "mlx5_ib.h"  #include <linux/jiffies.h> @@ -108,7 +109,6 @@ static int post_send_nop(struct mlx5_ib_dev *dev, struct ib_qp *ibqp, u64 wr_id,  	__be32 mmio_wqe[16] = {};  	unsigned long flags;  	unsigned int idx; -	int i;  	if (unlikely(dev->mdev->state == MLX5_DEVICE_STATE_INTERNAL_ERROR))  		return -EIO; @@ -148,10 +148,8 @@ static int post_send_nop(struct mlx5_ib_dev *dev, struct ib_qp *ibqp, u64 wr_id,  	 * we hit doorbell  	 */  	wmb(); -	for (i = 0; i < 8; i++) -		mlx5_write64(&mmio_wqe[i * 2], -			     bf->bfreg->map + bf->offset + i * 8); -	io_stop_wc(); +	__iowrite64_copy(bf->bfreg->map + bf->offset, mmio_wqe, +			 sizeof(mmio_wqe) / 8);  	bf->offset ^= bf->buf_size;  |