IB_ACCESS_REMOTE_WRITE
qp_attr->qp_access_flags = IB_ACCESS_REMOTE_WRITE;
qp_attr->qp_access_flags = IB_ACCESS_REMOTE_WRITE|
reg->reg_wr.access |= IB_ACCESS_REMOTE_WRITE;
ctx->reg->reg_wr.access |= IB_ACCESS_REMOTE_WRITE;
IB_ACCESS_REMOTE_WRITE |
IB_ACCESS_REMOTE_WRITE |
mr_access_flags |= IB_ACCESS_REMOTE_READ | IB_ACCESS_REMOTE_WRITE;
iflags |= IB_ACCESS_REMOTE_WRITE;
if (iflags & IB_ACCESS_REMOTE_WRITE)
iflags |= IB_ACCESS_REMOTE_WRITE;
if (access & IB_ACCESS_REMOTE_WRITE)
if (mr_access_flags & (IB_ACCESS_REMOTE_WRITE | IB_ACCESS_REMOTE_READ |
if (iflags & IB_ACCESS_REMOTE_WRITE)
return (a & IB_ACCESS_REMOTE_WRITE ? FW_RI_MEM_ACCESS_REM_WRITE : 0) |
IB_ACCESS_REMOTE_WRITE) ? 1 : 0;
(EFA_DEV_CAP(dev, RDMA_WRITE) ? IB_ACCESS_REMOTE_WRITE : 0);
IB_ACCESS_REMOTE_WRITE |
(access & IB_ACCESS_REMOTE_WRITE ? ERDMA_MR_ACC_RW : 0) |
if (unlikely(!(qp->qp_access_flags & IB_ACCESS_REMOTE_WRITE)))
rkey, IB_ACCESS_REMOTE_WRITE);
if (unlikely(!(qp->qp_access_flags & IB_ACCESS_REMOTE_WRITE)))
rkey, IB_ACCESS_REMOTE_WRITE)))
IB_ACCESS_REMOTE_WRITE))) {
vaddr, rkey, IB_ACCESS_REMOTE_WRITE);
hr_reg_write_bool(fseg, FRMR_RW, wr->access & IB_ACCESS_REMOTE_WRITE);
attr->qp_access_flags = IB_ACCESS_REMOTE_WRITE;
mr->access & IB_ACCESS_REMOTE_WRITE);
mr_access_flags & IB_ACCESS_REMOTE_WRITE ? 1 : 0);
access_flags &= IB_ACCESS_REMOTE_WRITE;
access_flags & IB_ACCESS_REMOTE_WRITE);
access_flags |= IB_ACCESS_REMOTE_WRITE;
if (access & IB_ACCESS_REMOTE_WRITE)
if (access & IB_ACCESS_REMOTE_WRITE)
acc_flags |= IB_ACCESS_REMOTE_WRITE;
acc_flags |= IB_ACCESS_REMOTE_WRITE;
if (attr->qp_access_flags & IB_ACCESS_REMOTE_WRITE)
if (attr->qp_access_flags & IB_ACCESS_REMOTE_WRITE)
hw_access |= (access & IB_ACCESS_REMOTE_WRITE) ?
if (access_flags & IB_ACCESS_REMOTE_WRITE)
#define VALID_MR_FLAGS (IB_ACCESS_LOCAL_WRITE | IB_ACCESS_REMOTE_WRITE | IB_ACCESS_REMOTE_READ |\
(acc & IB_ACCESS_REMOTE_WRITE ? MLX4_PERM_REMOTE_WRITE : 0) |
access_flags &= IB_ACCESS_REMOTE_WRITE;
if (access_flags & IB_ACCESS_REMOTE_WRITE)
(acc & IB_ACCESS_REMOTE_WRITE ?
ib_flags |= IB_ACCESS_REMOTE_WRITE;
IB_ACCESS_REMOTE_WRITE |
IB_ACCESS_REMOTE_WRITE |\
IB_ACCESS_REMOTE_WRITE |\
if (diffs & ~(IB_ACCESS_LOCAL_WRITE | IB_ACCESS_REMOTE_WRITE |
MLX5_SET(mkc, mkc, rw, !!(acc & IB_ACCESS_REMOTE_WRITE));
access_flags &= IB_ACCESS_REMOTE_WRITE;
MLX5_SET(qpc, qpc, rwe, !!(access_flags & IB_ACCESS_REMOTE_WRITE));
if (attr->qp_access_flags & IB_ACCESS_REMOTE_WRITE)
qp_attr->qp_access_flags |= IB_ACCESS_REMOTE_WRITE;
access_flags |= IB_ACCESS_REMOTE_WRITE;
MLX5_SET(mkc, seg, rw, !!(access_flags & IB_ACCESS_REMOTE_WRITE));
(acc & IB_ACCESS_REMOTE_WRITE ? MLX5_PERM_REMOTE_WRITE : 0) |
(acc & IB_ACCESS_REMOTE_WRITE ? MTHCA_MPT_FLAG_REMOTE_WRITE : 0) |
access_flags &= IB_ACCESS_REMOTE_WRITE;
if (access_flags & IB_ACCESS_REMOTE_WRITE)
ib_flags |= IB_ACCESS_REMOTE_WRITE;
ib_qp_acc_flags |= IB_ACCESS_REMOTE_WRITE;
if (wr->access & IB_ACCESS_REMOTE_WRITE)
mr->hwmr.remote_wr = (acc & IB_ACCESS_REMOTE_WRITE) ? 1 : 0;
if (acc & IB_ACCESS_REMOTE_WRITE && !(acc & IB_ACCESS_LOCAL_WRITE)) {
if (acc & IB_ACCESS_REMOTE_WRITE && !(acc & IB_ACCESS_LOCAL_WRITE))
mr->hwmr.remote_wr = (acc & IB_ACCESS_REMOTE_WRITE) ? 1 : 0;
IB_ACCESS_REMOTE_WRITE;
ib_qp_acc_flags |= IB_ACCESS_REMOTE_WRITE;
if (acc & IB_ACCESS_REMOTE_WRITE && !(acc & IB_ACCESS_LOCAL_WRITE))
mr->hw_mr.remote_write = (acc & IB_ACCESS_REMOTE_WRITE) ? 1 : 0;
mr->hw_mr.remote_write = (acc & IB_ACCESS_REMOTE_WRITE) ? 1 : 0;
!!(wr->access & IB_ACCESS_REMOTE_WRITE));
if (unlikely(!(qp->qp_access_flags & IB_ACCESS_REMOTE_WRITE)))
if (unlikely(!(qp->qp_access_flags & IB_ACCESS_REMOTE_WRITE)))
IB_ACCESS_REMOTE_WRITE)))
(IB_ACCESS_REMOTE_WRITE | IB_ACCESS_REMOTE_ATOMIC)) &&
!(qp->attr.qp_access_flags & IB_ACCESS_REMOTE_WRITE)) ||
!(qp->attr.qp_access_flags & IB_ACCESS_REMOTE_WRITE)) {
: IB_ACCESS_REMOTE_WRITE;
| IB_ACCESS_REMOTE_WRITE
(IB_ACCESS_LOCAL_WRITE | IB_ACCESS_REMOTE_WRITE | \
IB_ACCESS_REMOTE_WRITE, bytes);
IB_ACCESS_REMOTE_WRITE |
if (attr->qp_access_flags & IB_ACCESS_REMOTE_WRITE)
IB_ACCESS_REMOTE_WRITE;
IB_ACCESS_REMOTE_WRITE |
IB_ACCESS_REMOTE_WRITE),
IB_ACCESS_REMOTE_WRITE);
IB_ACCESS_REMOTE_WRITE);
IB_ACCESS_REMOTE_WRITE);
IB_ACCESS_REMOTE_WRITE);
IB_ACCESS_REMOTE_WRITE);
IB_ACCESS_REMOTE_WRITE;
IB_ACCESS_REMOTE_WRITE;
IB_ACCESS_REMOTE_WRITE | IB_ACCESS_LOCAL_WRITE :
if (flags & (IB_ACCESS_REMOTE_ATOMIC | IB_ACCESS_REMOTE_WRITE) &&
(IB_ACCESS_LOCAL_WRITE | IB_ACCESS_REMOTE_WRITE |
IB_ACCESS_REMOTE_WRITE;
IB_ACCESS_REMOTE_WRITE | IB_ACCESS_REMOTE_ATOMIC |
IB_ACCESS_REMOTE_WRITE | IB_ACCESS_LOCAL_WRITE :
| IB_ACCESS_REMOTE_WRITE;
lnk->wr_reg.access = IB_ACCESS_LOCAL_WRITE | IB_ACCESS_REMOTE_WRITE;
IB_ACCESS_REMOTE_WRITE | IB_ACCESS_LOCAL_WRITE :
reg_wr->access = IB_ACCESS_REMOTE_WRITE | IB_ACCESS_LOCAL_WRITE;