arch/arm64/include/asm/kvm_nested.h
391
struct s1_walk_result *wr, u64 va);
arch/arm64/kvm/at.c
1000
wr->pov = wi->poe;
arch/arm64/kvm/at.c
1001
wr->uov = wi->e0poe;
arch/arm64/kvm/at.c
1006
struct s1_walk_result *wr)
arch/arm64/kvm/at.c
1010
switch (wr->APTable) {
arch/arm64/kvm/at.c
1014
wr->ur = wr->uw = false;
arch/arm64/kvm/at.c
1017
wr->pw = wr->uw = false;
arch/arm64/kvm/at.c
1020
wr->pw = wr->ur = wr->uw = false;
arch/arm64/kvm/at.c
1024
wr->px &= !wr->PXNTable;
arch/arm64/kvm/at.c
1025
wr->ux &= !wr->UXNTable;
arch/arm64/kvm/at.c
1027
if (wr->APTable & BIT(1))
arch/arm64/kvm/at.c
1028
wr->pw = false;
arch/arm64/kvm/at.c
1031
wr->px &= !wr->UXNTable;
arch/arm64/kvm/at.c
1037
#define set_priv_perms(wr, r, w, x) \
arch/arm64/kvm/at.c
1039
(wr)->pr = (r); \
arch/arm64/kvm/at.c
1040
(wr)->pw = (w); \
arch/arm64/kvm/at.c
1041
(wr)->px = (x); \
arch/arm64/kvm/at.c
1044
#define set_unpriv_perms(wr, r, w, x) \
arch/arm64/kvm/at.c
1046
(wr)->ur = (r); \
arch/arm64/kvm/at.c
1047
(wr)->uw = (w); \
arch/arm64/kvm/at.c
1048
(wr)->ux = (x); \
arch/arm64/kvm/at.c
1051
#define set_priv_wxn(wr, v) \
arch/arm64/kvm/at.c
1053
(wr)->pwxn = (v); \
arch/arm64/kvm/at.c
1056
#define set_unpriv_wxn(wr, v) \
arch/arm64/kvm/at.c
1058
(wr)->uwxn = (v); \
arch/arm64/kvm/at.c
1062
#define set_perms(w, wr, ip) \
arch/arm64/kvm/at.c
1067
set_ ## w ## _perms((wr), false, false, false); \
arch/arm64/kvm/at.c
1070
set_ ## w ## _perms((wr), true , false, false); \
arch/arm64/kvm/at.c
1073
set_ ## w ## _perms((wr), false, false, true ); \
arch/arm64/kvm/at.c
1076
set_ ## w ## _perms((wr), true , false, true ); \
arch/arm64/kvm/at.c
1079
set_ ## w ## _perms((wr), false, false, false); \
arch/arm64/kvm/at.c
1082
set_ ## w ## _perms((wr), true , true , false); \
arch/arm64/kvm/at.c
1085
set_ ## w ## _perms((wr), true , true , true ); \
arch/arm64/kvm/at.c
1088
set_ ## w ## _perms((wr), true , true , true ); \
arch/arm64/kvm/at.c
1091
set_ ## w ## _perms((wr), true , false, false); \
arch/arm64/kvm/at.c
1094
set_ ## w ## _perms((wr), true , false, false); \
arch/arm64/kvm/at.c
1097
set_ ## w ## _perms((wr), true , false, true ); \
arch/arm64/kvm/at.c
1100
set_ ## w ## _perms((wr), false, false, false); \
arch/arm64/kvm/at.c
1103
set_ ## w ## _perms((wr), true , true , false); \
arch/arm64/kvm/at.c
1106
set_ ## w ## _perms((wr), false, false, false); \
arch/arm64/kvm/at.c
1109
set_ ## w ## _perms((wr), true , true , true ); \
arch/arm64/kvm/at.c
1112
set_ ## w ## _perms((wr), false, false, false); \
arch/arm64/kvm/at.c
1117
set_ ## w ## _wxn((wr), ((ip) == 0b0110)); \
arch/arm64/kvm/at.c
1123
struct s1_walk_result *wr)
arch/arm64/kvm/at.c
1127
idx = pte_pi_index(wr->desc);
arch/arm64/kvm/at.c
1144
set_perms(priv, wr, pp);
arch/arm64/kvm/at.c
1147
set_perms(unpriv, wr, up);
arch/arm64/kvm/at.c
1149
set_unpriv_perms(wr, false, false, false);
arch/arm64/kvm/at.c
1151
wr->pov = wi->poe && !(pp & BIT(3));
arch/arm64/kvm/at.c
1152
wr->uov = wi->e0poe && !(up & BIT(3));
arch/arm64/kvm/at.c
1155
if (wr->px && wr->uw) {
arch/arm64/kvm/at.c
1156
set_priv_perms(wr, false, false, false);
arch/arm64/kvm/at.c
1157
set_unpriv_perms(wr, false, false, false);
arch/arm64/kvm/at.c
1163
struct s1_walk_result *wr)
arch/arm64/kvm/at.c
1167
idx = FIELD_GET(PTE_PO_IDX_MASK, wr->desc);
arch/arm64/kvm/at.c
1169
if (wr->pov) {
arch/arm64/kvm/at.c
1186
if (wr->pwxn && (pov_perms & POE_X))
arch/arm64/kvm/at.c
1189
wr->pr &= pov_perms & POE_R;
arch/arm64/kvm/at.c
1190
wr->pw &= pov_perms & POE_W;
arch/arm64/kvm/at.c
1191
wr->px &= pov_perms & POE_X;
arch/arm64/kvm/at.c
1194
if (wr->uov) {
arch/arm64/kvm/at.c
1211
if (wr->uwxn && (uov_perms & POE_X))
arch/arm64/kvm/at.c
1214
wr->ur &= uov_perms & POE_R;
arch/arm64/kvm/at.c
1215
wr->uw &= uov_perms & POE_W;
arch/arm64/kvm/at.c
1216
wr->ux &= uov_perms & POE_X;
arch/arm64/kvm/at.c
1222
struct s1_walk_result *wr)
arch/arm64/kvm/at.c
1227
compute_s1_direct_permissions(vcpu, wi, wr);
arch/arm64/kvm/at.c
1229
compute_s1_indirect_permissions(vcpu, wi, wr);
arch/arm64/kvm/at.c
1232
compute_s1_hierarchical_permissions(vcpu, wi, wr);
arch/arm64/kvm/at.c
1234
compute_s1_overlay_permissions(vcpu, wi, wr);
arch/arm64/kvm/at.c
1237
if (!wr->pov)
arch/arm64/kvm/at.c
1238
wr->px &= !(wr->pwxn && wr->pw);
arch/arm64/kvm/at.c
1241
if (!wr->uov)
arch/arm64/kvm/at.c
1242
wr->ux &= !(wr->uwxn && wr->uw);
arch/arm64/kvm/at.c
1244
pan = wi->pan && (wr->ur || wr->uw ||
arch/arm64/kvm/at.c
1245
(pan3_enabled(vcpu, wi->regime) && wr->ux));
arch/arm64/kvm/at.c
1246
wr->pw &= !pan;
arch/arm64/kvm/at.c
1247
wr->pr &= !pan;
arch/arm64/kvm/at.c
1252
struct s1_walk_result wr = {};
arch/arm64/kvm/at.c
1262
ret = setup_s1_walk(vcpu, &wi, &wr, vaddr);
arch/arm64/kvm/at.c
1266
if (wr.level == S1_MMU_DISABLED)
arch/arm64/kvm/at.c
1271
ret = walk_s1(vcpu, &wi, &wr, vaddr);
arch/arm64/kvm/at.c
1283
compute_s1_permissions(vcpu, &wi, &wr);
arch/arm64/kvm/at.c
1289
perm_fail = !wr.pr;
arch/arm64/kvm/at.c
1294
perm_fail = !wr.pw;
arch/arm64/kvm/at.c
1297
perm_fail = !wr.ur;
arch/arm64/kvm/at.c
13
static void fail_s1_walk(struct s1_walk_result *wr, u8 fst, bool s1ptw)
arch/arm64/kvm/at.c
1300
perm_fail = !wr.uw;
arch/arm64/kvm/at.c
1310
fail_s1_walk(&wr, ESR_ELx_FSC_PERM_L(wr.level), false);
arch/arm64/kvm/at.c
1313
*par = compute_par_s1(vcpu, &wi, &wr);
arch/arm64/kvm/at.c
139
struct s1_walk_result *wr, u64 va)
arch/arm64/kvm/at.c
15
wr->fst = fst;
arch/arm64/kvm/at.c
1591
struct s1_walk_result *wr, u64 va)
arch/arm64/kvm/at.c
1595
ret = setup_s1_walk(vcpu, wi, wr, va);
arch/arm64/kvm/at.c
1599
if (wr->level == S1_MMU_DISABLED) {
arch/arm64/kvm/at.c
16
wr->ptw = s1ptw;
arch/arm64/kvm/at.c
1600
wr->ur = wr->uw = wr->ux = true;
arch/arm64/kvm/at.c
1601
wr->pr = wr->pw = wr->px = true;
arch/arm64/kvm/at.c
1603
ret = walk_s1(vcpu, wi, wr, va);
arch/arm64/kvm/at.c
1607
compute_s1_permissions(vcpu, wi, wr);
arch/arm64/kvm/at.c
1648
struct s1_walk_result wr = {};
arch/arm64/kvm/at.c
1656
ret = setup_s1_walk(vcpu, &wi, &wr, va);
arch/arm64/kvm/at.c
1661
if (WARN_ON_ONCE(wr.level == S1_MMU_DISABLED)) {
arch/arm64/kvm/at.c
1667
ret = walk_s1(vcpu, &wi, &wr, va);
arch/arm64/kvm/at.c
17
wr->s2 = s1ptw;
arch/arm64/kvm/at.c
18
wr->failed = true;
arch/arm64/kvm/at.c
249
wr->level = S1_MMU_DISABLED;
arch/arm64/kvm/at.c
256
wr->level = S1_MMU_DISABLED;
arch/arm64/kvm/at.c
260
if (wr->level == S1_MMU_DISABLED) {
arch/arm64/kvm/at.c
264
wr->pa = va;
arch/arm64/kvm/at.c
361
fail_s1_walk(wr, ESR_ELx_FSC_ADDRSZ_L(0), false);
arch/arm64/kvm/at.c
366
fail_s1_walk(wr, ESR_ELx_FSC_FAULT_L(wi->sl), false);
arch/arm64/kvm/at.c
403
struct s1_walk_result *wr, u64 va)
arch/arm64/kvm/at.c
426
fail_s1_walk(wr,
arch/arm64/kvm/at.c
433
fail_s1_walk(wr, ESR_ELx_FSC_PERM_L(level),
arch/arm64/kvm/at.c
455
fail_s1_walk(wr, ESR_ELx_FSC_SEA_TTW(level), false);
arch/arm64/kvm/at.c
475
wr->APTable |= FIELD_GET(S1_TABLE_AP, desc);
arch/arm64/kvm/at.c
476
wr->UXNTable |= FIELD_GET(PMD_TABLE_UXN, desc);
arch/arm64/kvm/at.c
477
wr->PXNTable |= FIELD_GET(PMD_TABLE_PXN, desc);
arch/arm64/kvm/at.c
518
fail_s1_walk(wr, ESR_ELx_FSC_PERM_L(level), true);
arch/arm64/kvm/at.c
530
fail_s1_walk(wr, ESR_ELx_FSC_ACCESS_L(level), false);
arch/arm64/kvm/at.c
536
wr->failed = false;
arch/arm64/kvm/at.c
537
wr->level = level;
arch/arm64/kvm/at.c
538
wr->desc = desc;
arch/arm64/kvm/at.c
539
wr->pa = baddr & GENMASK(52, va_bottom);
arch/arm64/kvm/at.c
540
wr->pa |= va & GENMASK_ULL(va_bottom - 1, 0);
arch/arm64/kvm/at.c
542
wr->nG = (wi->regime != TR_EL2) && (desc & PTE_NG);
arch/arm64/kvm/at.c
543
if (wr->nG)
arch/arm64/kvm/at.c
544
wr->asid = get_asid_by_regime(vcpu, wi->regime);
arch/arm64/kvm/at.c
549
fail_s1_walk(wr, ESR_ELx_FSC_ADDRSZ_L(level), false);
arch/arm64/kvm/at.c
552
fail_s1_walk(wr, ESR_ELx_FSC_FAULT_L(level), false);
arch/arm64/kvm/at.c
757
static u8 compute_s1_sh(struct s1_walk_info *wi, struct s1_walk_result *wr,
arch/arm64/kvm/at.c
768
sh = FIELD_GET(KVM_PTE_LEAF_ATTR_LO_S1_SH, wr->desc);
arch/arm64/kvm/at.c
873
struct s1_walk_result *wr)
arch/arm64/kvm/at.c
877
if (wr->failed) {
arch/arm64/kvm/at.c
880
par |= FIELD_PREP(SYS_PAR_EL1_FST, wr->fst);
arch/arm64/kvm/at.c
881
par |= wr->ptw ? SYS_PAR_EL1_PTW : 0;
arch/arm64/kvm/at.c
882
par |= wr->s2 ? SYS_PAR_EL1_S : 0;
arch/arm64/kvm/at.c
883
} else if (wr->level == S1_MMU_DISABLED) {
arch/arm64/kvm/at.c
886
par |= wr->pa & SYS_PAR_EL1_PA;
arch/arm64/kvm/at.c
907
mair >>= FIELD_GET(PTE_ATTRINDX_MASK, wr->desc) * 8;
arch/arm64/kvm/at.c
919
par |= wr->pa & SYS_PAR_EL1_PA;
arch/arm64/kvm/at.c
921
sh = compute_s1_sh(wi, wr, mair);
arch/arm64/kvm/at.c
948
struct s1_walk_result *wr)
arch/arm64/kvm/at.c
954
switch (FIELD_GET(PTE_USER | PTE_RDONLY, wr->desc)) {
arch/arm64/kvm/at.c
956
wr->pr = wr->pw = true;
arch/arm64/kvm/at.c
957
wr->ur = wr->uw = false;
arch/arm64/kvm/at.c
960
wr->pr = wr->pw = wr->ur = wr->uw = true;
arch/arm64/kvm/at.c
963
wr->pr = true;
arch/arm64/kvm/at.c
964
wr->pw = wr->ur = wr->uw = false;
arch/arm64/kvm/at.c
967
wr->pr = wr->ur = true;
arch/arm64/kvm/at.c
968
wr->pw = wr->uw = false;
arch/arm64/kvm/at.c
973
wr->px = !((wr->desc & PTE_PXN) || wr->uw);
arch/arm64/kvm/at.c
974
wr->ux = !(wr->desc & PTE_UXN);
arch/arm64/kvm/at.c
976
wr->ur = wr->uw = wr->ux = false;
arch/arm64/kvm/at.c
978
if (!(wr->desc & PTE_RDONLY)) {
arch/arm64/kvm/at.c
979
wr->pr = wr->pw = true;
arch/arm64/kvm/at.c
981
wr->pr = true;
arch/arm64/kvm/at.c
982
wr->pw = false;
arch/arm64/kvm/at.c
986
wr->px = !(wr->desc & PTE_UXN);
arch/arm64/kvm/at.c
999
wr->pwxn = wr->uwxn = wxn;
arch/arm64/kvm/nested.c
1288
vt->wr = (struct s1_walk_result){};
arch/arm64/kvm/nested.c
1295
ret = __kvm_translate_va(vcpu, &vt->wi, &vt->wr, va);
arch/arm64/kvm/nested.c
1304
gfn = vt->wr.pa >> PAGE_SHIFT;
arch/arm64/kvm/nested.c
1318
kvm_prepare_memory_fault_exit(vcpu, vt->wr.pa, PAGE_SIZE,
arch/arm64/kvm/nested.c
1334
kvm_release_faultin_page(vcpu->kvm, page, false, vt->wr.pw);
arch/arm64/kvm/nested.c
1337
if (vt->wr.pw)
arch/arm64/kvm/nested.c
1351
ESR_ELx_FSC_PERM_L(vt->wr.level));
arch/arm64/kvm/nested.c
1368
if (vt->wr.nG)
arch/arm64/kvm/nested.c
1369
return get_asid_by_regime(vcpu, TR_EL20) == vt->wr.asid;
arch/arm64/kvm/nested.c
1424
BUG_ON(!vt->wr.failed);
arch/arm64/kvm/nested.c
1427
esr |= FIELD_PREP(ESR_ELx_FSC, vt->wr.fst);
arch/arm64/kvm/nested.c
1472
if (vt->wr.nG && get_asid_by_regime(vcpu, TR_EL20) != vt->wr.asid)
arch/arm64/kvm/nested.c
1477
if (vt->wr.pw && vt->wr.pr)
arch/arm64/kvm/nested.c
1479
else if (vt->wr.pr)
arch/arm64/kvm/nested.c
24
struct s1_walk_result wr;
arch/arm64/kvm/nested.c
925
vt->wr.level));
arch/arm64/kvm/nested.c
926
ipa_start = vt->wr.pa & ~(ipa_size - 1);
arch/arm64/kvm/nested.c
965
vt->wr.level));
arch/arm64/kvm/nested.c
977
if (vt->wr.nG && vt->wr.asid != scope->asid)
arch/arm64/kvm/nested.c
988
if (!vt->wr.nG || vt->wr.asid != scope->asid)
arch/arm64/kvm/vgic/vgic-its.c
1741
#define REGISTER_ITS_DESC(off, rd, wr, length, acc) \
arch/arm64/kvm/vgic/vgic-its.c
1747
.its_write = wr, \
arch/arm64/kvm/vgic/vgic-its.c
1750
#define REGISTER_ITS_DESC_UACCESS(off, rd, wr, uwr, length, acc)\
arch/arm64/kvm/vgic/vgic-its.c
1756
.its_write = wr, \
arch/arm64/kvm/vgic/vgic-mmio-v3.c
607
#define REGISTER_DESC_WITH_BITS_PER_IRQ_SHARED(off, rd, wr, ur, uw, bpi, acc) \
arch/arm64/kvm/vgic/vgic-mmio-v3.c
621
.write = wr, \
arch/arm64/kvm/vgic/vgic-mmio.h
67
#define REGISTER_DESC_WITH_BITS_PER_IRQ(off, rd, wr, ur, uw, bpi, acc) \
arch/arm64/kvm/vgic/vgic-mmio.h
74
.write = wr, \
arch/arm64/kvm/vgic/vgic-mmio.h
79
#define REGISTER_DESC_WITH_LENGTH(off, rd, wr, length, acc) \
arch/arm64/kvm/vgic/vgic-mmio.h
86
.write = wr, \
arch/arm64/kvm/vgic/vgic-mmio.h
89
#define REGISTER_DESC_WITH_LENGTH_UACCESS(off, rd, wr, urd, uwr, length, acc) \
arch/arm64/kvm/vgic/vgic-mmio.h
96
.write = wr, \
arch/mips/include/asm/pci/bridge.h
187
u64 wr; /* write-only */
arch/mips/include/uapi/asm/ucontext.h
39
unsigned long long wr[32];
arch/mips/kernel/signal.c
189
err |= _save_msa_all_upper(&msa->wr);
arch/mips/kernel/signal.c
199
err |= __put_user(val, &msa->wr[i]);
arch/mips/kernel/signal.c
236
err |= _restore_msa_all_upper(&msa->wr);
arch/mips/kernel/signal.c
244
err |= __get_user(val, &msa->wr[i]);
arch/mips/mm/tlbex.c
1996
struct work_registers wr = build_get_work_registers(p);
arch/mips/mm/tlbex.c
1999
build_get_pmde64(p, l, r, wr.r1, wr.r2); /* get pmd in ptr */
arch/mips/mm/tlbex.c
2001
build_get_pgde32(p, wr.r1, wr.r2); /* get pgd in ptr */
arch/mips/mm/tlbex.c
2010
build_is_huge_pte(p, r, wr.r1, wr.r2, label_tlb_huge_update);
arch/mips/mm/tlbex.c
2013
UASM_i_MFC0(p, wr.r1, C0_BADVADDR);
arch/mips/mm/tlbex.c
2014
UASM_i_LW(p, wr.r2, 0, wr.r2);
arch/mips/mm/tlbex.c
2015
UASM_i_SRL(p, wr.r1, wr.r1, PAGE_SHIFT - PTE_T_LOG2);
arch/mips/mm/tlbex.c
2016
uasm_i_andi(p, wr.r1, wr.r1, (PTRS_PER_PTE - 1) << PTE_T_LOG2);
arch/mips/mm/tlbex.c
2017
UASM_i_ADDU(p, wr.r2, wr.r2, wr.r1);
arch/mips/mm/tlbex.c
2022
iPTE_LW(p, wr.r1, wr.r2); /* get even pte */
arch/mips/mm/tlbex.c
2028
uasm_i_mfc0(p, wr.r3, C0_INDEX);
arch/mips/mm/tlbex.c
2029
uasm_il_bltz(p, r, wr.r3, label_leave);
arch/mips/mm/tlbex.c
2033
return wr;
arch/mips/mm/tlbex.c
2059
struct work_registers wr;
arch/mips/mm/tlbex.c
2079
wr = build_r4000_tlbchange_handler_head(&p, &l, &r);
arch/mips/mm/tlbex.c
2080
build_pte_present(&p, &r, wr.r1, wr.r2, wr.r3, label_nopage_tlbl);
arch/mips/mm/tlbex.c
2090
uasm_il_bbit0(&p, &r, wr.r1, ilog2(_PAGE_VALID),
arch/mips/mm/tlbex.c
2093
uasm_i_andi(&p, wr.r3, wr.r1, _PAGE_VALID);
arch/mips/mm/tlbex.c
2094
uasm_il_beqz(&p, &r, wr.r3, label_tlbl_goaround1);
arch/mips/mm/tlbex.c
2113
uasm_i_bbit0(&p, wr.r2, ilog2(sizeof(pte_t)), 8);
arch/mips/mm/tlbex.c
2115
uasm_i_andi(&p, wr.r3, wr.r2, sizeof(pte_t));
arch/mips/mm/tlbex.c
2116
uasm_i_beqz(&p, wr.r3, 8);
arch/mips/mm/tlbex.c
2119
UASM_i_MFC0(&p, wr.r3, C0_ENTRYLO0);
arch/mips/mm/tlbex.c
2121
UASM_i_MFC0(&p, wr.r3, C0_ENTRYLO1);
arch/mips/mm/tlbex.c
2127
uasm_il_bbit1(&p, &r, wr.r3, 1, label_nopage_tlbl);
arch/mips/mm/tlbex.c
2131
uasm_i_andi(&p, wr.r3, wr.r3, 2);
arch/mips/mm/tlbex.c
2132
uasm_il_bnez(&p, &r, wr.r3, label_nopage_tlbl);
arch/mips/mm/tlbex.c
2137
build_make_valid(&p, &r, wr.r1, wr.r2, wr.r3);
arch/mips/mm/tlbex.c
2138
build_r4000_tlbchange_handler_tail(&p, &l, &r, wr.r1, wr.r2);
arch/mips/mm/tlbex.c
2146
iPTE_LW(&p, wr.r1, wr.r2);
arch/mips/mm/tlbex.c
2147
build_pte_present(&p, &r, wr.r1, wr.r2, wr.r3, label_nopage_tlbl);
arch/mips/mm/tlbex.c
2156
uasm_il_bbit0(&p, &r, wr.r1, ilog2(_PAGE_VALID),
arch/mips/mm/tlbex.c
2159
uasm_i_andi(&p, wr.r3, wr.r1, _PAGE_VALID);
arch/mips/mm/tlbex.c
2160
uasm_il_beqz(&p, &r, wr.r3, label_tlbl_goaround2);
arch/mips/mm/tlbex.c
2179
uasm_i_bbit0(&p, wr.r2, ilog2(sizeof(pte_t)), 8);
arch/mips/mm/tlbex.c
2181
uasm_i_andi(&p, wr.r3, wr.r2, sizeof(pte_t));
arch/mips/mm/tlbex.c
2182
uasm_i_beqz(&p, wr.r3, 8);
arch/mips/mm/tlbex.c
2185
UASM_i_MFC0(&p, wr.r3, C0_ENTRYLO0);
arch/mips/mm/tlbex.c
2187
UASM_i_MFC0(&p, wr.r3, C0_ENTRYLO1);
arch/mips/mm/tlbex.c
2193
uasm_il_bbit0(&p, &r, wr.r3, 1, label_tlbl_goaround2);
arch/mips/mm/tlbex.c
2195
uasm_i_andi(&p, wr.r3, wr.r3, 2);
arch/mips/mm/tlbex.c
2196
uasm_il_beqz(&p, &r, wr.r3, label_tlbl_goaround2);
arch/mips/mm/tlbex.c
2204
build_restore_pagemask(&p, &r, wr.r3, label_nopage_tlbl, 0);
arch/mips/mm/tlbex.c
2208
uasm_i_ori(&p, wr.r1, wr.r1, (_PAGE_ACCESSED | _PAGE_VALID));
arch/mips/mm/tlbex.c
2209
build_huge_handler_tail(&p, &r, &l, wr.r1, wr.r2, 1);
arch/mips/mm/tlbex.c
2241
struct work_registers wr;
arch/mips/mm/tlbex.c
2247
wr = build_r4000_tlbchange_handler_head(&p, &l, &r);
arch/mips/mm/tlbex.c
2248
build_pte_writable(&p, &r, wr.r1, wr.r2, wr.r3, label_nopage_tlbs);
arch/mips/mm/tlbex.c
2251
build_make_write(&p, &r, wr.r1, wr.r2, wr.r3);
arch/mips/mm/tlbex.c
2252
build_r4000_tlbchange_handler_tail(&p, &l, &r, wr.r1, wr.r2);
arch/mips/mm/tlbex.c
2260
iPTE_LW(&p, wr.r1, wr.r2);
arch/mips/mm/tlbex.c
2261
build_pte_writable(&p, &r, wr.r1, wr.r2, wr.r3, label_nopage_tlbs);
arch/mips/mm/tlbex.c
2263
uasm_i_ori(&p, wr.r1, wr.r1,
arch/mips/mm/tlbex.c
2265
build_huge_handler_tail(&p, &r, &l, wr.r1, wr.r2, 1);
arch/mips/mm/tlbex.c
2297
struct work_registers wr;
arch/mips/mm/tlbex.c
2303
wr = build_r4000_tlbchange_handler_head(&p, &l, &r);
arch/mips/mm/tlbex.c
2304
build_pte_modifiable(&p, &r, wr.r1, wr.r2, wr.r3, label_nopage_tlbm);
arch/mips/mm/tlbex.c
2308
build_make_write(&p, &r, wr.r1, wr.r2, wr.r3);
arch/mips/mm/tlbex.c
2309
build_r4000_tlbchange_handler_tail(&p, &l, &r, wr.r1, wr.r2);
arch/mips/mm/tlbex.c
2317
iPTE_LW(&p, wr.r1, wr.r2);
arch/mips/mm/tlbex.c
2318
build_pte_modifiable(&p, &r, wr.r1, wr.r2, wr.r3, label_nopage_tlbm);
arch/mips/mm/tlbex.c
2320
uasm_i_ori(&p, wr.r1, wr.r1,
arch/mips/mm/tlbex.c
2322
build_huge_handler_tail(&p, &r, &l, wr.r1, wr.r2, 0);
arch/s390/kvm/faultin.h
20
gfn_t gfn, bool wr)
arch/s390/kvm/faultin.h
22
struct guest_fault f = { .gfn = gfn, .write_attempt = wr, };
arch/s390/kvm/gaccess.c
1279
static int walk_guest_tables(struct gmap *sg, unsigned long saddr, struct pgtwalk *w, bool wr)
arch/s390/kvm/gaccess.c
1416
if (wr && w->p)
arch/s390/kvm/gaccess.c
1419
return kvm_s390_get_guest_page(kvm, entries + LEVEL_MEM, table.pte.pfra, wr);
arch/s390/kvm/gaccess.c
1631
union mvpg_pei *datptr, bool wr)
arch/s390/kvm/gaccess.c
1641
rc = walk_guest_tables(sg, saddr, &walk, wr);
arch/s390/kvm/gaccess.c
1644
datptr->dat_prot = wr && walk.p;
arch/s390/kvm/gaccess.c
1656
union mvpg_pei *datptr, bool wr)
arch/s390/kvm/gaccess.c
1668
rc = __gaccess_shadow_fault(vcpu, sg, saddr, datptr, wr || sg->guest_asce.r);
arch/s390/kvm/gaccess.h
464
union mvpg_pei *datptr, bool wr);
arch/s390/kvm/gmap.c
1006
kvm_pfn_t pfn, int level, bool wr)
arch/s390/kvm/gmap.c
1031
pte = ptep->s.pr ? *ptep : _pte(pfn, wr, false, false);
arch/s390/kvm/gmap.h
103
kvm_pfn_t pfn, int level, bool wr);
arch/s390/kvm/kvm-s390.c
4529
static int vcpu_dat_fault_handler(struct kvm_vcpu *vcpu, gpa_t gaddr, bool wr)
arch/s390/kvm/kvm-s390.c
4532
.write_attempt = wr,
arch/s390/kvm/vsie.c
930
bool wr = kvm_s390_cur_gmap_fault_is_write();
arch/s390/kvm/vsie.c
938
rc = gaccess_shadow_fault(vcpu, sg, current->thread.gmap_teid.addr * PAGE_SIZE, NULL, wr);
arch/s390/kvm/vsie.c
941
current->thread.gmap_teid.addr * PAGE_SIZE, wr);
arch/sparc/include/asm/backoff.h
63
wr tmp, 0, %asr27; \
arch/sparc/include/asm/visasm.h
23
297: wr %g0, FPRS_FEF, %fprs; \
arch/sparc/include/asm/visasm.h
26
wr %g0, 0, %fprs;
arch/sparc/include/asm/visasm.h
43
297: wr %o5, FPRS_FEF, %fprs;
arch/sparc/include/asm/visasm.h
46
wr %o5, 0, %fprs;
arch/sparc/include/asm/winmacro.h
52
wr %scratch, 0x0, %y;
arch/x86/events/intel/core.c
3246
if (old.thresh == ARCH_PEBS_THRESH_MULTI && old.wr > 0) {
arch/x86/events/intel/core.c
3253
new.wr = 0;
arch/x86/events/intel/ds.c
3241
if (unlikely(!index.wr)) {
arch/x86/events/intel/ds.c
3247
top = cpuc->pebs_vaddr + (index.wr << ARCH_PEBS_INDEX_WR_SHIFT);
arch/x86/events/intel/ds.c
3249
index.wr = 0;
arch/x86/include/asm/perf_event.h
523
wr:23,
arch/x86/kvm/vmx/nested.c
5219
u32 vmx_instruction_info, bool wr, int len, gva_t *ret)
arch/x86/kvm/vmx/nested.c
5304
if (wr)
arch/x86/kvm/vmx/nested.h
54
u32 vmx_instruction_info, bool wr, int len, gva_t *ret);
drivers/crypto/atmel-sha.c
170
static const char *atmel_sha_reg_name(u32 offset, char *tmp, size_t sz, bool wr)
drivers/crypto/atmel-sha.c
232
if (wr)
drivers/crypto/intel/qat/qat_common/adf_pm_dbgfs_utils.c
17
int wr = 0;
drivers/crypto/intel/qat/qat_common/adf_pm_dbgfs_utils.c
26
wr += scnprintf(&buff[wr], buff_size - wr, "%s: %#x\n", key,
drivers/crypto/intel/qat/qat_common/adf_pm_dbgfs_utils.c
31
return wr;
drivers/dma/dw-edma/dw-edma-v0-core.c
101
return &__dw_regs(dw)->type.unroll.ch[ch].wr;
drivers/dma/dw-edma/dw-edma-v0-debugfs.c
32
__ch_regs = REGS_ADDR(dw, type.unroll.ch[_ch].wr); \
drivers/dma/dw-edma/dw-edma-v0-regs.h
55
struct dw_edma_v0_ch_regs wr; /* 0x0200 */
drivers/dma/dw-edma/dw-hdma-v0-core.c
35
return &(__dw_regs(dw)->ch[ch].wr);
drivers/dma/dw-edma/dw-hdma-v0-debugfs.c
30
__ch_regs = REGS_ADDR(dw, ch[_ch].wr); \
drivers/dma/dw-edma/dw-hdma-v0-regs.h
90
struct dw_hdma_v0_ch_regs wr; /* 0x0000 */
drivers/gpu/drm/i915/gt/uc/guc_capture_fwif.h
26
u32 wr;
drivers/gpu/drm/i915/gt/uc/intel_guc_capture.c
1341
buf.wr = write_offset;
drivers/gpu/drm/i915/gt/uc/intel_guc_capture.c
745
if (buf->wr >= buf->rd)
drivers/gpu/drm/i915/gt/uc/intel_guc_capture.c
746
return (buf->wr - buf->rd);
drivers/gpu/drm/i915/gt/uc/intel_guc_capture.c
747
return (buf->size - buf->rd) + buf->wr;
drivers/gpu/drm/i915/gt/uc/intel_guc_capture.c
752
if (buf->rd > buf->wr)
drivers/gpu/drm/i915/gt/uc/intel_guc_capture.c
754
return (buf->wr - buf->rd);
drivers/gpu/drm/nouveau/include/nvkm/core/falcon.h
29
void (*wr)(struct nvkm_falcon *, u8 port, const u8 *img, int len, u16 tag);
drivers/gpu/drm/nouveau/nvkm/falcon/base.c
182
if (WARN_ON(!pio || !pio->wr))
drivers/gpu/drm/nouveau/nvkm/falcon/base.c
192
pio->wr(falcon, port, img, xfer_len, tag++);
drivers/gpu/drm/nouveau/nvkm/falcon/gm200.c
119
.wr = gm200_flcn_pio_imem_wr,
drivers/gpu/drm/nouveau/nvkm/falcon/gm200.c
92
.wr = gm200_flcn_pio_dmem_wr,
drivers/gpu/drm/nouveau/nvkm/falcon/gp102.c
61
.wr = gp102_flcn_pio_emem_wr,
drivers/gpu/drm/xe/xe_guc_capture.c
1423
buf.wr = write_offset;
drivers/gpu/drm/xe/xe_guc_capture.c
50
u32 wr;
drivers/gpu/drm/xe/xe_guc_capture.c
986
if (buf->wr >= buf->rd)
drivers/gpu/drm/xe/xe_guc_capture.c
987
return (buf->wr - buf->rd);
drivers/gpu/drm/xe/xe_guc_capture.c
988
return (buf->size - buf->rd) + buf->wr;
drivers/gpu/drm/xe/xe_guc_capture.c
993
if (buf->rd > buf->wr)
drivers/gpu/drm/xe/xe_guc_capture.c
995
return (buf->wr - buf->rd);
drivers/i2c/busses/i2c-ocores.c
500
u32 curr, wr;
drivers/i2c/busses/i2c-ocores.c
508
wr = (curr & 0xff00) | value;
drivers/i2c/busses/i2c-ocores.c
510
wr = (((u32)value) << 8) | (curr & 0xff);
drivers/i2c/busses/i2c-ocores.c
512
wr = value;
drivers/i2c/busses/i2c-ocores.c
514
iowrite32be(wr, i2c->base + (rreg << i2c->reg_shift));
drivers/iio/imu/adis16550.c
200
bool wr = readval ? false : true;
drivers/iio/imu/adis16550.c
224
adis16550_spi_msg_prepare(reg + 1, wr, writeval >> 16,
drivers/iio/imu/adis16550.c
229
adis16550_spi_msg_prepare(reg, wr, writeval, &st->din[1]);
drivers/infiniband/core/mad.c
1033
mad_send_wr->send_wr.wr.wr_cqe = &mad_send_wr->mad_list.cqe;
drivers/infiniband/core/mad.c
1061
ret = ib_post_send(mad_agent->qp, &mad_send_wr->send_wr.wr,
drivers/infiniband/core/mad.c
1865
static inline int rcv_has_same_class(const struct ib_mad_send_wr_private *wr,
drivers/infiniband/core/mad.c
1868
return ((struct ib_mad_hdr *)(wr->send_buf.mad))->mgmt_class ==
drivers/infiniband/core/mad.c
1874
const struct ib_mad_send_wr_private *wr,
drivers/infiniband/core/mad.c
1885
send_resp = ib_response_mad((struct ib_mad_hdr *)wr->send_buf.mad);
drivers/infiniband/core/mad.c
1892
if (rdma_query_ah(wr->send_buf.ah, &attr))
drivers/infiniband/core/mad.c
1938
struct ib_mad_send_wr_private *wr;
drivers/infiniband/core/mad.c
1943
list_for_each_entry(wr, &mad_agent_priv->wait_list, agent_list) {
drivers/infiniband/core/mad.c
1944
if ((wr->tid == mad_hdr->tid) &&
drivers/infiniband/core/mad.c
1945
rcv_has_same_class(wr, wc) &&
drivers/infiniband/core/mad.c
1951
rcv_has_same_gid(mad_agent_priv, wr, wc)))
drivers/infiniband/core/mad.c
1952
return (wr->state != IB_MAD_STATE_CANCELED) ? wr : NULL;
drivers/infiniband/core/mad.c
1955
list_for_each_entry(wr, &mad_agent_priv->backlog_list, agent_list) {
drivers/infiniband/core/mad.c
1956
if ((wr->tid == mad_hdr->tid) &&
drivers/infiniband/core/mad.c
1957
rcv_has_same_class(wr, wc) &&
drivers/infiniband/core/mad.c
1963
rcv_has_same_gid(mad_agent_priv, wr, wc)))
drivers/infiniband/core/mad.c
1964
return (wr->state != IB_MAD_STATE_CANCELED) ? wr : NULL;
drivers/infiniband/core/mad.c
1971
list_for_each_entry(wr, &mad_agent_priv->send_list, agent_list) {
drivers/infiniband/core/mad.c
1972
if (is_rmpp_data_mad(mad_agent_priv, wr->send_buf.mad) &&
drivers/infiniband/core/mad.c
1973
wr->tid == mad_hdr->tid &&
drivers/infiniband/core/mad.c
1974
wr->timeout &&
drivers/infiniband/core/mad.c
1975
rcv_has_same_class(wr, wc) &&
drivers/infiniband/core/mad.c
1981
rcv_has_same_gid(mad_agent_priv, wr, wc)))
drivers/infiniband/core/mad.c
1983
return (wr->state != IB_MAD_STATE_CANCELED) ? wr : NULL;
drivers/infiniband/core/mad.c
2558
ret = ib_post_send(qp_info->qp, &queued_send_wr->send_wr.wr,
drivers/infiniband/core/mad.c
2606
ret = ib_post_send(qp_info->qp, &mad_send_wr->send_wr.wr,
drivers/infiniband/core/mad.c
2788
local->mad_send_wr->send_wr.wr.wr_cqe,
drivers/infiniband/core/mad.c
62
struct ib_ud_wr *wr = &mad_send_wr->send_wr;
drivers/infiniband/core/mad.c
65
rdma_query_ah(wr->ah, &attr);
drivers/infiniband/core/mad.c
69
entry->rqpn = wr->remote_qpn;
drivers/infiniband/core/mad.c
70
entry->rqkey = wr->remote_qkey;
drivers/infiniband/core/mad.c
716
send_wr->wr.wr_cqe, drslid,
drivers/infiniband/core/mad.c
920
mad_send_wr->send_wr.wr.wr_cqe = &mad_send_wr->mad_list.cqe;
drivers/infiniband/core/mad.c
921
mad_send_wr->send_wr.wr.sg_list = mad_send_wr->sg_list;
drivers/infiniband/core/mad.c
922
mad_send_wr->send_wr.wr.num_sge = 2;
drivers/infiniband/core/mad.c
923
mad_send_wr->send_wr.wr.opcode = IB_WR_SEND;
drivers/infiniband/core/mad.c
924
mad_send_wr->send_wr.wr.send_flags = IB_SEND_SIGNALED;
drivers/infiniband/core/mad_rmpp.c
630
static inline void adjust_last_ack(struct ib_mad_send_wr_private *wr,
drivers/infiniband/core/mad_rmpp.c
635
wr->last_ack = seg_num;
drivers/infiniband/core/mad_rmpp.c
636
list = &wr->last_ack_seg->list;
drivers/infiniband/core/mad_rmpp.c
637
list_for_each_entry(wr->last_ack_seg, list, list)
drivers/infiniband/core/mad_rmpp.c
638
if (wr->last_ack_seg->num == seg_num)
drivers/infiniband/core/rw.c
113
reg->reg_wr.wr.opcode = IB_WR_REG_MR;
drivers/infiniband/core/rw.c
131
prev->wr.wr.next = ®->inv_wr;
drivers/infiniband/core/rw.c
133
prev->wr.wr.next = ®->reg_wr.wr;
drivers/infiniband/core/rw.c
136
reg->reg_wr.wr.next = ®->wr.wr;
drivers/infiniband/core/rw.c
138
reg->wr.wr.sg_list = ®->sge;
drivers/infiniband/core/rw.c
139
reg->wr.wr.num_sge = 1;
drivers/infiniband/core/rw.c
140
reg->wr.remote_addr = remote_addr;
drivers/infiniband/core/rw.c
141
reg->wr.rkey = rkey;
drivers/infiniband/core/rw.c
144
reg->wr.wr.opcode = IB_WR_RDMA_WRITE;
drivers/infiniband/core/rw.c
146
reg->wr.wr.opcode = IB_WR_RDMA_READ;
drivers/infiniband/core/rw.c
148
reg->wr.wr.opcode = IB_WR_RDMA_READ_WITH_INV;
drivers/infiniband/core/rw.c
149
reg->wr.wr.ex.invalidate_rkey = reg->mr->lkey;
drivers/infiniband/core/rw.c
191
prev->wr.wr.next = NULL;
drivers/infiniband/core/rw.c
271
prev->wr.wr.next = NULL;
drivers/infiniband/core/rw.c
311
rdma_wr->wr.opcode = IB_WR_RDMA_WRITE;
drivers/infiniband/core/rw.c
313
rdma_wr->wr.opcode = IB_WR_RDMA_READ;
drivers/infiniband/core/rw.c
316
rdma_wr->wr.num_sge = nr_sge;
drivers/infiniband/core/rw.c
317
rdma_wr->wr.sg_list = sge;
drivers/infiniband/core/rw.c
330
rdma_wr->wr.next = i + 1 < ctx->nr_ops ?
drivers/infiniband/core/rw.c
331
&ctx->map.wrs[i + 1].wr : NULL;
drivers/infiniband/core/rw.c
347
struct ib_rdma_wr *rdma_wr = &ctx->single.wr;
drivers/infiniband/core/rw.c
357
rdma_wr->wr.opcode = IB_WR_RDMA_WRITE;
drivers/infiniband/core/rw.c
359
rdma_wr->wr.opcode = IB_WR_RDMA_READ;
drivers/infiniband/core/rw.c
360
rdma_wr->wr.sg_list = &ctx->single.sge;
drivers/infiniband/core/rw.c
361
rdma_wr->wr.num_sge = 1;
drivers/infiniband/core/rw.c
375
struct ib_rdma_wr *rdma_wr = &ctx->single.wr;
drivers/infiniband/core/rw.c
391
rdma_wr->wr.opcode = IB_WR_RDMA_WRITE;
drivers/infiniband/core/rw.c
393
rdma_wr->wr.opcode = IB_WR_RDMA_READ;
drivers/infiniband/core/rw.c
394
rdma_wr->wr.sg_list = &ctx->single.sge;
drivers/infiniband/core/rw.c
395
rdma_wr->wr.num_sge = 1;
drivers/infiniband/core/rw.c
435
rdma_wr->wr.opcode = IB_WR_RDMA_WRITE;
drivers/infiniband/core/rw.c
437
rdma_wr->wr.opcode = IB_WR_RDMA_READ;
drivers/infiniband/core/rw.c
440
rdma_wr->wr.num_sge = nr_sge;
drivers/infiniband/core/rw.c
441
rdma_wr->wr.sg_list = sge;
drivers/infiniband/core/rw.c
462
rdma_wr->wr.next = i + 1 < nr_ops ?
drivers/infiniband/core/rw.c
463
&ctx->map.wrs[i + 1].wr : NULL;
drivers/infiniband/core/rw.c
535
memset(&ctx->iova.wr, 0, sizeof(ctx->iova.wr));
drivers/infiniband/core/rw.c
537
ctx->iova.wr.wr.opcode = IB_WR_RDMA_WRITE;
drivers/infiniband/core/rw.c
539
ctx->iova.wr.wr.opcode = IB_WR_RDMA_READ;
drivers/infiniband/core/rw.c
540
ctx->iova.wr.wr.num_sge = 1;
drivers/infiniband/core/rw.c
541
ctx->iova.wr.wr.sg_list = &ctx->iova.sge;
drivers/infiniband/core/rw.c
542
ctx->iova.wr.remote_addr = remote_addr;
drivers/infiniband/core/rw.c
543
ctx->iova.wr.rkey = rkey;
drivers/infiniband/core/rw.c
798
ctx->reg->reg_wr.wr.opcode = IB_WR_REG_MR_INTEGRITY;
drivers/infiniband/core/rw.c
799
ctx->reg->reg_wr.wr.wr_cqe = NULL;
drivers/infiniband/core/rw.c
800
ctx->reg->reg_wr.wr.num_sge = 0;
drivers/infiniband/core/rw.c
801
ctx->reg->reg_wr.wr.send_flags = 0;
drivers/infiniband/core/rw.c
814
rdma_wr = &ctx->reg->wr;
drivers/infiniband/core/rw.c
815
rdma_wr->wr.sg_list = &ctx->reg->sge;
drivers/infiniband/core/rw.c
816
rdma_wr->wr.num_sge = 1;
drivers/infiniband/core/rw.c
82
reg->inv_wr.next = ®->reg_wr.wr;
drivers/infiniband/core/rw.c
820
rdma_wr->wr.opcode = IB_WR_RDMA_WRITE;
drivers/infiniband/core/rw.c
822
rdma_wr->wr.opcode = IB_WR_RDMA_READ;
drivers/infiniband/core/rw.c
823
ctx->reg->reg_wr.wr.next = &rdma_wr->wr;
drivers/infiniband/core/rw.c
880
ctx->reg[i].wr.wr.opcode !=
drivers/infiniband/core/rw.c
887
first_wr = &ctx->reg[0].reg_wr.wr;
drivers/infiniband/core/rw.c
888
last_wr = &ctx->reg[ctx->nr_ops - 1].wr.wr;
drivers/infiniband/core/rw.c
891
first_wr = &ctx->iova.wr.wr;
drivers/infiniband/core/rw.c
892
last_wr = &ctx->iova.wr.wr;
drivers/infiniband/core/rw.c
895
first_wr = &ctx->map.wrs[0].wr;
drivers/infiniband/core/rw.c
896
last_wr = &ctx->map.wrs[ctx->nr_ops - 1].wr;
drivers/infiniband/core/rw.c
899
first_wr = &ctx->single.wr.wr;
drivers/infiniband/core/rw.c
900
last_wr = &ctx->single.wr.wr;
drivers/infiniband/core/uverbs_cmd.c
2025
struct ib_send_wr *wr = NULL, *last, *next;
drivers/infiniband/core/uverbs_cmd.c
2097
user_wr->wr.ud.ah, attrs);
drivers/infiniband/core/uverbs_cmd.c
2103
ud->remote_qpn = user_wr->wr.ud.remote_qpn;
drivers/infiniband/core/uverbs_cmd.c
2104
ud->remote_qkey = user_wr->wr.ud.remote_qkey;
drivers/infiniband/core/uverbs_cmd.c
2106
next = &ud->wr;
drivers/infiniband/core/uverbs_cmd.c
2119
rdma->remote_addr = user_wr->wr.rdma.remote_addr;
drivers/infiniband/core/uverbs_cmd.c
2120
rdma->rkey = user_wr->wr.rdma.rkey;
drivers/infiniband/core/uverbs_cmd.c
2122
next = &rdma->wr;
drivers/infiniband/core/uverbs_cmd.c
2134
atomic->remote_addr = user_wr->wr.atomic.remote_addr;
drivers/infiniband/core/uverbs_cmd.c
2135
atomic->compare_add = user_wr->wr.atomic.compare_add;
drivers/infiniband/core/uverbs_cmd.c
2136
atomic->swap = user_wr->wr.atomic.swap;
drivers/infiniband/core/uverbs_cmd.c
2137
atomic->rkey = user_wr->wr.atomic.rkey;
drivers/infiniband/core/uverbs_cmd.c
2139
next = &atomic->wr;
drivers/infiniband/core/uverbs_cmd.c
2163
wr = next;
drivers/infiniband/core/uverbs_cmd.c
2189
ret = qp->device->ops.post_send(qp->real_qp, wr, &bad_wr);
drivers/infiniband/core/uverbs_cmd.c
2191
for (next = wr; next; next = next->next) {
drivers/infiniband/core/uverbs_cmd.c
2205
while (wr) {
drivers/infiniband/core/uverbs_cmd.c
2206
if (is_ud && ud_wr(wr)->ah)
drivers/infiniband/core/uverbs_cmd.c
2207
uobj_put_obj_read(ud_wr(wr)->ah);
drivers/infiniband/core/uverbs_cmd.c
2208
next = wr->next;
drivers/infiniband/core/uverbs_cmd.c
2209
kfree(wr);
drivers/infiniband/core/uverbs_cmd.c
2210
wr = next;
drivers/infiniband/core/uverbs_cmd.c
2224
struct ib_recv_wr *wr = NULL, *last, *next;
drivers/infiniband/core/uverbs_cmd.c
2279
wr = next;
drivers/infiniband/core/uverbs_cmd.c
2303
return wr;
drivers/infiniband/core/uverbs_cmd.c
2308
while (wr) {
drivers/infiniband/core/uverbs_cmd.c
2309
next = wr->next;
drivers/infiniband/core/uverbs_cmd.c
2310
kfree(wr);
drivers/infiniband/core/uverbs_cmd.c
2311
wr = next;
drivers/infiniband/core/uverbs_cmd.c
2321
struct ib_recv_wr *wr, *next;
drivers/infiniband/core/uverbs_cmd.c
2331
wr = ib_uverbs_unmarshall_recv(&iter, cmd.wr_count, cmd.wqe_size,
drivers/infiniband/core/uverbs_cmd.c
2333
if (IS_ERR(wr))
drivers/infiniband/core/uverbs_cmd.c
2334
return PTR_ERR(wr);
drivers/infiniband/core/uverbs_cmd.c
2343
ret = qp->device->ops.post_recv(qp->real_qp, wr, &bad_wr);
drivers/infiniband/core/uverbs_cmd.c
2348
for (next = wr; next; next = next->next) {
drivers/infiniband/core/uverbs_cmd.c
2359
while (wr) {
drivers/infiniband/core/uverbs_cmd.c
2360
next = wr->next;
drivers/infiniband/core/uverbs_cmd.c
2361
kfree(wr);
drivers/infiniband/core/uverbs_cmd.c
2362
wr = next;
drivers/infiniband/core/uverbs_cmd.c
2372
struct ib_recv_wr *wr, *next;
drivers/infiniband/core/uverbs_cmd.c
2382
wr = ib_uverbs_unmarshall_recv(&iter, cmd.wr_count, cmd.wqe_size,
drivers/infiniband/core/uverbs_cmd.c
2384
if (IS_ERR(wr))
drivers/infiniband/core/uverbs_cmd.c
2385
return PTR_ERR(wr);
drivers/infiniband/core/uverbs_cmd.c
2394
ret = srq->device->ops.post_srq_recv(srq, wr, &bad_wr);
drivers/infiniband/core/uverbs_cmd.c
2400
for (next = wr; next; next = next->next) {
drivers/infiniband/core/uverbs_cmd.c
2411
while (wr) {
drivers/infiniband/core/uverbs_cmd.c
2412
next = wr->next;
drivers/infiniband/core/uverbs_cmd.c
2413
kfree(wr);
drivers/infiniband/core/uverbs_cmd.c
2414
wr = next;
drivers/infiniband/core/verbs.c
2896
.wr = {
drivers/infiniband/core/verbs.c
2913
ret = ib_post_send(qp, &swr.wr, NULL);
drivers/infiniband/hw/bnxt_re/ib_verbs.c
2037
int bnxt_re_post_srq_recv(struct ib_srq *ib_srq, const struct ib_recv_wr *wr,
drivers/infiniband/hw/bnxt_re/ib_verbs.c
2047
while (wr) {
drivers/infiniband/hw/bnxt_re/ib_verbs.c
2049
wqe.num_sge = wr->num_sge;
drivers/infiniband/hw/bnxt_re/ib_verbs.c
2050
bnxt_re_build_sgl(wr->sg_list, wqe.sg_list, wr->num_sge);
drivers/infiniband/hw/bnxt_re/ib_verbs.c
2051
wqe.wr_id = wr->wr_id;
drivers/infiniband/hw/bnxt_re/ib_verbs.c
2056
*bad_wr = wr;
drivers/infiniband/hw/bnxt_re/ib_verbs.c
2059
wr = wr->next;
drivers/infiniband/hw/bnxt_re/ib_verbs.c
2417
const struct ib_send_wr *wr,
drivers/infiniband/hw/bnxt_re/ib_verbs.c
2421
struct bnxt_re_ah *ah = container_of(ud_wr(wr)->ah, struct bnxt_re_ah,
drivers/infiniband/hw/bnxt_re/ib_verbs.c
2518
if (wr->opcode == IB_WR_SEND_WITH_IMM) {
drivers/infiniband/hw/bnxt_re/ib_verbs.c
2524
if (wr->send_flags & IB_SEND_SOLICITED)
drivers/infiniband/hw/bnxt_re/ib_verbs.c
2591
const struct ib_recv_wr *wr,
drivers/infiniband/hw/bnxt_re/ib_verbs.c
2640
const struct ib_send_wr *wr,
drivers/infiniband/hw/bnxt_re/ib_verbs.c
2646
ah = container_of(ud_wr(wr)->ah, struct bnxt_re_ah, ib_ah);
drivers/infiniband/hw/bnxt_re/ib_verbs.c
2647
wqe->send.q_key = ud_wr(wr)->remote_qkey;
drivers/infiniband/hw/bnxt_re/ib_verbs.c
2648
wqe->send.dst_qp = ud_wr(wr)->remote_qpn;
drivers/infiniband/hw/bnxt_re/ib_verbs.c
2651
switch (wr->opcode) {
drivers/infiniband/hw/bnxt_re/ib_verbs.c
2657
wqe->send.imm_data = be32_to_cpu(wr->ex.imm_data);
drivers/infiniband/hw/bnxt_re/ib_verbs.c
2661
wqe->send.inv_key = wr->ex.invalidate_rkey;
drivers/infiniband/hw/bnxt_re/ib_verbs.c
2666
if (wr->send_flags & IB_SEND_SIGNALED)
drivers/infiniband/hw/bnxt_re/ib_verbs.c
2668
if (wr->send_flags & IB_SEND_FENCE)
drivers/infiniband/hw/bnxt_re/ib_verbs.c
2670
if (wr->send_flags & IB_SEND_SOLICITED)
drivers/infiniband/hw/bnxt_re/ib_verbs.c
2672
if (wr->send_flags & IB_SEND_INLINE)
drivers/infiniband/hw/bnxt_re/ib_verbs.c
2678
static int bnxt_re_build_rdma_wqe(const struct ib_send_wr *wr,
drivers/infiniband/hw/bnxt_re/ib_verbs.c
2681
switch (wr->opcode) {
drivers/infiniband/hw/bnxt_re/ib_verbs.c
2687
wqe->rdma.imm_data = be32_to_cpu(wr->ex.imm_data);
drivers/infiniband/hw/bnxt_re/ib_verbs.c
2691
wqe->rdma.inv_key = wr->ex.invalidate_rkey;
drivers/infiniband/hw/bnxt_re/ib_verbs.c
2696
wqe->rdma.remote_va = rdma_wr(wr)->remote_addr;
drivers/infiniband/hw/bnxt_re/ib_verbs.c
2697
wqe->rdma.r_key = rdma_wr(wr)->rkey;
drivers/infiniband/hw/bnxt_re/ib_verbs.c
2698
if (wr->send_flags & IB_SEND_SIGNALED)
drivers/infiniband/hw/bnxt_re/ib_verbs.c
2700
if (wr->send_flags & IB_SEND_FENCE)
drivers/infiniband/hw/bnxt_re/ib_verbs.c
2702
if (wr->send_flags & IB_SEND_SOLICITED)
drivers/infiniband/hw/bnxt_re/ib_verbs.c
2704
if (wr->send_flags & IB_SEND_INLINE)
drivers/infiniband/hw/bnxt_re/ib_verbs.c
2710
static int bnxt_re_build_atomic_wqe(const struct ib_send_wr *wr,
drivers/infiniband/hw/bnxt_re/ib_verbs.c
2713
switch (wr->opcode) {
drivers/infiniband/hw/bnxt_re/ib_verbs.c
2716
wqe->atomic.cmp_data = atomic_wr(wr)->compare_add;
drivers/infiniband/hw/bnxt_re/ib_verbs.c
2717
wqe->atomic.swap_data = atomic_wr(wr)->swap;
drivers/infiniband/hw/bnxt_re/ib_verbs.c
2721
wqe->atomic.cmp_data = atomic_wr(wr)->compare_add;
drivers/infiniband/hw/bnxt_re/ib_verbs.c
2726
wqe->atomic.remote_va = atomic_wr(wr)->remote_addr;
drivers/infiniband/hw/bnxt_re/ib_verbs.c
2727
wqe->atomic.r_key = atomic_wr(wr)->rkey;
drivers/infiniband/hw/bnxt_re/ib_verbs.c
2728
if (wr->send_flags & IB_SEND_SIGNALED)
drivers/infiniband/hw/bnxt_re/ib_verbs.c
2730
if (wr->send_flags & IB_SEND_FENCE)
drivers/infiniband/hw/bnxt_re/ib_verbs.c
2732
if (wr->send_flags & IB_SEND_SOLICITED)
drivers/infiniband/hw/bnxt_re/ib_verbs.c
2737
static int bnxt_re_build_inv_wqe(const struct ib_send_wr *wr,
drivers/infiniband/hw/bnxt_re/ib_verbs.c
2741
wqe->local_inv.inv_l_key = wr->ex.invalidate_rkey;
drivers/infiniband/hw/bnxt_re/ib_verbs.c
2743
if (wr->send_flags & IB_SEND_SIGNALED)
drivers/infiniband/hw/bnxt_re/ib_verbs.c
2745
if (wr->send_flags & IB_SEND_SOLICITED)
drivers/infiniband/hw/bnxt_re/ib_verbs.c
2751
static int bnxt_re_build_reg_wqe(const struct ib_reg_wr *wr,
drivers/infiniband/hw/bnxt_re/ib_verbs.c
2754
struct bnxt_re_mr *mr = container_of(wr->mr, struct bnxt_re_mr, ib_mr);
drivers/infiniband/hw/bnxt_re/ib_verbs.c
2756
int access = wr->access;
drivers/infiniband/hw/bnxt_re/ib_verbs.c
2765
if (wr->wr.send_flags & IB_SEND_SIGNALED)
drivers/infiniband/hw/bnxt_re/ib_verbs.c
2779
wqe->frmr.l_key = wr->key;
drivers/infiniband/hw/bnxt_re/ib_verbs.c
2780
wqe->frmr.length = wr->mr->length;
drivers/infiniband/hw/bnxt_re/ib_verbs.c
2782
wqe->frmr.pg_sz_log = ilog2(wr->mr->page_size >> PAGE_SHIFT_4K);
drivers/infiniband/hw/bnxt_re/ib_verbs.c
2783
wqe->frmr.va = wr->mr->iova;
drivers/infiniband/hw/bnxt_re/ib_verbs.c
2788
const struct ib_send_wr *wr,
drivers/infiniband/hw/bnxt_re/ib_verbs.c
2797
for (i = 0; i < wr->num_sge; i++) {
drivers/infiniband/hw/bnxt_re/ib_verbs.c
2799
wr->sg_list[i].addr;
drivers/infiniband/hw/bnxt_re/ib_verbs.c
2800
sge_len = wr->sg_list[i].length;
drivers/infiniband/hw/bnxt_re/ib_verbs.c
2808
sge_len = wr->sg_list[i].length;
drivers/infiniband/hw/bnxt_re/ib_verbs.c
2811
in_data += wr->sg_list[i].length;
drivers/infiniband/hw/bnxt_re/ib_verbs.c
2812
wqe->inline_len += wr->sg_list[i].length;
drivers/infiniband/hw/bnxt_re/ib_verbs.c
2818
const struct ib_send_wr *wr,
drivers/infiniband/hw/bnxt_re/ib_verbs.c
2823
if (wr->send_flags & IB_SEND_INLINE)
drivers/infiniband/hw/bnxt_re/ib_verbs.c
2824
payload_sz = bnxt_re_copy_inline_data(rdev, wr, wqe);
drivers/infiniband/hw/bnxt_re/ib_verbs.c
2826
payload_sz = bnxt_re_build_sgl(wr->sg_list, wqe->sg_list,
drivers/infiniband/hw/bnxt_re/ib_verbs.c
2850
const struct ib_send_wr *wr)
drivers/infiniband/hw/bnxt_re/ib_verbs.c
2856
while (wr) {
drivers/infiniband/hw/bnxt_re/ib_verbs.c
2860
wqe.num_sge = wr->num_sge;
drivers/infiniband/hw/bnxt_re/ib_verbs.c
2861
if (wr->num_sge > qp->qplib_qp.sq.max_sge) {
drivers/infiniband/hw/bnxt_re/ib_verbs.c
2868
payload_sz = bnxt_re_copy_wr_payload(qp->rdev, wr, &wqe);
drivers/infiniband/hw/bnxt_re/ib_verbs.c
2873
wqe.wr_id = wr->wr_id;
drivers/infiniband/hw/bnxt_re/ib_verbs.c
2877
rc = bnxt_re_build_send_wqe(qp, wr, &wqe);
drivers/infiniband/hw/bnxt_re/ib_verbs.c
2884
wr->opcode, rc);
drivers/infiniband/hw/bnxt_re/ib_verbs.c
2887
wr = wr->next;
drivers/infiniband/hw/bnxt_re/ib_verbs.c
2908
int bnxt_re_post_send(struct ib_qp *ib_qp, const struct ib_send_wr *wr,
drivers/infiniband/hw/bnxt_re/ib_verbs.c
2917
while (wr) {
drivers/infiniband/hw/bnxt_re/ib_verbs.c
2922
wqe.num_sge = wr->num_sge;
drivers/infiniband/hw/bnxt_re/ib_verbs.c
2923
if (wr->num_sge > qp->qplib_qp.sq.max_sge) {
drivers/infiniband/hw/bnxt_re/ib_verbs.c
2930
payload_sz = bnxt_re_copy_wr_payload(qp->rdev, wr, &wqe);
drivers/infiniband/hw/bnxt_re/ib_verbs.c
2935
wqe.wr_id = wr->wr_id;
drivers/infiniband/hw/bnxt_re/ib_verbs.c
2937
switch (wr->opcode) {
drivers/infiniband/hw/bnxt_re/ib_verbs.c
2941
rc = bnxt_re_build_qp1_send_v2(qp, wr, &wqe,
drivers/infiniband/hw/bnxt_re/ib_verbs.c
2948
if (wr->send_flags & IB_SEND_IP_CSUM)
drivers/infiniband/hw/bnxt_re/ib_verbs.c
2953
rc = bnxt_re_build_send_wqe(qp, wr, &wqe);
drivers/infiniband/hw/bnxt_re/ib_verbs.c
2958
rc = bnxt_re_build_rdma_wqe(wr, &wqe);
drivers/infiniband/hw/bnxt_re/ib_verbs.c
2962
rc = bnxt_re_build_atomic_wqe(wr, &wqe);
drivers/infiniband/hw/bnxt_re/ib_verbs.c
2970
rc = bnxt_re_build_inv_wqe(wr, &wqe);
drivers/infiniband/hw/bnxt_re/ib_verbs.c
2973
rc = bnxt_re_build_reg_wqe(reg_wr(wr), &wqe);
drivers/infiniband/hw/bnxt_re/ib_verbs.c
2978
"WR (%#x) is not supported", wr->opcode);
drivers/infiniband/hw/bnxt_re/ib_verbs.c
2991
wr->opcode, qp->qplib_qp.state, rc);
drivers/infiniband/hw/bnxt_re/ib_verbs.c
2992
*bad_wr = wr;
drivers/infiniband/hw/bnxt_re/ib_verbs.c
2995
wr = wr->next;
drivers/infiniband/hw/bnxt_re/ib_verbs.c
3007
const struct ib_recv_wr *wr)
drivers/infiniband/hw/bnxt_re/ib_verbs.c
3012
while (wr) {
drivers/infiniband/hw/bnxt_re/ib_verbs.c
3017
wqe.num_sge = wr->num_sge;
drivers/infiniband/hw/bnxt_re/ib_verbs.c
3018
if (wr->num_sge > qp->qplib_qp.rq.max_sge) {
drivers/infiniband/hw/bnxt_re/ib_verbs.c
3024
bnxt_re_build_sgl(wr->sg_list, wqe.sg_list, wr->num_sge);
drivers/infiniband/hw/bnxt_re/ib_verbs.c
3025
wqe.wr_id = wr->wr_id;
drivers/infiniband/hw/bnxt_re/ib_verbs.c
3032
wr = wr->next;
drivers/infiniband/hw/bnxt_re/ib_verbs.c
3039
int bnxt_re_post_recv(struct ib_qp *ib_qp, const struct ib_recv_wr *wr,
drivers/infiniband/hw/bnxt_re/ib_verbs.c
3049
while (wr) {
drivers/infiniband/hw/bnxt_re/ib_verbs.c
3054
wqe.num_sge = wr->num_sge;
drivers/infiniband/hw/bnxt_re/ib_verbs.c
3055
if (wr->num_sge > qp->qplib_qp.rq.max_sge) {
drivers/infiniband/hw/bnxt_re/ib_verbs.c
3059
*bad_wr = wr;
drivers/infiniband/hw/bnxt_re/ib_verbs.c
3063
payload_sz = bnxt_re_build_sgl(wr->sg_list, wqe.sg_list,
drivers/infiniband/hw/bnxt_re/ib_verbs.c
3064
wr->num_sge);
drivers/infiniband/hw/bnxt_re/ib_verbs.c
3065
wqe.wr_id = wr->wr_id;
drivers/infiniband/hw/bnxt_re/ib_verbs.c
3070
rc = bnxt_re_build_qp1_shadow_qp_recv(qp, wr, &wqe,
drivers/infiniband/hw/bnxt_re/ib_verbs.c
3075
*bad_wr = wr;
drivers/infiniband/hw/bnxt_re/ib_verbs.c
3085
wr = wr->next;
drivers/infiniband/hw/bnxt_re/ib_verbs.c
3596
swr = &udwr.wr;
drivers/infiniband/hw/cxgb4/iw_cxgb4.h
1068
int c4iw_post_srq_recv(struct ib_srq *ibsrq, const struct ib_recv_wr *wr,
drivers/infiniband/hw/cxgb4/iw_cxgb4.h
991
int c4iw_post_send(struct ib_qp *ibqp, const struct ib_send_wr *wr,
drivers/infiniband/hw/cxgb4/iw_cxgb4.h
993
int c4iw_post_receive(struct ib_qp *ibqp, const struct ib_recv_wr *wr,
drivers/infiniband/hw/cxgb4/mem.c
148
req->wr.wr_hi = cpu_to_be32(FW_WR_OP_V(FW_ULPTX_WR) |
drivers/infiniband/hw/cxgb4/mem.c
150
req->wr.wr_lo = (__force __be64)(unsigned long)wr_waitp;
drivers/infiniband/hw/cxgb4/mem.c
152
req->wr.wr_hi = cpu_to_be32(FW_WR_OP_V(FW_ULPTX_WR));
drivers/infiniband/hw/cxgb4/mem.c
153
req->wr.wr_mid = cpu_to_be32(
drivers/infiniband/hw/cxgb4/mem.c
159
req->len16 = cpu_to_be32(DIV_ROUND_UP(wr_len-sizeof(req->wr),
drivers/infiniband/hw/cxgb4/mem.c
86
req->wr.wr_hi = cpu_to_be32(FW_WR_OP_V(FW_ULPTX_WR) |
drivers/infiniband/hw/cxgb4/mem.c
88
req->wr.wr_lo = wr_waitp ? (__force __be64)(unsigned long)wr_waitp : 0L;
drivers/infiniband/hw/cxgb4/mem.c
89
req->wr.wr_mid = cpu_to_be32(FW_WR_LEN16_V(DIV_ROUND_UP(wr_len, 16)));
drivers/infiniband/hw/cxgb4/mem.c
94
req->len16 = cpu_to_be32(DIV_ROUND_UP(wr_len-sizeof(req->wr), 16));
drivers/infiniband/hw/cxgb4/qp.c
1016
const struct ib_send_wr *wr,
drivers/infiniband/hw/cxgb4/qp.c
1021
while (wr) {
drivers/infiniband/hw/cxgb4/qp.c
1022
ret = complete_sq_drain_wr(qhp, wr);
drivers/infiniband/hw/cxgb4/qp.c
1024
*bad_wr = wr;
drivers/infiniband/hw/cxgb4/qp.c
1027
wr = wr->next;
drivers/infiniband/hw/cxgb4/qp.c
1033
const struct ib_recv_wr *wr)
drivers/infiniband/hw/cxgb4/qp.c
1043
cqe.u.drain_cookie = wr->wr_id;
drivers/infiniband/hw/cxgb4/qp.c
1066
const struct ib_recv_wr *wr)
drivers/infiniband/hw/cxgb4/qp.c
1068
while (wr) {
drivers/infiniband/hw/cxgb4/qp.c
1069
complete_rq_drain_wr(qhp, wr);
drivers/infiniband/hw/cxgb4/qp.c
1070
wr = wr->next;
drivers/infiniband/hw/cxgb4/qp.c
1074
int c4iw_post_send(struct ib_qp *ibqp, const struct ib_send_wr *wr,
drivers/infiniband/hw/cxgb4/qp.c
1099
err = complete_sq_drain_wrs(qhp, wr, bad_wr);
drivers/infiniband/hw/cxgb4/qp.c
1105
*bad_wr = wr;
drivers/infiniband/hw/cxgb4/qp.c
1121
wr && wr->next && !wr->next->next &&
drivers/infiniband/hw/cxgb4/qp.c
1122
wr->opcode == IB_WR_RDMA_WRITE &&
drivers/infiniband/hw/cxgb4/qp.c
1123
wr->sg_list[0].length && wr->num_sge <= T4_WRITE_CMPL_MAX_SGL &&
drivers/infiniband/hw/cxgb4/qp.c
1124
(wr->next->opcode == IB_WR_SEND ||
drivers/infiniband/hw/cxgb4/qp.c
1125
wr->next->opcode == IB_WR_SEND_WITH_INV) &&
drivers/infiniband/hw/cxgb4/qp.c
1126
wr->next->sg_list[0].length == T4_WRITE_CMPL_MAX_CQE &&
drivers/infiniband/hw/cxgb4/qp.c
1127
wr->next->num_sge == 1 && num_wrs >= 2) {
drivers/infiniband/hw/cxgb4/qp.c
1128
post_write_cmpl(qhp, wr);
drivers/infiniband/hw/cxgb4/qp.c
1133
while (wr) {
drivers/infiniband/hw/cxgb4/qp.c
1136
*bad_wr = wr;
drivers/infiniband/hw/cxgb4/qp.c
1143
if (wr->send_flags & IB_SEND_SOLICITED)
drivers/infiniband/hw/cxgb4/qp.c
1145
if (wr->send_flags & IB_SEND_SIGNALED || qhp->sq_sig_all)
drivers/infiniband/hw/cxgb4/qp.c
1148
switch (wr->opcode) {
drivers/infiniband/hw/cxgb4/qp.c
1151
if (wr->send_flags & IB_SEND_FENCE)
drivers/infiniband/hw/cxgb4/qp.c
1154
if (wr->opcode == IB_WR_SEND)
drivers/infiniband/hw/cxgb4/qp.c
1158
err = build_rdma_send(&qhp->wq.sq, wqe, wr, &len16);
drivers/infiniband/hw/cxgb4/qp.c
1170
err = build_rdma_write(&qhp->wq.sq, wqe, wr, &len16);
drivers/infiniband/hw/cxgb4/qp.c
1176
if (wr->opcode == IB_WR_RDMA_READ_WITH_INV) {
drivers/infiniband/hw/cxgb4/qp.c
1177
c4iw_invalidate_mr(rhp, wr->sg_list[0].lkey);
drivers/infiniband/hw/cxgb4/qp.c
1182
err = build_rdma_read(wqe, wr, &len16);
drivers/infiniband/hw/cxgb4/qp.c
1185
swsqe->read_len = wr->sg_list[0].length;
drivers/infiniband/hw/cxgb4/qp.c
1190
struct c4iw_mr *mhp = to_c4iw_mr(reg_wr(wr)->mr);
drivers/infiniband/hw/cxgb4/qp.c
1196
build_tpte_memreg(&wqe->fr_tpte, reg_wr(wr),
drivers/infiniband/hw/cxgb4/qp.c
1200
err = build_memreg(&qhp->wq.sq, wqe, reg_wr(wr),
drivers/infiniband/hw/cxgb4/qp.c
1210
if (wr->send_flags & IB_SEND_FENCE)
drivers/infiniband/hw/cxgb4/qp.c
1214
err = build_inv_stag(wqe, wr, &len16);
drivers/infiniband/hw/cxgb4/qp.c
1215
c4iw_invalidate_mr(rhp, wr->ex.invalidate_rkey);
drivers/infiniband/hw/cxgb4/qp.c
1219
wr->opcode);
drivers/infiniband/hw/cxgb4/qp.c
1223
*bad_wr = wr;
drivers/infiniband/hw/cxgb4/qp.c
1228
swsqe->signaled = (wr->send_flags & IB_SEND_SIGNALED) ||
drivers/infiniband/hw/cxgb4/qp.c
1231
swsqe->wr_id = wr->wr_id;
drivers/infiniband/hw/cxgb4/qp.c
1241
(unsigned long long)wr->wr_id, qhp->wq.sq.pidx,
drivers/infiniband/hw/cxgb4/qp.c
1243
wr = wr->next;
drivers/infiniband/hw/cxgb4/qp.c
1258
int c4iw_post_receive(struct ib_qp *ibqp, const struct ib_recv_wr *wr,
drivers/infiniband/hw/cxgb4/qp.c
1278
complete_rq_drain_wrs(qhp, wr);
drivers/infiniband/hw/cxgb4/qp.c
1284
*bad_wr = wr;
drivers/infiniband/hw/cxgb4/qp.c
1287
while (wr) {
drivers/infiniband/hw/cxgb4/qp.c
1288
if (wr->num_sge > T4_MAX_RECV_SGE) {
drivers/infiniband/hw/cxgb4/qp.c
1290
*bad_wr = wr;
drivers/infiniband/hw/cxgb4/qp.c
1297
err = build_rdma_recv(qhp, wqe, wr, &len16);
drivers/infiniband/hw/cxgb4/qp.c
1301
*bad_wr = wr;
drivers/infiniband/hw/cxgb4/qp.c
1305
qhp->wq.rq.sw_rq[qhp->wq.rq.pidx].wr_id = wr->wr_id;
drivers/infiniband/hw/cxgb4/qp.c
1322
(unsigned long long)wr->wr_id, qhp->wq.rq.pidx);
drivers/infiniband/hw/cxgb4/qp.c
1325
wr = wr->next;
drivers/infiniband/hw/cxgb4/qp.c
1354
int c4iw_post_srq_recv(struct ib_srq *ibsrq, const struct ib_recv_wr *wr,
drivers/infiniband/hw/cxgb4/qp.c
1372
while (wr) {
drivers/infiniband/hw/cxgb4/qp.c
1373
if (wr->num_sge > T4_MAX_RECV_SGE) {
drivers/infiniband/hw/cxgb4/qp.c
1375
*bad_wr = wr;
drivers/infiniband/hw/cxgb4/qp.c
1380
err = build_srq_recv(wqe, wr, &len16);
drivers/infiniband/hw/cxgb4/qp.c
1384
*bad_wr = wr;
drivers/infiniband/hw/cxgb4/qp.c
1399
defer_srq_wr(&srq->wq, wqe, wr->wr_id, len16);
drivers/infiniband/hw/cxgb4/qp.c
1401
srq->wq.sw_rq[srq->wq.pidx].wr_id = wr->wr_id;
drivers/infiniband/hw/cxgb4/qp.c
1408
(unsigned long long)wr->wr_id);
drivers/infiniband/hw/cxgb4/qp.c
1412
wr = wr->next;
drivers/infiniband/hw/cxgb4/qp.c
412
const struct ib_send_wr *wr, int max, u32 *plenp)
drivers/infiniband/hw/cxgb4/qp.c
420
for (i = 0; i < wr->num_sge; i++) {
drivers/infiniband/hw/cxgb4/qp.c
421
if ((plen + wr->sg_list[i].length) > max)
drivers/infiniband/hw/cxgb4/qp.c
423
srcp = (u8 *)(unsigned long)wr->sg_list[i].addr;
drivers/infiniband/hw/cxgb4/qp.c
424
plen += wr->sg_list[i].length;
drivers/infiniband/hw/cxgb4/qp.c
425
rem = wr->sg_list[i].length;
drivers/infiniband/hw/cxgb4/qp.c
487
const struct ib_send_wr *wr, u8 *len16)
drivers/infiniband/hw/cxgb4/qp.c
493
if (wr->num_sge > T4_MAX_SEND_SGE)
drivers/infiniband/hw/cxgb4/qp.c
495
switch (wr->opcode) {
drivers/infiniband/hw/cxgb4/qp.c
497
if (wr->send_flags & IB_SEND_SOLICITED)
drivers/infiniband/hw/cxgb4/qp.c
506
if (wr->send_flags & IB_SEND_SOLICITED)
drivers/infiniband/hw/cxgb4/qp.c
512
wqe->send.stag_inv = cpu_to_be32(wr->ex.invalidate_rkey);
drivers/infiniband/hw/cxgb4/qp.c
522
if (wr->num_sge) {
drivers/infiniband/hw/cxgb4/qp.c
523
if (wr->send_flags & IB_SEND_INLINE) {
drivers/infiniband/hw/cxgb4/qp.c
524
ret = build_immd(sq, wqe->send.u.immd_src, wr,
drivers/infiniband/hw/cxgb4/qp.c
534
wr->sg_list, wr->num_sge, &plen);
drivers/infiniband/hw/cxgb4/qp.c
538
wr->num_sge * sizeof(struct fw_ri_sge);
drivers/infiniband/hw/cxgb4/qp.c
554
const struct ib_send_wr *wr, u8 *len16)
drivers/infiniband/hw/cxgb4/qp.c
560
if (wr->num_sge > T4_MAX_SEND_SGE)
drivers/infiniband/hw/cxgb4/qp.c
567
if (wr->opcode == IB_WR_RDMA_WRITE_WITH_IMM)
drivers/infiniband/hw/cxgb4/qp.c
568
wqe->write.iw_imm_data.ib_imm_data.imm_data32 = wr->ex.imm_data;
drivers/infiniband/hw/cxgb4/qp.c
571
wqe->write.stag_sink = cpu_to_be32(rdma_wr(wr)->rkey);
drivers/infiniband/hw/cxgb4/qp.c
572
wqe->write.to_sink = cpu_to_be64(rdma_wr(wr)->remote_addr);
drivers/infiniband/hw/cxgb4/qp.c
573
if (wr->num_sge) {
drivers/infiniband/hw/cxgb4/qp.c
574
if (wr->send_flags & IB_SEND_INLINE) {
drivers/infiniband/hw/cxgb4/qp.c
575
ret = build_immd(sq, wqe->write.u.immd_src, wr,
drivers/infiniband/hw/cxgb4/qp.c
585
wr->sg_list, wr->num_sge, &plen);
drivers/infiniband/hw/cxgb4/qp.c
589
wr->num_sge * sizeof(struct fw_ri_sge);
drivers/infiniband/hw/cxgb4/qp.c
605
struct ib_send_wr *wr)
drivers/infiniband/hw/cxgb4/qp.c
607
memcpy((u8 *)immdp->data, (u8 *)(uintptr_t)wr->sg_list->addr, 16);
drivers/infiniband/hw/cxgb4/qp.c
615
const struct ib_send_wr *wr, u8 *len16)
drivers/infiniband/hw/cxgb4/qp.c
631
wcwr->stag_sink = cpu_to_be32(rdma_wr(wr)->rkey);
drivers/infiniband/hw/cxgb4/qp.c
632
wcwr->to_sink = cpu_to_be64(rdma_wr(wr)->remote_addr);
drivers/infiniband/hw/cxgb4/qp.c
633
if (wr->next->opcode == IB_WR_SEND)
drivers/infiniband/hw/cxgb4/qp.c
636
wcwr->stag_inv = cpu_to_be32(wr->next->ex.invalidate_rkey);
drivers/infiniband/hw/cxgb4/qp.c
641
if (wr->next->send_flags & IB_SEND_INLINE)
drivers/infiniband/hw/cxgb4/qp.c
642
build_immd_cmpl(sq, &wcwr->u_cmpl.immd_src, wr->next);
drivers/infiniband/hw/cxgb4/qp.c
645
&wcwr->u_cmpl.isgl_src, wr->next->sg_list, 1, NULL);
drivers/infiniband/hw/cxgb4/qp.c
649
wcwr->u.isgl_src, wr->sg_list, wr->num_sge, &plen);
drivers/infiniband/hw/cxgb4/qp.c
652
wr->num_sge * sizeof(struct fw_ri_sge);
drivers/infiniband/hw/cxgb4/qp.c
657
static int build_rdma_read(union t4_wr *wqe, const struct ib_send_wr *wr,
drivers/infiniband/hw/cxgb4/qp.c
660
if (wr->num_sge > 1)
drivers/infiniband/hw/cxgb4/qp.c
662
if (wr->num_sge && wr->sg_list[0].length) {
drivers/infiniband/hw/cxgb4/qp.c
663
wqe->read.stag_src = cpu_to_be32(rdma_wr(wr)->rkey);
drivers/infiniband/hw/cxgb4/qp.c
664
wqe->read.to_src_hi = cpu_to_be32((u32)(rdma_wr(wr)->remote_addr
drivers/infiniband/hw/cxgb4/qp.c
666
wqe->read.to_src_lo = cpu_to_be32((u32)rdma_wr(wr)->remote_addr);
drivers/infiniband/hw/cxgb4/qp.c
667
wqe->read.stag_sink = cpu_to_be32(wr->sg_list[0].lkey);
drivers/infiniband/hw/cxgb4/qp.c
668
wqe->read.plen = cpu_to_be32(wr->sg_list[0].length);
drivers/infiniband/hw/cxgb4/qp.c
669
wqe->read.to_sink_hi = cpu_to_be32((u32)(wr->sg_list[0].addr
drivers/infiniband/hw/cxgb4/qp.c
671
wqe->read.to_sink_lo = cpu_to_be32((u32)(wr->sg_list[0].addr));
drivers/infiniband/hw/cxgb4/qp.c
687
static void post_write_cmpl(struct c4iw_qp *qhp, const struct ib_send_wr *wr)
drivers/infiniband/hw/cxgb4/qp.c
689
bool send_signaled = (wr->next->send_flags & IB_SEND_SIGNALED) ||
drivers/infiniband/hw/cxgb4/qp.c
691
bool write_signaled = (wr->send_flags & IB_SEND_SIGNALED) ||
drivers/infiniband/hw/cxgb4/qp.c
705
build_rdma_write_cmpl(&qhp->wq.sq, &wqe->write_cmpl, wr, &len16);
drivers/infiniband/hw/cxgb4/qp.c
714
swsqe->wr_id = wr->wr_id;
drivers/infiniband/hw/cxgb4/qp.c
730
if (wr->next->opcode == IB_WR_SEND)
drivers/infiniband/hw/cxgb4/qp.c
738
swsqe->wr_id = wr->next->wr_id;
drivers/infiniband/hw/cxgb4/qp.c
757
const struct ib_recv_wr *wr, u8 *len16)
drivers/infiniband/hw/cxgb4/qp.c
763
&wqe->recv.isgl, wr->sg_list, wr->num_sge, NULL);
drivers/infiniband/hw/cxgb4/qp.c
767
sizeof(wqe->recv) + wr->num_sge * sizeof(struct fw_ri_sge), 16);
drivers/infiniband/hw/cxgb4/qp.c
771
static int build_srq_recv(union t4_recv_wr *wqe, const struct ib_recv_wr *wr,
drivers/infiniband/hw/cxgb4/qp.c
777
&wqe->recv.isgl, wr->sg_list, wr->num_sge, NULL);
drivers/infiniband/hw/cxgb4/qp.c
781
wr->num_sge * sizeof(struct fw_ri_sge), 16);
drivers/infiniband/hw/cxgb4/qp.c
786
const struct ib_reg_wr *wr, struct c4iw_mr *mhp,
drivers/infiniband/hw/cxgb4/qp.c
800
FW_RI_TPTE_PERM_V(c4iw_ib_to_tpt_access(wr->access)) |
drivers/infiniband/hw/cxgb4/qp.c
802
FW_RI_TPTE_PS_V(ilog2(wr->mr->page_size) - 12));
drivers/infiniband/hw/cxgb4/qp.c
818
const struct ib_reg_wr *wr, struct c4iw_mr *mhp,
drivers/infiniband/hw/cxgb4/qp.c
831
wqe->fr.pgsz_shift = ilog2(wr->mr->page_size) - 12;
drivers/infiniband/hw/cxgb4/qp.c
833
wqe->fr.mem_perms = c4iw_ib_to_tpt_access(wr->access);
drivers/infiniband/hw/cxgb4/qp.c
836
wqe->fr.stag = cpu_to_be32(wr->key);
drivers/infiniband/hw/cxgb4/qp.c
881
static int build_inv_stag(union t4_wr *wqe, const struct ib_send_wr *wr,
drivers/infiniband/hw/cxgb4/qp.c
884
wqe->inv.stag_inv = cpu_to_be32(wr->ex.invalidate_rkey);
drivers/infiniband/hw/cxgb4/qp.c
977
const struct ib_send_wr *wr)
drivers/infiniband/hw/cxgb4/qp.c
988
opcode = ib_to_fw_opcode(wr->opcode);
drivers/infiniband/hw/cxgb4/qp.c
992
cqe.u.drain_cookie = wr->wr_id;
drivers/infiniband/hw/erdma/erdma_qp.c
404
const struct ib_send_wr *wr, u32 *hw_op)
drivers/infiniband/hw/erdma/erdma_qp.c
408
if (wr->opcode == IB_WR_SEND_WITH_IMM) {
drivers/infiniband/hw/erdma/erdma_qp.c
410
sqe->imm_data = wr->ex.imm_data;
drivers/infiniband/hw/erdma/erdma_qp.c
411
} else if (wr->opcode == IB_WR_SEND_WITH_INV) {
drivers/infiniband/hw/erdma/erdma_qp.c
413
sqe->invalid_stag = cpu_to_le32(wr->ex.invalidate_rkey);
drivers/infiniband/hw/erdma/erdma_qp.c
420
const struct ib_send_wr *wr, u32 *hw_op)
drivers/infiniband/hw/erdma/erdma_qp.c
422
const struct ib_ud_wr *uwr = ud_wr(wr);
drivers/infiniband/hw/erdma/erdma_qp.c
426
if (wr->opcode == IB_WR_SEND_WITH_IMM) {
drivers/infiniband/hw/erdma/erdma_qp.c
428
sqe->imm_data = wr->ex.imm_data;
drivers/infiniband/hw/erdma/erdma_qp.c
492
rdma_wr = container_of(send_wr, struct ib_rdma_wr, wr);
drivers/infiniband/hw/erdma/erdma_qp.c
519
rdma_wr = container_of(send_wr, struct ib_rdma_wr, wr);
drivers/infiniband/hw/erdma/erdma_qp.c
665
const struct ib_send_wr *wr = send_wr;
drivers/infiniband/hw/erdma/erdma_qp.c
675
while (wr) {
drivers/infiniband/hw/erdma/erdma_qp.c
682
ret = erdma_push_one_sqe(qp, &sq_pi, wr);
drivers/infiniband/hw/erdma/erdma_qp.c
684
*bad_send_wr = wr;
drivers/infiniband/hw/erdma/erdma_qp.c
690
wr = wr->next;
drivers/infiniband/hw/erdma/erdma_qp.c
734
const struct ib_recv_wr *wr = recv_wr;
drivers/infiniband/hw/erdma/erdma_qp.c
741
while (wr) {
drivers/infiniband/hw/erdma/erdma_qp.c
742
ret = erdma_post_recv_one(qp, wr);
drivers/infiniband/hw/erdma/erdma_qp.c
744
*bad_recv_wr = wr;
drivers/infiniband/hw/erdma/erdma_qp.c
747
wr = wr->next;
drivers/infiniband/hw/hfi1/opfn.c
44
struct ib_atomic_wr wr;
drivers/infiniband/hw/hfi1/opfn.c
83
memset(&wr, 0, sizeof(wr));
drivers/infiniband/hw/hfi1/opfn.c
84
wr.wr.opcode = IB_WR_OPFN;
drivers/infiniband/hw/hfi1/opfn.c
85
wr.remote_addr = HFI1_VERBS_E_ATOMIC_VADDR;
drivers/infiniband/hw/hfi1/opfn.c
86
wr.compare_add = data;
drivers/infiniband/hw/hfi1/opfn.c
92
ret = ib_post_send(&qp->ibqp, &wr.wr, NULL);
drivers/infiniband/hw/hfi1/qp.c
622
wqe ? wqe->wr.opcode : 0,
drivers/infiniband/hw/hfi1/rc.c
1033
trace_hfi1_tid_req_make_req_write(qp, 0, wqe->wr.opcode,
drivers/infiniband/hw/hfi1/rc.c
1038
if (wqe->wr.opcode != IB_WR_TID_RDMA_READ)
drivers/infiniband/hw/hfi1/rc.c
1088
trace_hfi1_tid_req_make_req_read(qp, 0, wqe->wr.opcode,
drivers/infiniband/hw/hfi1/rc.c
1099
if (wqe->wr.opcode != IB_WR_TID_RDMA_READ || delta == 0 ||
drivers/infiniband/hw/hfi1/rc.c
1131
trace_hfi1_tid_req_make_req_read(qp, 0, wqe->wr.opcode,
drivers/infiniband/hw/hfi1/rc.c
1138
wqe->wr.opcode != IB_WR_TID_RDMA_WRITE)
drivers/infiniband/hw/hfi1/rc.c
1420
u32 opcode = wqe->wr.opcode;
drivers/infiniband/hw/hfi1/rc.c
1438
wqe->wr.opcode,
drivers/infiniband/hw/hfi1/rc.c
1508
opcode = wqe->wr.opcode;
drivers/infiniband/hw/hfi1/rc.c
1582
if (wqe->wr.opcode == IB_WR_OPFN) {
drivers/infiniband/hw/hfi1/rc.c
1595
if (wqe->wr.opcode == IB_WR_TID_RDMA_READ) {
drivers/infiniband/hw/hfi1/rc.c
1616
if (wqe->wr.opcode == IB_WR_RDMA_READ ||
drivers/infiniband/hw/hfi1/rc.c
1617
wqe->wr.opcode == IB_WR_TID_RDMA_READ)
drivers/infiniband/hw/hfi1/rc.c
1645
if (wqe->wr.opcode == IB_WR_RDMA_READ ||
drivers/infiniband/hw/hfi1/rc.c
1646
wqe->wr.opcode == IB_WR_TID_RDMA_READ ||
drivers/infiniband/hw/hfi1/rc.c
1647
wqe->wr.opcode == IB_WR_TID_RDMA_WRITE)
drivers/infiniband/hw/hfi1/rc.c
1783
if (wqe->wr.opcode == IB_WR_TID_RDMA_WRITE &&
drivers/infiniband/hw/hfi1/rc.c
1797
ib_hfi1_wc_opcode[wqe->wr.opcode],
drivers/infiniband/hw/hfi1/rc.c
1843
ib_hfi1_wc_opcode[wqe->wr.opcode],
drivers/infiniband/hw/hfi1/rc.c
1874
if (wqe->wr.opcode != IB_WR_TID_RDMA_WRITE)
drivers/infiniband/hw/hfi1/rc.c
2000
if (wqe->wr.opcode == IB_WR_RDMA_READ &&
drivers/infiniband/hw/hfi1/rc.c
2015
if ((wqe->wr.opcode == IB_WR_RDMA_READ &&
drivers/infiniband/hw/hfi1/rc.c
2017
(wqe->wr.opcode == IB_WR_TID_RDMA_READ &&
drivers/infiniband/hw/hfi1/rc.c
2019
((wqe->wr.opcode == IB_WR_ATOMIC_CMP_AND_SWP ||
drivers/infiniband/hw/hfi1/rc.c
2020
wqe->wr.opcode == IB_WR_ATOMIC_FETCH_AND_ADD) &&
drivers/infiniband/hw/hfi1/rc.c
2022
(wqe->wr.opcode == IB_WR_TID_RDMA_WRITE &&
drivers/infiniband/hw/hfi1/rc.c
2031
if (wqe->wr.opcode == IB_WR_ATOMIC_CMP_AND_SWP ||
drivers/infiniband/hw/hfi1/rc.c
2032
wqe->wr.opcode == IB_WR_ATOMIC_FETCH_AND_ADD) {
drivers/infiniband/hw/hfi1/rc.c
2036
if (wqe->wr.opcode == IB_WR_OPFN)
drivers/infiniband/hw/hfi1/rc.c
2040
(wqe->wr.opcode == IB_WR_RDMA_READ ||
drivers/infiniband/hw/hfi1/rc.c
2041
wqe->wr.opcode == IB_WR_ATOMIC_CMP_AND_SWP ||
drivers/infiniband/hw/hfi1/rc.c
2042
wqe->wr.opcode == IB_WR_ATOMIC_FETCH_AND_ADD)) {
drivers/infiniband/hw/hfi1/rc.c
2061
if (wqe->wr.opcode == IB_WR_TID_RDMA_WRITE)
drivers/infiniband/hw/hfi1/rc.c
2074
if (wqe->wr.opcode == IB_WR_TID_RDMA_READ) {
drivers/infiniband/hw/hfi1/rc.c
2090
if (__w && __w->wr.opcode == IB_WR_TID_RDMA_WRITE &&
drivers/infiniband/hw/hfi1/rc.c
2155
if (wqe->wr.opcode == IB_WR_TID_RDMA_WRITE &&
drivers/infiniband/hw/hfi1/rc.c
2169
if (!(rdi->post_parms[wqe->wr.opcode].flags &
drivers/infiniband/hw/hfi1/rc.c
2185
if (wqe->wr.opcode == IB_WR_TID_RDMA_WRITE) {
drivers/infiniband/hw/hfi1/rc.c
2232
if (wqe->wr.opcode == IB_WR_TID_RDMA_READ)
drivers/infiniband/hw/hfi1/rc.c
2275
if (wqe->wr.opcode == IB_WR_RDMA_READ ||
drivers/infiniband/hw/hfi1/rc.c
2276
wqe->wr.opcode == IB_WR_TID_RDMA_READ ||
drivers/infiniband/hw/hfi1/rc.c
2277
wqe->wr.opcode == IB_WR_TID_RDMA_WRITE ||
drivers/infiniband/hw/hfi1/rc.c
2278
wqe->wr.opcode == IB_WR_ATOMIC_CMP_AND_SWP ||
drivers/infiniband/hw/hfi1/rc.c
2279
wqe->wr.opcode == IB_WR_ATOMIC_FETCH_AND_ADD)
drivers/infiniband/hw/hfi1/rc.c
2370
if (unlikely(wqe->wr.opcode != IB_WR_RDMA_READ))
drivers/infiniband/hw/hfi1/rc.c
2385
if (unlikely(wqe->wr.opcode != IB_WR_RDMA_READ))
drivers/infiniband/hw/hfi1/rc.c
2441
if (unlikely(wqe->wr.opcode != IB_WR_RDMA_READ))
drivers/infiniband/hw/hfi1/rc.c
495
if ((wqe->wr.send_flags & IB_SEND_FENCE) &&
drivers/infiniband/hw/hfi1/rc.c
497
(wqe->wr.opcode != IB_WR_TID_RDMA_READ ||
drivers/infiniband/hw/hfi1/rc.c
506
if (wqe->wr.opcode == IB_WR_REG_MR ||
drivers/infiniband/hw/hfi1/rc.c
507
wqe->wr.opcode == IB_WR_LOCAL_INV) {
drivers/infiniband/hw/hfi1/rc.c
517
if (!(wqe->wr.send_flags &
drivers/infiniband/hw/hfi1/rc.c
521
wqe->wr.ex.invalidate_rkey);
drivers/infiniband/hw/hfi1/rc.c
552
switch (wqe->wr.opcode) {
drivers/infiniband/hw/hfi1/rc.c
564
if (wqe->wr.opcode == IB_WR_SEND) {
drivers/infiniband/hw/hfi1/rc.c
566
} else if (wqe->wr.opcode == IB_WR_SEND_WITH_IMM) {
drivers/infiniband/hw/hfi1/rc.c
569
ohdr->u.imm_data = wqe->wr.ex.imm_data;
drivers/infiniband/hw/hfi1/rc.c
575
wqe->wr.ex.invalidate_rkey);
drivers/infiniband/hw/hfi1/rc.c
578
if (wqe->wr.send_flags & IB_SEND_SOLICITED)
drivers/infiniband/hw/hfi1/rc.c
606
if (wqe->wr.opcode == IB_WR_RDMA_WRITE) {
drivers/infiniband/hw/hfi1/rc.c
612
ohdr->u.rc.imm_data = wqe->wr.ex.imm_data;
drivers/infiniband/hw/hfi1/rc.c
614
if (wqe->wr.send_flags & IB_SEND_SOLICITED)
drivers/infiniband/hw/hfi1/rc.c
672
if (__w->wr.opcode != IB_WR_TID_RDMA_WRITE ||
drivers/infiniband/hw/hfi1/rc.c
722
wqe->wr.opcode,
drivers/infiniband/hw/hfi1/rc.c
762
wqe->wr.opcode,
drivers/infiniband/hw/hfi1/rc.c
794
qp->s_sge.num_sge = wqe->wr.num_sge;
drivers/infiniband/hw/hfi1/rc.c
847
if (wqe->wr.opcode == IB_WR_ATOMIC_CMP_AND_SWP ||
drivers/infiniband/hw/hfi1/rc.c
848
wqe->wr.opcode == IB_WR_OPFN) {
drivers/infiniband/hw/hfi1/rc.c
875
if (wqe->wr.opcode != IB_WR_TID_RDMA_READ) {
drivers/infiniband/hw/hfi1/rc.c
878
qp->s_sge.num_sge = wqe->wr.num_sge;
drivers/infiniband/hw/hfi1/rc.c
887
if (wqe->wr.opcode == IB_WR_RDMA_READ ||
drivers/infiniband/hw/hfi1/rc.c
888
wqe->wr.opcode == IB_WR_TID_RDMA_WRITE)
drivers/infiniband/hw/hfi1/rc.c
890
else if (wqe->wr.opcode == IB_WR_TID_RDMA_READ)
drivers/infiniband/hw/hfi1/rc.c
920
if (wqe->wr.opcode == IB_WR_SEND) {
drivers/infiniband/hw/hfi1/rc.c
922
} else if (wqe->wr.opcode == IB_WR_SEND_WITH_IMM) {
drivers/infiniband/hw/hfi1/rc.c
925
ohdr->u.imm_data = wqe->wr.ex.imm_data;
drivers/infiniband/hw/hfi1/rc.c
930
ohdr->u.ieth = cpu_to_be32(wqe->wr.ex.invalidate_rkey);
drivers/infiniband/hw/hfi1/rc.c
933
if (wqe->wr.send_flags & IB_SEND_SOLICITED)
drivers/infiniband/hw/hfi1/rc.c
965
if (wqe->wr.opcode == IB_WR_RDMA_WRITE) {
drivers/infiniband/hw/hfi1/rc.c
970
ohdr->u.imm_data = wqe->wr.ex.imm_data;
drivers/infiniband/hw/hfi1/rc.c
972
if (wqe->wr.send_flags & IB_SEND_SOLICITED)
drivers/infiniband/hw/hfi1/tid_rdma.c
1800
trace_hfi1_tid_req_build_read_req(qp, 0, wqe->wr.opcode, wqe->psn,
drivers/infiniband/hw/hfi1/tid_rdma.c
2429
if (wqe->wr.opcode == opcode)
drivers/infiniband/hw/hfi1/tid_rdma.c
2528
trace_hfi1_tid_req_rcv_read_resp(qp, 0, req->e.swqe->wr.opcode,
drivers/infiniband/hw/hfi1/tid_rdma.c
2590
if (wqe->wr.opcode == IB_WR_TID_RDMA_READ) {
drivers/infiniband/hw/hfi1/tid_rdma.c
2699
if (wqe->wr.opcode == IB_WR_RDMA_READ ||
drivers/infiniband/hw/hfi1/tid_rdma.c
2700
wqe->wr.opcode == IB_WR_TID_RDMA_READ ||
drivers/infiniband/hw/hfi1/tid_rdma.c
2701
wqe->wr.opcode == IB_WR_ATOMIC_CMP_AND_SWP ||
drivers/infiniband/hw/hfi1/tid_rdma.c
2702
wqe->wr.opcode == IB_WR_ATOMIC_FETCH_AND_ADD) {
drivers/infiniband/hw/hfi1/tid_rdma.c
2706
if (wqe->wr.opcode == IB_WR_TID_RDMA_READ) {
drivers/infiniband/hw/hfi1/tid_rdma.c
2737
if (wqe->wr.opcode != IB_WR_TID_RDMA_READ)
drivers/infiniband/hw/hfi1/tid_rdma.c
2741
trace_hfi1_tid_req_read_kdeth_eflags(qp, 0, wqe->wr.opcode, wqe->psn,
drivers/infiniband/hw/hfi1/tid_rdma.c
3056
if (wqe->wr.opcode == IB_WR_TID_RDMA_READ) {
drivers/infiniband/hw/hfi1/tid_rdma.c
3063
trace_hfi1_tid_req_restart_req(qp, 0, wqe->wr.opcode,
drivers/infiniband/hw/hfi1/tid_rdma.c
3074
if (wqe->wr.opcode == IB_WR_TID_RDMA_READ)
drivers/infiniband/hw/hfi1/tid_rdma.c
3106
if (wqe->wr.opcode == IB_WR_TID_RDMA_WRITE) {
drivers/infiniband/hw/hfi1/tid_rdma.c
3125
if (wqe->wr.opcode == IB_WR_TID_RDMA_READ)
drivers/infiniband/hw/hfi1/tid_rdma.c
3132
trace_hfi1_tid_req_restart_req(qp, 0, wqe->wr.opcode, wqe->psn,
drivers/infiniband/hw/hfi1/tid_rdma.c
3135
if (wqe->wr.opcode == IB_WR_TID_RDMA_WRITE) {
drivers/infiniband/hw/hfi1/tid_rdma.c
3153
} while (wqe->wr.opcode != IB_WR_TID_RDMA_WRITE);
drivers/infiniband/hw/hfi1/tid_rdma.c
3186
if (wqe->wr.opcode != IB_WR_TID_RDMA_READ)
drivers/infiniband/hw/hfi1/tid_rdma.c
3220
switch (wqe->wr.opcode) {
drivers/infiniband/hw/hfi1/tid_rdma.c
3228
switch (prev->wr.opcode) {
drivers/infiniband/hw/hfi1/tid_rdma.c
3239
if (prev->wr.opcode != IB_WR_TID_RDMA_WRITE)
drivers/infiniband/hw/hfi1/tid_rdma.c
3243
switch (prev->wr.opcode) {
drivers/infiniband/hw/hfi1/tid_rdma.c
3306
if (wqe->wr.opcode == IB_WR_RDMA_READ) {
drivers/infiniband/hw/hfi1/tid_rdma.c
3308
wqe->wr.num_sge)) {
drivers/infiniband/hw/hfi1/tid_rdma.c
3312
} else if (wqe->wr.opcode == IB_WR_RDMA_WRITE) {
drivers/infiniband/hw/hfi1/tid_rdma.c
3329
wqe->wr.opcode = new_opcode;
drivers/infiniband/hw/hfi1/tid_rdma.c
3336
if (wqe->wr.opcode == IB_WR_TID_RDMA_READ) {
drivers/infiniband/hw/hfi1/tid_rdma.c
3356
trace_hfi1_tid_req_setup_tid_wqe(qp, 1, wqe->wr.opcode,
drivers/infiniband/hw/hfi1/tid_rdma.c
4082
if (unlikely(wqe->wr.opcode != IB_WR_TID_RDMA_WRITE))
drivers/infiniband/hw/hfi1/tid_rdma.c
4155
trace_hfi1_tid_req_rcv_write_resp(qp, 0, wqe->wr.opcode, wqe->psn,
drivers/infiniband/hw/hfi1/tid_rdma.c
4186
if (wqe->wr.opcode == IB_WR_TID_RDMA_WRITE)
drivers/infiniband/hw/hfi1/tid_rdma.c
4539
if (wqe->wr.opcode != IB_WR_TID_RDMA_WRITE)
drivers/infiniband/hw/hfi1/tid_rdma.c
4543
trace_hfi1_tid_req_rcv_tid_ack(qp, 0, wqe->wr.opcode, wqe->psn,
drivers/infiniband/hw/hfi1/tid_rdma.c
4560
trace_hfi1_tid_req_rcv_tid_ack(qp, 0, wqe->wr.opcode, wqe->psn,
drivers/infiniband/hw/hfi1/tid_rdma.c
4571
if (wqe->wr.opcode != IB_WR_TID_RDMA_WRITE)
drivers/infiniband/hw/hfi1/tid_rdma.c
4579
trace_hfi1_tid_req_rcv_tid_ack(qp, 0, wqe->wr.opcode, wqe->psn,
drivers/infiniband/hw/hfi1/tid_rdma.c
4587
if (wqe->wr.opcode == IB_WR_TID_RDMA_WRITE &&
drivers/infiniband/hw/hfi1/tid_rdma.c
4825
qp, 0, wqe->wr.opcode, wqe->psn, wqe->lpsn, req);
drivers/infiniband/hw/hfi1/tid_rdma.c
5002
if (wqe->wr.opcode == IB_WR_TID_RDMA_WRITE)
drivers/infiniband/hw/hfi1/tid_rdma.c
5071
trace_hfi1_tid_req_make_tid_pkt(qp, 0, wqe->wr.opcode, wqe->psn,
drivers/infiniband/hw/hfi1/tid_rdma.c
5078
priv->tid_ss.num_sge = wqe->wr.num_sge;
drivers/infiniband/hw/hfi1/tid_rdma.c
5109
trace_hfi1_tid_req_make_tid_pkt(qp, 0, wqe->wr.opcode,
drivers/infiniband/hw/hfi1/tid_rdma.h
268
(wqe->wr.opcode == IB_WR_RDMA_READ ||
drivers/infiniband/hw/hfi1/tid_rdma.h
269
wqe->wr.opcode == IB_WR_RDMA_WRITE) &&
drivers/infiniband/hw/hfi1/trace_rc.h
96
__entry->opcode = wqe->wr.opcode;
drivers/infiniband/hw/hfi1/trace_tx.h
831
__entry->wr_id = wqe->wr.wr_id;
drivers/infiniband/hw/hfi1/trace_tx.h
837
__entry->opcode = wqe->wr.opcode;
drivers/infiniband/hw/hfi1/trace_tx.h
838
__entry->send_flags = wqe->wr.send_flags;
drivers/infiniband/hw/hfi1/uc.c
114
qp->s_sge.num_sge = wqe->wr.num_sge;
drivers/infiniband/hw/hfi1/uc.c
118
switch (wqe->wr.opcode) {
drivers/infiniband/hw/hfi1/uc.c
126
if (wqe->wr.opcode == IB_WR_SEND) {
drivers/infiniband/hw/hfi1/uc.c
132
ohdr->u.imm_data = wqe->wr.ex.imm_data;
drivers/infiniband/hw/hfi1/uc.c
135
if (wqe->wr.send_flags & IB_SEND_SOLICITED)
drivers/infiniband/hw/hfi1/uc.c
155
if (wqe->wr.opcode == IB_WR_RDMA_WRITE) {
drivers/infiniband/hw/hfi1/uc.c
161
ohdr->u.rc.imm_data = wqe->wr.ex.imm_data;
drivers/infiniband/hw/hfi1/uc.c
163
if (wqe->wr.send_flags & IB_SEND_SOLICITED)
drivers/infiniband/hw/hfi1/uc.c
186
if (wqe->wr.opcode == IB_WR_SEND) {
drivers/infiniband/hw/hfi1/uc.c
191
ohdr->u.imm_data = wqe->wr.ex.imm_data;
drivers/infiniband/hw/hfi1/uc.c
194
if (wqe->wr.send_flags & IB_SEND_SOLICITED)
drivers/infiniband/hw/hfi1/uc.c
211
if (wqe->wr.opcode == IB_WR_RDMA_WRITE) {
drivers/infiniband/hw/hfi1/uc.c
217
ohdr->u.imm_data = wqe->wr.ex.imm_data;
drivers/infiniband/hw/hfi1/uc.c
219
if (wqe->wr.send_flags & IB_SEND_SOLICITED)
drivers/infiniband/hw/hfi1/uc.c
88
if (wqe->wr.opcode == IB_WR_REG_MR ||
drivers/infiniband/hw/hfi1/uc.c
89
wqe->wr.opcode == IB_WR_LOCAL_INV) {
drivers/infiniband/hw/hfi1/uc.c
97
if (!(wqe->wr.send_flags & RVT_SEND_COMPLETION_ONLY)) {
drivers/infiniband/hw/hfi1/uc.c
99
qp, wqe->wr.ex.invalidate_rkey);
drivers/infiniband/hw/hfi1/ud.c
110
if (swqe->wr.opcode == IB_WR_SEND_WITH_IMM) {
drivers/infiniband/hw/hfi1/ud.c
112
wc.ex.imm_data = swqe->wr.ex.imm_data;
drivers/infiniband/hw/hfi1/ud.c
180
ssge.num_sge = swqe->wr.num_sge;
drivers/infiniband/hw/hfi1/ud.c
216
rvt_recv_cq(qp, &wc, swqe->wr.send_flags & IB_SEND_SOLICITED);
drivers/infiniband/hw/hfi1/ud.c
232
if (wqe->wr.opcode == IB_WR_SEND_WITH_IMM) {
drivers/infiniband/hw/hfi1/ud.c
233
ohdr->u.ud.imm_data = wqe->wr.ex.imm_data;
drivers/infiniband/hw/hfi1/ud.c
239
if (wqe->wr.send_flags & IB_SEND_SOLICITED)
drivers/infiniband/hw/hfi1/ud.c
283
if (wqe->wr.opcode == IB_WR_SEND_WITH_IMM)
drivers/infiniband/hw/hfi1/ud.c
362
if (wqe->wr.opcode == IB_WR_SEND_WITH_IMM)
drivers/infiniband/hw/hfi1/ud.c
516
qp->s_sge.num_sge = wqe->wr.num_sge;
drivers/infiniband/hw/hns/hns_roce_device.h
1293
__be32 send_ieth(const struct ib_send_wr *wr);
drivers/infiniband/hw/hns/hns_roce_hw_v2.c
1010
.wr = {
drivers/infiniband/hw/hns/hns_roce_hw_v2.c
1030
ret = hns_roce_push_drain_wr(&hr_qp->sq, cq, swr.wr.wr_id);
drivers/infiniband/hw/hns/hns_roce_hw_v2.c
1032
ret = hns_roce_v2_post_send(ibqp, &swr.wr, &bad_swr);
drivers/infiniband/hw/hns/hns_roce_hw_v2.c
1073
const struct ib_recv_wr *wr)
drivers/infiniband/hw/hns/hns_roce_hw_v2.c
1077
if (unlikely(wr->num_sge > max_sge)) {
drivers/infiniband/hw/hns/hns_roce_hw_v2.c
1080
wr->num_sge, max_sge);
drivers/infiniband/hw/hns/hns_roce_hw_v2.c
1134
const struct ib_recv_wr *wr,
drivers/infiniband/hw/hns/hns_roce_hw_v2.c
1148
for (nreq = 0; wr; ++nreq, wr = wr->next) {
drivers/infiniband/hw/hns/hns_roce_hw_v2.c
1149
ret = check_post_srq_valid(srq, max_sge, wr);
drivers/infiniband/hw/hns/hns_roce_hw_v2.c
1151
*bad_wr = wr;
drivers/infiniband/hw/hns/hns_roce_hw_v2.c
1157
*bad_wr = wr;
drivers/infiniband/hw/hns/hns_roce_hw_v2.c
1162
fill_recv_sge_to_wqe(wr, wqe, max_sge, srq->rsv_sge);
drivers/infiniband/hw/hns/hns_roce_hw_v2.c
1164
srq->wrid[wqe_idx] = wr->wr_id;
drivers/infiniband/hw/hns/hns_roce_hw_v2.c
1167
wr->wr_id, TRACE_SRQ);
drivers/infiniband/hw/hns/hns_roce_hw_v2.c
141
const struct ib_reg_wr *wr)
drivers/infiniband/hw/hns/hns_roce_hw_v2.c
145
struct hns_roce_mr *mr = to_hr_mr(wr->mr);
drivers/infiniband/hw/hns/hns_roce_hw_v2.c
151
wr->access & IB_ACCESS_REMOTE_ATOMIC);
drivers/infiniband/hw/hns/hns_roce_hw_v2.c
152
hr_reg_write_bool(fseg, FRMR_RR, wr->access & IB_ACCESS_REMOTE_READ);
drivers/infiniband/hw/hns/hns_roce_hw_v2.c
153
hr_reg_write_bool(fseg, FRMR_RW, wr->access & IB_ACCESS_REMOTE_WRITE);
drivers/infiniband/hw/hns/hns_roce_hw_v2.c
154
hr_reg_write_bool(fseg, FRMR_LW, wr->access & IB_ACCESS_LOCAL_WRITE);
drivers/infiniband/hw/hns/hns_roce_hw_v2.c
161
rc_sq_wqe->byte_16 = cpu_to_le32(wr->mr->length & 0xffffffff);
drivers/infiniband/hw/hns/hns_roce_hw_v2.c
162
rc_sq_wqe->byte_20 = cpu_to_le32(wr->mr->length >> 32);
drivers/infiniband/hw/hns/hns_roce_hw_v2.c
163
rc_sq_wqe->rkey = cpu_to_le32(wr->key);
drivers/infiniband/hw/hns/hns_roce_hw_v2.c
164
rc_sq_wqe->va = cpu_to_le64(wr->mr->iova);
drivers/infiniband/hw/hns/hns_roce_hw_v2.c
174
static void set_atomic_seg(const struct ib_send_wr *wr,
drivers/infiniband/hw/hns/hns_roce_hw_v2.c
183
set_data_seg_v2(dseg, wr->sg_list);
drivers/infiniband/hw/hns/hns_roce_hw_v2.c
185
if (wr->opcode == IB_WR_ATOMIC_CMP_AND_SWP) {
drivers/infiniband/hw/hns/hns_roce_hw_v2.c
186
aseg->fetchadd_swap_data = cpu_to_le64(atomic_wr(wr)->swap);
drivers/infiniband/hw/hns/hns_roce_hw_v2.c
187
aseg->cmp_data = cpu_to_le64(atomic_wr(wr)->compare_add);
drivers/infiniband/hw/hns/hns_roce_hw_v2.c
190
cpu_to_le64(atomic_wr(wr)->compare_add);
drivers/infiniband/hw/hns/hns_roce_hw_v2.c
198
const struct ib_send_wr *wr,
drivers/infiniband/hw/hns/hns_roce_hw_v2.c
217
len = wr->sg_list[0].length;
drivers/infiniband/hw/hns/hns_roce_hw_v2.c
218
addr = (void *)(unsigned long)(wr->sg_list[0].addr);
drivers/infiniband/hw/hns/hns_roce_hw_v2.c
232
if (i >= wr->num_sge)
drivers/infiniband/hw/hns/hns_roce_hw_v2.c
236
len = wr->sg_list[i].length;
drivers/infiniband/hw/hns/hns_roce_hw_v2.c
237
addr = (void *)(unsigned long)(wr->sg_list[i].addr);
drivers/infiniband/hw/hns/hns_roce_hw_v2.c
290
static int set_rc_inl(struct hns_roce_qp *qp, const struct ib_send_wr *wr,
drivers/infiniband/hw/hns/hns_roce_hw_v2.c
302
if (unlikely(wr->opcode == IB_WR_RDMA_READ)) {
drivers/infiniband/hw/hns/hns_roce_hw_v2.c
315
for (i = 0; i < wr->num_sge; i++) {
drivers/infiniband/hw/hns/hns_roce_hw_v2.c
316
memcpy(dseg, ((void *)wr->sg_list[i].addr),
drivers/infiniband/hw/hns/hns_roce_hw_v2.c
317
wr->sg_list[i].length);
drivers/infiniband/hw/hns/hns_roce_hw_v2.c
318
dseg += wr->sg_list[i].length;
drivers/infiniband/hw/hns/hns_roce_hw_v2.c
323
ret = fill_ext_sge_inl_data(qp, wr, &curr_idx, msg_len);
drivers/infiniband/hw/hns/hns_roce_hw_v2.c
335
static int set_rwqe_data_seg(struct ib_qp *ibqp, const struct ib_send_wr *wr,
drivers/infiniband/hw/hns/hns_roce_hw_v2.c
347
!!(wr->send_flags & IB_SEND_INLINE));
drivers/infiniband/hw/hns/hns_roce_hw_v2.c
348
if (wr->send_flags & IB_SEND_INLINE)
drivers/infiniband/hw/hns/hns_roce_hw_v2.c
349
return set_rc_inl(qp, wr, rc_sq_wqe, sge_ind);
drivers/infiniband/hw/hns/hns_roce_hw_v2.c
352
for (i = 0; i < wr->num_sge; i++) {
drivers/infiniband/hw/hns/hns_roce_hw_v2.c
353
if (likely(wr->sg_list[i].length)) {
drivers/infiniband/hw/hns/hns_roce_hw_v2.c
354
set_data_seg_v2(dseg, wr->sg_list + i);
drivers/infiniband/hw/hns/hns_roce_hw_v2.c
359
for (i = 0; i < wr->num_sge && j < HNS_ROCE_SGE_IN_WQE; i++) {
drivers/infiniband/hw/hns/hns_roce_hw_v2.c
360
if (likely(wr->sg_list[i].length)) {
drivers/infiniband/hw/hns/hns_roce_hw_v2.c
361
set_data_seg_v2(dseg, wr->sg_list + i);
drivers/infiniband/hw/hns/hns_roce_hw_v2.c
367
set_extend_sge(qp, wr->sg_list + i, sge_ind,
drivers/infiniband/hw/hns/hns_roce_hw_v2.c
3692
send_wr = &rdma_wr.wr;
drivers/infiniband/hw/hns/hns_roce_hw_v2.c
389
static unsigned int calc_wr_sge_num(const struct ib_send_wr *wr,
drivers/infiniband/hw/hns/hns_roce_hw_v2.c
396
for (i = 0; i < wr->num_sge; i++) {
drivers/infiniband/hw/hns/hns_roce_hw_v2.c
397
if (likely(wr->sg_list[i].length)) {
drivers/infiniband/hw/hns/hns_roce_hw_v2.c
398
len += wr->sg_list[i].length;
drivers/infiniband/hw/hns/hns_roce_hw_v2.c
407
static __le32 get_immtdata(const struct ib_send_wr *wr)
drivers/infiniband/hw/hns/hns_roce_hw_v2.c
409
switch (wr->opcode) {
drivers/infiniband/hw/hns/hns_roce_hw_v2.c
412
return cpu_to_le32(be32_to_cpu(wr->ex.imm_data));
drivers/infiniband/hw/hns/hns_roce_hw_v2.c
419
const struct ib_send_wr *wr)
drivers/infiniband/hw/hns/hns_roce_hw_v2.c
421
u32 ib_op = wr->opcode;
drivers/infiniband/hw/hns/hns_roce_hw_v2.c
426
ud_sq_wqe->immtdata = get_immtdata(wr);
drivers/infiniband/hw/hns/hns_roce_hw_v2.c
460
const struct ib_send_wr *wr,
drivers/infiniband/hw/hns/hns_roce_hw_v2.c
464
struct hns_roce_ah *ah = to_hr_ah(ud_wr(wr)->ah);
drivers/infiniband/hw/hns/hns_roce_hw_v2.c
471
valid_num_sge = calc_wr_sge_num(wr, &msg_len);
drivers/infiniband/hw/hns/hns_roce_hw_v2.c
473
ret = set_ud_opcode(ud_sq_wqe, wr);
drivers/infiniband/hw/hns/hns_roce_hw_v2.c
480
!!(wr->send_flags & IB_SEND_SIGNALED));
drivers/infiniband/hw/hns/hns_roce_hw_v2.c
482
!!(wr->send_flags & IB_SEND_SOLICITED));
drivers/infiniband/hw/hns/hns_roce_hw_v2.c
489
ud_sq_wqe->qkey = cpu_to_le32(ud_wr(wr)->remote_qkey & 0x80000000 ?
drivers/infiniband/hw/hns/hns_roce_hw_v2.c
490
qp->qkey : ud_wr(wr)->remote_qkey);
drivers/infiniband/hw/hns/hns_roce_hw_v2.c
491
hr_reg_write(ud_sq_wqe, UD_SEND_WQE_DQPN, ud_wr(wr)->remote_qpn);
drivers/infiniband/hw/hns/hns_roce_hw_v2.c
497
qp->sl = to_hr_ah(ud_wr(wr)->ah)->av.sl;
drivers/infiniband/hw/hns/hns_roce_hw_v2.c
499
set_extend_sge(qp, wr->sg_list, &curr_idx, valid_num_sge);
drivers/infiniband/hw/hns/hns_roce_hw_v2.c
518
const struct ib_send_wr *wr)
drivers/infiniband/hw/hns/hns_roce_hw_v2.c
520
u32 ib_op = wr->opcode;
drivers/infiniband/hw/hns/hns_roce_hw_v2.c
523
rc_sq_wqe->immtdata = get_immtdata(wr);
drivers/infiniband/hw/hns/hns_roce_hw_v2.c
529
rc_sq_wqe->rkey = cpu_to_le32(rdma_wr(wr)->rkey);
drivers/infiniband/hw/hns/hns_roce_hw_v2.c
530
rc_sq_wqe->va = cpu_to_le64(rdma_wr(wr)->remote_addr);
drivers/infiniband/hw/hns/hns_roce_hw_v2.c
537
rc_sq_wqe->rkey = cpu_to_le32(atomic_wr(wr)->rkey);
drivers/infiniband/hw/hns/hns_roce_hw_v2.c
538
rc_sq_wqe->va = cpu_to_le64(atomic_wr(wr)->remote_addr);
drivers/infiniband/hw/hns/hns_roce_hw_v2.c
542
set_frmr_seg(rc_sq_wqe, reg_wr(wr));
drivers/infiniband/hw/hns/hns_roce_hw_v2.c
547
rc_sq_wqe->inv_key = cpu_to_le32(wr->ex.invalidate_rkey);
drivers/infiniband/hw/hns/hns_roce_hw_v2.c
562
const struct ib_send_wr *wr,
drivers/infiniband/hw/hns/hns_roce_hw_v2.c
573
valid_num_sge = calc_wr_sge_num(wr, &msg_len);
drivers/infiniband/hw/hns/hns_roce_hw_v2.c
577
ret = set_rc_opcode(hr_dev, rc_sq_wqe, wr);
drivers/infiniband/hw/hns/hns_roce_hw_v2.c
582
(wr->send_flags & IB_SEND_FENCE) ? 1 : 0);
drivers/infiniband/hw/hns/hns_roce_hw_v2.c
585
(wr->send_flags & IB_SEND_SOLICITED) ? 1 : 0);
drivers/infiniband/hw/hns/hns_roce_hw_v2.c
588
(wr->send_flags & IB_SEND_SIGNALED) ? 1 : 0);
drivers/infiniband/hw/hns/hns_roce_hw_v2.c
593
if (wr->opcode == IB_WR_ATOMIC_CMP_AND_SWP ||
drivers/infiniband/hw/hns/hns_roce_hw_v2.c
594
wr->opcode == IB_WR_ATOMIC_FETCH_AND_ADD) {
drivers/infiniband/hw/hns/hns_roce_hw_v2.c
597
set_atomic_seg(wr, rc_sq_wqe, valid_num_sge);
drivers/infiniband/hw/hns/hns_roce_hw_v2.c
598
} else if (wr->opcode != IB_WR_REG_MR) {
drivers/infiniband/hw/hns/hns_roce_hw_v2.c
599
ret = set_rwqe_data_seg(&qp->ibqp, wr, rc_sq_wqe,
drivers/infiniband/hw/hns/hns_roce_hw_v2.c
694
const struct ib_send_wr *wr,
drivers/infiniband/hw/hns/hns_roce_hw_v2.c
712
*bad_wr = wr;
drivers/infiniband/hw/hns/hns_roce_hw_v2.c
719
for (nreq = 0; wr; ++nreq, wr = wr->next) {
drivers/infiniband/hw/hns/hns_roce_hw_v2.c
722
*bad_wr = wr;
drivers/infiniband/hw/hns/hns_roce_hw_v2.c
728
if (unlikely(wr->num_sge > qp->sq.max_gs)) {
drivers/infiniband/hw/hns/hns_roce_hw_v2.c
730
wr->num_sge, qp->sq.max_gs);
drivers/infiniband/hw/hns/hns_roce_hw_v2.c
732
*bad_wr = wr;
drivers/infiniband/hw/hns/hns_roce_hw_v2.c
737
qp->sq.wrid[wqe_idx] = wr->wr_id;
drivers/infiniband/hw/hns/hns_roce_hw_v2.c
746
ret = set_rc_wqe(qp, wr, wqe, &sge_idx, owner_bit);
drivers/infiniband/hw/hns/hns_roce_hw_v2.c
748
ret = set_ud_wqe(qp, wr, wqe, &sge_idx, owner_bit);
drivers/infiniband/hw/hns/hns_roce_hw_v2.c
751
wr->wr_id, TRACE_SQ);
drivers/infiniband/hw/hns/hns_roce_hw_v2.c
753
*bad_wr = wr;
drivers/infiniband/hw/hns/hns_roce_hw_v2.c
787
static void fill_recv_sge_to_wqe(const struct ib_recv_wr *wr, void *wqe,
drivers/infiniband/hw/hns/hns_roce_hw_v2.c
793
for (i = 0, cnt = 0; i < wr->num_sge; i++) {
drivers/infiniband/hw/hns/hns_roce_hw_v2.c
795
if (!wr->sg_list[i].length)
drivers/infiniband/hw/hns/hns_roce_hw_v2.c
797
set_data_seg_v2(dseg + cnt, wr->sg_list + i);
drivers/infiniband/hw/hns/hns_roce_hw_v2.c
814
static void fill_rq_wqe(struct hns_roce_qp *hr_qp, const struct ib_recv_wr *wr,
drivers/infiniband/hw/hns/hns_roce_hw_v2.c
820
fill_recv_sge_to_wqe(wr, wqe, max_sge, hr_qp->rq.rsv_sge);
drivers/infiniband/hw/hns/hns_roce_hw_v2.c
823
wr->wr_id, TRACE_RQ);
drivers/infiniband/hw/hns/hns_roce_hw_v2.c
827
const struct ib_recv_wr *wr,
drivers/infiniband/hw/hns/hns_roce_hw_v2.c
841
*bad_wr = wr;
drivers/infiniband/hw/hns/hns_roce_hw_v2.c
847
for (nreq = 0; wr; ++nreq, wr = wr->next) {
drivers/infiniband/hw/hns/hns_roce_hw_v2.c
851
*bad_wr = wr;
drivers/infiniband/hw/hns/hns_roce_hw_v2.c
855
if (unlikely(wr->num_sge > max_sge)) {
drivers/infiniband/hw/hns/hns_roce_hw_v2.c
857
wr->num_sge, max_sge);
drivers/infiniband/hw/hns/hns_roce_hw_v2.c
859
*bad_wr = wr;
drivers/infiniband/hw/hns/hns_roce_hw_v2.c
864
fill_rq_wqe(hr_qp, wr, wqe_idx, max_sge);
drivers/infiniband/hw/hns/hns_roce_hw_v2.c
865
hr_qp->rq.wrid[wqe_idx] = wr->wr_id;
drivers/infiniband/hw/ionic/ionic_admin.c
108
list_for_each_entry_safe(wr, wr_next, &aq->wr_prod, aq_ent) {
drivers/infiniband/hw/ionic/ionic_admin.c
109
INIT_LIST_HEAD(&wr->aq_ent);
drivers/infiniband/hw/ionic/ionic_admin.c
110
aq->q_wr[wr->status].wr = NULL;
drivers/infiniband/hw/ionic/ionic_admin.c
111
wr->status = atomic_read(&aq->admin_state);
drivers/infiniband/hw/ionic/ionic_admin.c
112
complete_all(&wr->work);
drivers/infiniband/hw/ionic/ionic_admin.c
116
list_for_each_entry_safe(wr, wr_next, &aq->wr_post, aq_ent) {
drivers/infiniband/hw/ionic/ionic_admin.c
117
INIT_LIST_HEAD(&wr->aq_ent);
drivers/infiniband/hw/ionic/ionic_admin.c
118
wr->status = atomic_read(&aq->admin_state);
drivers/infiniband/hw/ionic/ionic_admin.c
119
complete_all(&wr->work);
drivers/infiniband/hw/ionic/ionic_admin.c
159
wr = aq->q_wr[aq->q.cons].wr;
drivers/infiniband/hw/ionic/ionic_admin.c
160
if (wr) {
drivers/infiniband/hw/ionic/ionic_admin.c
161
aq->q_wr[aq->q.cons].wr = NULL;
drivers/infiniband/hw/ionic/ionic_admin.c
162
list_del_init(&wr->aq_ent);
drivers/infiniband/hw/ionic/ionic_admin.c
164
wr->cqe = *cqe;
drivers/infiniband/hw/ionic/ionic_admin.c
165
wr->status = atomic_read(&aq->admin_state);
drivers/infiniband/hw/ionic/ionic_admin.c
166
complete_all(&wr->work);
drivers/infiniband/hw/ionic/ionic_admin.c
208
wr = list_first_entry(&aq->wr_post, struct ionic_admin_wr,
drivers/infiniband/hw/ionic/ionic_admin.c
210
wr_strides = (le16_to_cpu(wr->wqe.len) + ADMIN_WQE_HDR_LEN +
drivers/infiniband/hw/ionic/ionic_admin.c
217
list_move(&wr->aq_ent, &aq->wr_prod);
drivers/infiniband/hw/ionic/ionic_admin.c
218
wr->status = aq->q.prod;
drivers/infiniband/hw/ionic/ionic_admin.c
219
aq->q_wr[aq->q.prod].wr = wr;
drivers/infiniband/hw/ionic/ionic_admin.c
222
src_len = le16_to_cpu(wr->wqe.len);
drivers/infiniband/hw/ionic/ionic_admin.c
223
src = (uint8_t *)&wr->wqe.cmd;
drivers/infiniband/hw/ionic/ionic_admin.c
226
memcpy(ionic_queue_at_prod(&aq->q), &wr->wqe,
drivers/infiniband/hw/ionic/ionic_admin.c
329
static void ionic_admin_post_aq(struct ionic_aq *aq, struct ionic_admin_wr *wr)
drivers/infiniband/hw/ionic/ionic_admin.c
334
wr->status = IONIC_ADMIN_POSTED;
drivers/infiniband/hw/ionic/ionic_admin.c
335
wr->aq = aq;
drivers/infiniband/hw/ionic/ionic_admin.c
339
list_add(&wr->aq_ent, &aq->wr_post);
drivers/infiniband/hw/ionic/ionic_admin.c
345
void ionic_admin_post(struct ionic_ibdev *dev, struct ionic_admin_wr *wr)
drivers/infiniband/hw/ionic/ionic_admin.c
351
ionic_admin_post_aq(dev->aq_vec[aq_idx], wr);
drivers/infiniband/hw/ionic/ionic_admin.c
354
static void ionic_admin_cancel(struct ionic_admin_wr *wr)
drivers/infiniband/hw/ionic/ionic_admin.c
356
struct ionic_aq *aq = wr->aq;
drivers/infiniband/hw/ionic/ionic_admin.c
361
if (!list_empty(&wr->aq_ent)) {
drivers/infiniband/hw/ionic/ionic_admin.c
362
list_del(&wr->aq_ent);
drivers/infiniband/hw/ionic/ionic_admin.c
363
if (wr->status != IONIC_ADMIN_POSTED)
drivers/infiniband/hw/ionic/ionic_admin.c
364
aq->q_wr[wr->status].wr = NULL;
drivers/infiniband/hw/ionic/ionic_admin.c
370
static int ionic_admin_busy_wait(struct ionic_admin_wr *wr)
drivers/infiniband/hw/ionic/ionic_admin.c
372
struct ionic_aq *aq = wr->aq;
drivers/infiniband/hw/ionic/ionic_admin.c
377
if (completion_done(&wr->work))
drivers/infiniband/hw/ionic/ionic_admin.c
395
int ionic_admin_wait(struct ionic_ibdev *dev, struct ionic_admin_wr *wr,
drivers/infiniband/hw/ionic/ionic_admin.c
402
rc = ionic_admin_busy_wait(wr);
drivers/infiniband/hw/ionic/ionic_admin.c
409
timo = wait_for_completion_interruptible_timeout(&wr->work,
drivers/infiniband/hw/ionic/ionic_admin.c
425
wait_for_completion(&wr->work);
drivers/infiniband/hw/ionic/ionic_admin.c
431
ionic_admin_cancel(wr);
drivers/infiniband/hw/ionic/ionic_admin.c
432
} else if (wr->status == IONIC_ADMIN_KILLED) {
drivers/infiniband/hw/ionic/ionic_admin.c
437
} else if (ionic_v1_cqe_error(&wr->cqe)) {
drivers/infiniband/hw/ionic/ionic_admin.c
439
wr->wqe.op,
drivers/infiniband/hw/ionic/ionic_admin.c
440
be32_to_cpu(wr->cqe.status_length));
drivers/infiniband/hw/ionic/ionic_admin.c
97
struct ionic_admin_wr *wr, *wr_next;
drivers/infiniband/hw/ionic/ionic_controlpath.c
1166
struct ionic_admin_wr wr = {
drivers/infiniband/hw/ionic/ionic_controlpath.c
1167
.work = COMPLETION_INITIALIZER_ONSTACK(wr.work),
drivers/infiniband/hw/ionic/ionic_controlpath.c
1188
ionic_admin_post(dev, &wr);
drivers/infiniband/hw/ionic/ionic_controlpath.c
1190
return ionic_admin_wait(dev, &wr, 0);
drivers/infiniband/hw/ionic/ionic_controlpath.c
1195
struct ionic_admin_wr wr = {
drivers/infiniband/hw/ionic/ionic_controlpath.c
1196
.work = COMPLETION_INITIALIZER_ONSTACK(wr.work),
drivers/infiniband/hw/ionic/ionic_controlpath.c
1209
ionic_admin_post(dev, &wr);
drivers/infiniband/hw/ionic/ionic_controlpath.c
1211
return ionic_admin_wait(dev, &wr, IONIC_ADMIN_F_TEARDOWN);
drivers/infiniband/hw/ionic/ionic_controlpath.c
1336
struct ionic_admin_wr wr = {
drivers/infiniband/hw/ionic/ionic_controlpath.c
1337
.work = COMPLETION_INITIALIZER_ONSTACK(wr.work),
drivers/infiniband/hw/ionic/ionic_controlpath.c
1355
wr.wqe.cmd.create_qp.sq_cq_id = cpu_to_le32(send_cq->cqid);
drivers/infiniband/hw/ionic/ionic_controlpath.c
1356
wr.wqe.cmd.create_qp.sq_depth_log2 = qp->sq.depth_log2;
drivers/infiniband/hw/ionic/ionic_controlpath.c
1357
wr.wqe.cmd.create_qp.sq_stride_log2 = qp->sq.stride_log2;
drivers/infiniband/hw/ionic/ionic_controlpath.c
1358
wr.wqe.cmd.create_qp.sq_page_size_log2 = sq_buf->page_size_log2;
drivers/infiniband/hw/ionic/ionic_controlpath.c
1359
wr.wqe.cmd.create_qp.sq_tbl_index_xrcd_id = cpu_to_le32(~0);
drivers/infiniband/hw/ionic/ionic_controlpath.c
1360
wr.wqe.cmd.create_qp.sq_map_count =
drivers/infiniband/hw/ionic/ionic_controlpath.c
1362
wr.wqe.cmd.create_qp.sq_dma_addr = ionic_pgtbl_dma(sq_buf, 0);
drivers/infiniband/hw/ionic/ionic_controlpath.c
1366
wr.wqe.cmd.create_qp.rq_cq_id = cpu_to_le32(recv_cq->cqid);
drivers/infiniband/hw/ionic/ionic_controlpath.c
1367
wr.wqe.cmd.create_qp.rq_depth_log2 = qp->rq.depth_log2;
drivers/infiniband/hw/ionic/ionic_controlpath.c
1368
wr.wqe.cmd.create_qp.rq_stride_log2 = qp->rq.stride_log2;
drivers/infiniband/hw/ionic/ionic_controlpath.c
1369
wr.wqe.cmd.create_qp.rq_page_size_log2 = rq_buf->page_size_log2;
drivers/infiniband/hw/ionic/ionic_controlpath.c
1370
wr.wqe.cmd.create_qp.rq_tbl_index_srq_id = cpu_to_le32(~0);
drivers/infiniband/hw/ionic/ionic_controlpath.c
1371
wr.wqe.cmd.create_qp.rq_map_count =
drivers/infiniband/hw/ionic/ionic_controlpath.c
1373
wr.wqe.cmd.create_qp.rq_dma_addr = ionic_pgtbl_dma(rq_buf, 0);
drivers/infiniband/hw/ionic/ionic_controlpath.c
1376
ionic_admin_post(dev, &wr);
drivers/infiniband/hw/ionic/ionic_controlpath.c
1378
return ionic_admin_wait(dev, &wr, 0);
drivers/infiniband/hw/ionic/ionic_controlpath.c
1396
struct ionic_admin_wr wr = {
drivers/infiniband/hw/ionic/ionic_controlpath.c
1397
.work = COMPLETION_INITIALIZER_ONSTACK(wr.work),
drivers/infiniband/hw/ionic/ionic_controlpath.c
1438
wr.wqe.cmd.mod_qp.rsq_depth =
drivers/infiniband/hw/ionic/ionic_controlpath.c
1440
wr.wqe.cmd.mod_qp.rsq_index = cpu_to_le32(~0);
drivers/infiniband/hw/ionic/ionic_controlpath.c
1445
wr.wqe.cmd.mod_qp.rrq_depth =
drivers/infiniband/hw/ionic/ionic_controlpath.c
1447
wr.wqe.cmd.mod_qp.rrq_index = cpu_to_le32(~0);
drivers/infiniband/hw/ionic/ionic_controlpath.c
1451
wr.wqe.cmd.mod_qp.qkey_dest_qpn =
drivers/infiniband/hw/ionic/ionic_controlpath.c
1454
wr.wqe.cmd.mod_qp.qkey_dest_qpn = cpu_to_le32(attr->qkey);
drivers/infiniband/hw/ionic/ionic_controlpath.c
1489
wr.wqe.cmd.mod_qp.tfp_csum_profile =
drivers/infiniband/hw/ionic/ionic_controlpath.c
1494
wr.wqe.cmd.mod_qp.tfp_csum_profile =
drivers/infiniband/hw/ionic/ionic_controlpath.c
1500
wr.wqe.cmd.mod_qp.ah_id_len =
drivers/infiniband/hw/ionic/ionic_controlpath.c
1502
wr.wqe.cmd.mod_qp.dma_addr = cpu_to_le64(hdr_dma);
drivers/infiniband/hw/ionic/ionic_controlpath.c
1504
wr.wqe.cmd.mod_qp.en_pcp = attr->ah_attr.sl;
drivers/infiniband/hw/ionic/ionic_controlpath.c
1505
wr.wqe.cmd.mod_qp.ip_dscp = grh->traffic_class >> 2;
drivers/infiniband/hw/ionic/ionic_controlpath.c
1508
ionic_admin_post(dev, &wr);
drivers/infiniband/hw/ionic/ionic_controlpath.c
1510
rc = ionic_admin_wait(dev, &wr, 0);
drivers/infiniband/hw/ionic/ionic_controlpath.c
1527
struct ionic_admin_wr wr = {
drivers/infiniband/hw/ionic/ionic_controlpath.c
1528
.work = COMPLETION_INITIALIZER_ONSTACK(wr.work),
drivers/infiniband/hw/ionic/ionic_controlpath.c
1602
wr.wqe.cmd.query_qp.sq_dma_addr = cpu_to_le64(query_sqdma);
drivers/infiniband/hw/ionic/ionic_controlpath.c
1603
wr.wqe.cmd.query_qp.rq_dma_addr = cpu_to_le64(query_rqdma);
drivers/infiniband/hw/ionic/ionic_controlpath.c
1604
wr.wqe.cmd.query_qp.hdr_dma_addr = cpu_to_le64(hdr_dma);
drivers/infiniband/hw/ionic/ionic_controlpath.c
1605
wr.wqe.cmd.query_qp.ah_id = cpu_to_le32(qp->ahid);
drivers/infiniband/hw/ionic/ionic_controlpath.c
1607
ionic_admin_post(dev, &wr);
drivers/infiniband/hw/ionic/ionic_controlpath.c
1609
rc = ionic_admin_wait(dev, &wr, 0);
drivers/infiniband/hw/ionic/ionic_controlpath.c
1674
struct ionic_admin_wr wr = {
drivers/infiniband/hw/ionic/ionic_controlpath.c
1675
.work = COMPLETION_INITIALIZER_ONSTACK(wr.work),
drivers/infiniband/hw/ionic/ionic_controlpath.c
1688
ionic_admin_post(dev, &wr);
drivers/infiniband/hw/ionic/ionic_controlpath.c
1690
return ionic_admin_wait(dev, &wr, IONIC_ADMIN_F_TEARDOWN);
drivers/infiniband/hw/ionic/ionic_controlpath.c
624
struct ionic_admin_wr wr = {
drivers/infiniband/hw/ionic/ionic_controlpath.c
625
.work = COMPLETION_INITIALIZER_ONSTACK(wr.work),
drivers/infiniband/hw/ionic/ionic_controlpath.c
656
wr.wqe.cmd.create_ah.csum_profile =
drivers/infiniband/hw/ionic/ionic_controlpath.c
659
wr.wqe.cmd.create_ah.csum_profile =
drivers/infiniband/hw/ionic/ionic_controlpath.c
663
wr.wqe.cmd.create_ah.csum_profile =
drivers/infiniband/hw/ionic/ionic_controlpath.c
666
wr.wqe.cmd.create_ah.csum_profile =
drivers/infiniband/hw/ionic/ionic_controlpath.c
690
wr.wqe.cmd.create_ah.dma_addr = cpu_to_le64(hdr_dma);
drivers/infiniband/hw/ionic/ionic_controlpath.c
691
wr.wqe.cmd.create_ah.length = cpu_to_le32(hdr_len);
drivers/infiniband/hw/ionic/ionic_controlpath.c
693
ionic_admin_post(dev, &wr);
drivers/infiniband/hw/ionic/ionic_controlpath.c
694
rc = ionic_admin_wait(dev, &wr, admin_flags);
drivers/infiniband/hw/ionic/ionic_controlpath.c
706
struct ionic_admin_wr wr = {
drivers/infiniband/hw/ionic/ionic_controlpath.c
707
.work = COMPLETION_INITIALIZER_ONSTACK(wr.work),
drivers/infiniband/hw/ionic/ionic_controlpath.c
724
ionic_admin_post(dev, &wr);
drivers/infiniband/hw/ionic/ionic_controlpath.c
725
ionic_admin_wait(dev, &wr, admin_flags);
drivers/infiniband/hw/ionic/ionic_controlpath.c
800
struct ionic_admin_wr wr = {
drivers/infiniband/hw/ionic/ionic_controlpath.c
801
.work = COMPLETION_INITIALIZER_ONSTACK(wr.work),
drivers/infiniband/hw/ionic/ionic_controlpath.c
823
ionic_admin_post(dev, &wr);
drivers/infiniband/hw/ionic/ionic_controlpath.c
824
rc = ionic_admin_wait(dev, &wr, 0);
drivers/infiniband/hw/ionic/ionic_controlpath.c
833
struct ionic_admin_wr wr = {
drivers/infiniband/hw/ionic/ionic_controlpath.c
834
.work = COMPLETION_INITIALIZER_ONSTACK(wr.work),
drivers/infiniband/hw/ionic/ionic_controlpath.c
847
ionic_admin_post(dev, &wr);
drivers/infiniband/hw/ionic/ionic_controlpath.c
849
return ionic_admin_wait(dev, &wr, IONIC_ADMIN_F_TEARDOWN);
drivers/infiniband/hw/ionic/ionic_datapath.c
1001
const struct ib_atomic_wr *wr)
drivers/infiniband/hw/ionic/ionic_datapath.c
1007
if (wr->wr.num_sge != 1 || wr->wr.sg_list[0].length != 8)
drivers/infiniband/hw/ionic/ionic_datapath.c
1010
if (wr->wr.send_flags & (IB_SEND_SOLICITED | IB_SEND_INLINE))
drivers/infiniband/hw/ionic/ionic_datapath.c
1020
switch (wr->wr.opcode) {
drivers/infiniband/hw/ionic/ionic_datapath.c
1024
wqe->atomic.swap_add_high = cpu_to_be32(wr->swap >> 32);
drivers/infiniband/hw/ionic/ionic_datapath.c
1025
wqe->atomic.swap_add_low = cpu_to_be32(wr->swap);
drivers/infiniband/hw/ionic/ionic_datapath.c
1026
wqe->atomic.compare_high = cpu_to_be32(wr->compare_add >> 32);
drivers/infiniband/hw/ionic/ionic_datapath.c
1027
wqe->atomic.compare_low = cpu_to_be32(wr->compare_add);
drivers/infiniband/hw/ionic/ionic_datapath.c
1032
wqe->atomic.swap_add_high = cpu_to_be32(wr->compare_add >> 32);
drivers/infiniband/hw/ionic/ionic_datapath.c
1033
wqe->atomic.swap_add_low = cpu_to_be32(wr->compare_add);
drivers/infiniband/hw/ionic/ionic_datapath.c
1039
wqe->atomic.remote_va_high = cpu_to_be32(wr->remote_addr >> 32);
drivers/infiniband/hw/ionic/ionic_datapath.c
1040
wqe->atomic.remote_va_low = cpu_to_be32(wr->remote_addr);
drivers/infiniband/hw/ionic/ionic_datapath.c
1041
wqe->atomic.remote_rkey = cpu_to_be32(wr->rkey);
drivers/infiniband/hw/ionic/ionic_datapath.c
1044
wqe->atomic.sge.va = cpu_to_be64(wr->wr.sg_list[0].addr);
drivers/infiniband/hw/ionic/ionic_datapath.c
1046
wqe->atomic.sge.lkey = cpu_to_be32(wr->wr.sg_list[0].lkey);
drivers/infiniband/hw/ionic/ionic_datapath.c
1048
return ionic_prep_common(qp, &wr->wr, meta, wqe);
drivers/infiniband/hw/ionic/ionic_datapath.c
1052
const struct ib_send_wr *wr)
drivers/infiniband/hw/ionic/ionic_datapath.c
1058
if (wr->send_flags & (IB_SEND_SOLICITED | IB_SEND_INLINE))
drivers/infiniband/hw/ionic/ionic_datapath.c
1067
wqe->base.imm_data_key = cpu_to_be32(wr->ex.invalidate_rkey);
drivers/infiniband/hw/ionic/ionic_datapath.c
1072
ionic_prep_base(qp, wr, meta, wqe);
drivers/infiniband/hw/ionic/ionic_datapath.c
1078
const struct ib_reg_wr *wr)
drivers/infiniband/hw/ionic/ionic_datapath.c
1081
struct ionic_mr *mr = to_ionic_mr(wr->mr);
drivers/infiniband/hw/ionic/ionic_datapath.c
1087
if (wr->wr.send_flags & (IB_SEND_SOLICITED | IB_SEND_INLINE))
drivers/infiniband/hw/ionic/ionic_datapath.c
1099
flags = to_ionic_mr_flags(wr->access);
drivers/infiniband/hw/ionic/ionic_datapath.c
1102
wqe->base.num_sge_key = wr->key;
drivers/infiniband/hw/ionic/ionic_datapath.c
1118
ionic_prep_base(qp, &wr->wr, meta, wqe);
drivers/infiniband/hw/ionic/ionic_datapath.c
1124
const struct ib_send_wr *wr)
drivers/infiniband/hw/ionic/ionic_datapath.c
1129
switch (wr->opcode) {
drivers/infiniband/hw/ionic/ionic_datapath.c
1133
rc = ionic_prep_send(qp, wr);
drivers/infiniband/hw/ionic/ionic_datapath.c
1138
rc = ionic_prep_rdma(qp, rdma_wr(wr));
drivers/infiniband/hw/ionic/ionic_datapath.c
1142
rc = ionic_prep_atomic(qp, atomic_wr(wr));
drivers/infiniband/hw/ionic/ionic_datapath.c
1145
rc = ionic_prep_inv(qp, wr);
drivers/infiniband/hw/ionic/ionic_datapath.c
1148
rc = ionic_prep_reg(qp, reg_wr(wr));
drivers/infiniband/hw/ionic/ionic_datapath.c
1151
ibdev_dbg(&dev->ibdev, "invalid opcode %d\n", wr->opcode);
drivers/infiniband/hw/ionic/ionic_datapath.c
1159
const struct ib_send_wr *wr)
drivers/infiniband/hw/ionic/ionic_datapath.c
1164
switch (wr->opcode) {
drivers/infiniband/hw/ionic/ionic_datapath.c
1167
rc = ionic_prep_send_ud(qp, ud_wr(wr));
drivers/infiniband/hw/ionic/ionic_datapath.c
1170
ibdev_dbg(&dev->ibdev, "invalid opcode %d\n", wr->opcode);
drivers/infiniband/hw/ionic/ionic_datapath.c
1178
const struct ib_recv_wr *wr)
drivers/infiniband/hw/ionic/ionic_datapath.c
1202
wr->sg_list, wr->num_sge);
drivers/infiniband/hw/ionic/ionic_datapath.c
1206
meta->wrid = wr->wr_id;
drivers/infiniband/hw/ionic/ionic_datapath.c
1209
wqe->base.num_sge_key = wr->num_sge;
drivers/infiniband/hw/ionic/ionic_datapath.c
1226
const struct ib_send_wr *wr,
drivers/infiniband/hw/ionic/ionic_datapath.c
1237
*bad = wr;
drivers/infiniband/hw/ionic/ionic_datapath.c
1242
*bad = wr;
drivers/infiniband/hw/ionic/ionic_datapath.c
1248
while (wr) {
drivers/infiniband/hw/ionic/ionic_datapath.c
1257
rc = ionic_prep_one_ud(qp, wr);
drivers/infiniband/hw/ionic/ionic_datapath.c
1259
rc = ionic_prep_one_rc(qp, wr);
drivers/infiniband/hw/ionic/ionic_datapath.c
1263
wr = wr->next;
drivers/infiniband/hw/ionic/ionic_datapath.c
1295
*bad = wr;
drivers/infiniband/hw/ionic/ionic_datapath.c
1303
const struct ib_recv_wr *wr,
drivers/infiniband/hw/ionic/ionic_datapath.c
1314
*bad = wr;
drivers/infiniband/hw/ionic/ionic_datapath.c
1319
*bad = wr;
drivers/infiniband/hw/ionic/ionic_datapath.c
1325
while (wr) {
drivers/infiniband/hw/ionic/ionic_datapath.c
1332
rc = ionic_prep_recv(qp, wr);
drivers/infiniband/hw/ionic/ionic_datapath.c
1336
wr = wr->next;
drivers/infiniband/hw/ionic/ionic_datapath.c
1373
*bad = wr;
drivers/infiniband/hw/ionic/ionic_datapath.c
1377
int ionic_post_send(struct ib_qp *ibqp, const struct ib_send_wr *wr,
drivers/infiniband/hw/ionic/ionic_datapath.c
1386
return ionic_post_send_common(dev, vcq, cq, qp, wr, bad);
drivers/infiniband/hw/ionic/ionic_datapath.c
1389
int ionic_post_recv(struct ib_qp *ibqp, const struct ib_recv_wr *wr,
drivers/infiniband/hw/ionic/ionic_datapath.c
1398
return ionic_post_recv_common(dev, vcq, cq, qp, wr, bad);
drivers/infiniband/hw/ionic/ionic_datapath.c
805
const struct ib_send_wr *wr,
drivers/infiniband/hw/ionic/ionic_datapath.c
809
meta->wrid = wr->wr_id;
drivers/infiniband/hw/ionic/ionic_datapath.c
816
if (wr->send_flags & IB_SEND_FENCE)
drivers/infiniband/hw/ionic/ionic_datapath.c
819
if (wr->send_flags & IB_SEND_SOLICITED)
drivers/infiniband/hw/ionic/ionic_datapath.c
822
if (qp->sig_all || wr->send_flags & IB_SEND_SIGNALED) {
drivers/infiniband/hw/ionic/ionic_datapath.c
831
!ionic_ibop_is_local(wr->opcode);
drivers/infiniband/hw/ionic/ionic_datapath.c
842
const struct ib_send_wr *wr,
drivers/infiniband/hw/ionic/ionic_datapath.c
849
if (wr->send_flags & IB_SEND_INLINE) {
drivers/infiniband/hw/ionic/ionic_datapath.c
854
wr->sg_list, wr->num_sge);
drivers/infiniband/hw/ionic/ionic_datapath.c
856
wqe->base.num_sge_key = wr->num_sge;
drivers/infiniband/hw/ionic/ionic_datapath.c
862
wr->sg_list, wr->num_sge);
drivers/infiniband/hw/ionic/ionic_datapath.c
871
ionic_prep_base(qp, wr, meta, wqe);
drivers/infiniband/hw/ionic/ionic_datapath.c
887
const struct ib_send_wr *wr)
drivers/infiniband/hw/ionic/ionic_datapath.c
900
switch (wr->opcode) {
drivers/infiniband/hw/ionic/ionic_datapath.c
906
wqe->base.imm_data_key = wr->ex.imm_data;
drivers/infiniband/hw/ionic/ionic_datapath.c
911
cpu_to_be32(wr->ex.invalidate_rkey);
drivers/infiniband/hw/ionic/ionic_datapath.c
917
return ionic_prep_common(qp, wr, meta, wqe);
drivers/infiniband/hw/ionic/ionic_datapath.c
921
const struct ib_ud_wr *wr)
drivers/infiniband/hw/ionic/ionic_datapath.c
928
if (unlikely(!wr->ah))
drivers/infiniband/hw/ionic/ionic_datapath.c
931
ah = to_ionic_ah(wr->ah);
drivers/infiniband/hw/ionic/ionic_datapath.c
939
wqe->common.send.dest_qpn = cpu_to_be32(wr->remote_qpn);
drivers/infiniband/hw/ionic/ionic_datapath.c
940
wqe->common.send.dest_qkey = cpu_to_be32(wr->remote_qkey);
drivers/infiniband/hw/ionic/ionic_datapath.c
944
switch (wr->wr.opcode) {
drivers/infiniband/hw/ionic/ionic_datapath.c
950
wqe->base.imm_data_key = wr->wr.ex.imm_data;
drivers/infiniband/hw/ionic/ionic_datapath.c
956
return ionic_prep_common(qp, &wr->wr, meta, wqe);
drivers/infiniband/hw/ionic/ionic_datapath.c
960
const struct ib_rdma_wr *wr)
drivers/infiniband/hw/ionic/ionic_datapath.c
973
switch (wr->wr.opcode) {
drivers/infiniband/hw/ionic/ionic_datapath.c
975
if (wr->wr.send_flags & (IB_SEND_SOLICITED | IB_SEND_INLINE))
drivers/infiniband/hw/ionic/ionic_datapath.c
981
if (wr->wr.send_flags & IB_SEND_SOLICITED)
drivers/infiniband/hw/ionic/ionic_datapath.c
987
wqe->base.imm_data_key = wr->wr.ex.imm_data;
drivers/infiniband/hw/ionic/ionic_datapath.c
993
wqe->common.rdma.remote_va_high = cpu_to_be32(wr->remote_addr >> 32);
drivers/infiniband/hw/ionic/ionic_datapath.c
994
wqe->common.rdma.remote_va_low = cpu_to_be32(wr->remote_addr);
drivers/infiniband/hw/ionic/ionic_datapath.c
995
wqe->common.rdma.remote_rkey = cpu_to_be32(wr->rkey);
drivers/infiniband/hw/ionic/ionic_datapath.c
997
return ionic_prep_common(qp, &wr->wr, meta, wqe);
drivers/infiniband/hw/ionic/ionic_hw_stats.c
103
ionic_admin_post(dev, &wr);
drivers/infiniband/hw/ionic/ionic_hw_stats.c
105
return ionic_admin_wait(dev, &wr, IONIC_ADMIN_F_INTERRUPT);
drivers/infiniband/hw/ionic/ionic_hw_stats.c
87
struct ionic_admin_wr wr = {
drivers/infiniband/hw/ionic/ionic_hw_stats.c
88
.work = COMPLETION_INITIALIZER_ONSTACK(wr.work),
drivers/infiniband/hw/ionic/ionic_ibdev.h
148
struct ionic_admin_wr *wr;
drivers/infiniband/hw/ionic/ionic_ibdev.h
435
void ionic_admin_post(struct ionic_ibdev *dev, struct ionic_admin_wr *wr);
drivers/infiniband/hw/ionic/ionic_ibdev.h
436
int ionic_admin_wait(struct ionic_ibdev *dev, struct ionic_admin_wr *wr,
drivers/infiniband/hw/ionic/ionic_ibdev.h
495
int ionic_post_send(struct ib_qp *ibqp, const struct ib_send_wr *wr,
drivers/infiniband/hw/ionic/ionic_ibdev.h
497
int ionic_post_recv(struct ib_qp *ibqp, const struct ib_recv_wr *wr,
drivers/infiniband/hw/mana/mana_ib.h
730
int mana_ib_post_recv(struct ib_qp *ibqp, const struct ib_recv_wr *wr,
drivers/infiniband/hw/mana/mana_ib.h
732
int mana_ib_post_send(struct ib_qp *ibqp, const struct ib_send_wr *wr,
drivers/infiniband/hw/mana/wr.c
10
static int mana_ib_post_recv_ud(struct mana_ib_qp *qp, const struct ib_recv_wr *wr)
drivers/infiniband/hw/mana/wr.c
100
if (wr->wr.num_sge > MAX_WR_SGL_NUM)
drivers/infiniband/hw/mana/wr.c
106
for (i = 0; i < wr->wr.num_sge; ++i) {
drivers/infiniband/hw/mana/wr.c
107
gdma_sgl[i + 1].address = wr->wr.sg_list[i].addr;
drivers/infiniband/hw/mana/wr.c
108
gdma_sgl[i + 1].mem_key = wr->wr.sg_list[i].lkey;
drivers/infiniband/hw/mana/wr.c
109
gdma_sgl[i + 1].size = wr->wr.sg_list[i].length;
drivers/infiniband/hw/mana/wr.c
112
wqe_req.num_sge = wr->wr.num_sge + 1;
drivers/infiniband/hw/mana/wr.c
120
send_oob.fence = !!(wr->wr.send_flags & IB_SEND_FENCE);
drivers/infiniband/hw/mana/wr.c
121
send_oob.signaled = !!(wr->wr.send_flags & IB_SEND_SIGNALED);
drivers/infiniband/hw/mana/wr.c
122
send_oob.solicited = !!(wr->wr.send_flags & IB_SEND_SOLICITED);
drivers/infiniband/hw/mana/wr.c
124
send_oob.ssn_or_rqpn = wr->remote_qpn;
drivers/infiniband/hw/mana/wr.c
126
qp->ibqp.qp_type == IB_QPT_GSI ? IB_QP1_QKEY : wr->remote_qkey;
drivers/infiniband/hw/mana/wr.c
136
shadow_wqe->header.wr_id = wr->wr.wr_id;
drivers/infiniband/hw/mana/wr.c
144
int mana_ib_post_send(struct ib_qp *ibqp, const struct ib_send_wr *wr,
drivers/infiniband/hw/mana/wr.c
150
for (; wr; wr = wr->next) {
drivers/infiniband/hw/mana/wr.c
154
err = mana_ib_post_send_ud(qp, ud_wr(wr));
drivers/infiniband/hw/mana/wr.c
156
*bad_wr = wr;
drivers/infiniband/hw/mana/wr.c
23
if (wr->num_sge > MAX_WR_SGL_NUM)
drivers/infiniband/hw/mana/wr.c
26
for (i = 0; i < wr->num_sge; ++i) {
drivers/infiniband/hw/mana/wr.c
27
gdma_sgl[i].address = wr->sg_list[i].addr;
drivers/infiniband/hw/mana/wr.c
28
gdma_sgl[i].mem_key = wr->sg_list[i].lkey;
drivers/infiniband/hw/mana/wr.c
29
gdma_sgl[i].size = wr->sg_list[i].length;
drivers/infiniband/hw/mana/wr.c
31
wqe_req.num_sge = wr->num_sge;
drivers/infiniband/hw/mana/wr.c
41
shadow_wqe->header.wr_id = wr->wr_id;
drivers/infiniband/hw/mana/wr.c
49
int mana_ib_post_recv(struct ib_qp *ibqp, const struct ib_recv_wr *wr,
drivers/infiniband/hw/mana/wr.c
55
for (; wr; wr = wr->next) {
drivers/infiniband/hw/mana/wr.c
59
err = mana_ib_post_recv_ud(qp, wr);
drivers/infiniband/hw/mana/wr.c
61
*bad_wr = wr;
drivers/infiniband/hw/mana/wr.c
75
static int mana_ib_post_send_ud(struct mana_ib_qp *qp, const struct ib_ud_wr *wr)
drivers/infiniband/hw/mana/wr.c
78
struct mana_ib_ah *ah = container_of(wr->ah, struct mana_ib_ah, ibah);
drivers/infiniband/hw/mana/wr.c
94
if (wr->wr.opcode != IB_WR_SEND)
drivers/infiniband/hw/mlx4/mad.c
1362
struct ib_ud_wr wr;
drivers/infiniband/hw/mlx4/mad.c
1435
wr.ah = ah;
drivers/infiniband/hw/mlx4/mad.c
1436
wr.port_num = port;
drivers/infiniband/hw/mlx4/mad.c
1437
wr.pkey_index = wire_pkey_ix;
drivers/infiniband/hw/mlx4/mad.c
1438
wr.remote_qkey = qkey;
drivers/infiniband/hw/mlx4/mad.c
1439
wr.remote_qpn = remote_qpn;
drivers/infiniband/hw/mlx4/mad.c
1440
wr.wr.next = NULL;
drivers/infiniband/hw/mlx4/mad.c
1441
wr.wr.wr_id = ((u64) wire_tx_ix) | MLX4_TUN_SET_WRID_QPN(src_qpnum);
drivers/infiniband/hw/mlx4/mad.c
1442
wr.wr.sg_list = &list;
drivers/infiniband/hw/mlx4/mad.c
1443
wr.wr.num_sge = 1;
drivers/infiniband/hw/mlx4/mad.c
1444
wr.wr.opcode = IB_WR_SEND;
drivers/infiniband/hw/mlx4/mad.c
1445
wr.wr.send_flags = IB_SEND_SIGNALED;
drivers/infiniband/hw/mlx4/mad.c
1447
ret = ib_post_send(send_qp, &wr.wr, &bad_wr);
drivers/infiniband/hw/mlx4/mad.c
516
struct ib_ud_wr wr;
drivers/infiniband/hw/mlx4/mad.c
658
wr.ah = ah;
drivers/infiniband/hw/mlx4/mad.c
659
wr.port_num = port;
drivers/infiniband/hw/mlx4/mad.c
660
wr.remote_qkey = IB_QP_SET_QKEY;
drivers/infiniband/hw/mlx4/mad.c
661
wr.remote_qpn = dqpn;
drivers/infiniband/hw/mlx4/mad.c
662
wr.wr.next = NULL;
drivers/infiniband/hw/mlx4/mad.c
663
wr.wr.wr_id = ((u64) tun_tx_ix) | MLX4_TUN_SET_WRID_QPN(dest_qpt);
drivers/infiniband/hw/mlx4/mad.c
664
wr.wr.sg_list = &list;
drivers/infiniband/hw/mlx4/mad.c
665
wr.wr.num_sge = 1;
drivers/infiniband/hw/mlx4/mad.c
666
wr.wr.opcode = IB_WR_SEND;
drivers/infiniband/hw/mlx4/mad.c
667
wr.wr.send_flags = IB_SEND_SIGNALED;
drivers/infiniband/hw/mlx4/mad.c
669
ret = ib_post_send(src_qp, &wr.wr, &bad_wr);
drivers/infiniband/hw/mlx4/mlx4_ib.h
798
int mlx4_ib_post_srq_recv(struct ib_srq *ibsrq, const struct ib_recv_wr *wr,
drivers/infiniband/hw/mlx4/mlx4_ib.h
810
int mlx4_ib_post_send(struct ib_qp *ibqp, const struct ib_send_wr *wr,
drivers/infiniband/hw/mlx4/mlx4_ib.h
812
int mlx4_ib_post_recv(struct ib_qp *ibqp, const struct ib_recv_wr *wr,
drivers/infiniband/hw/mlx4/qp.c
2868
const struct ib_ud_wr *wr,
drivers/infiniband/hw/mlx4/qp.c
2876
struct mlx4_ib_ah *ah = to_mah(wr->ah);
drivers/infiniband/hw/mlx4/qp.c
2885
if (wr->wr.opcode != IB_WR_SEND)
drivers/infiniband/hw/mlx4/qp.c
2890
for (i = 0; i < wr->wr.num_sge; ++i)
drivers/infiniband/hw/mlx4/qp.c
2891
send_size += wr->wr.sg_list[i].length;
drivers/infiniband/hw/mlx4/qp.c
2916
sqp->ud_header.bth.solicited_event = !!(wr->wr.send_flags & IB_SEND_SOLICITED);
drivers/infiniband/hw/mlx4/qp.c
2922
sqp->ud_header.bth.destination_qpn = cpu_to_be32(wr->remote_qpn);
drivers/infiniband/hw/mlx4/qp.c
3020
static int build_mlx_header(struct mlx4_ib_qp *qp, const struct ib_ud_wr *wr,
drivers/infiniband/hw/mlx4/qp.c
3029
struct mlx4_ib_ah *ah = to_mah(wr->ah);
drivers/infiniband/hw/mlx4/qp.c
3045
for (i = 0; i < wr->wr.num_sge; ++i)
drivers/infiniband/hw/mlx4/qp.c
3046
send_size += wr->wr.sg_list[i].length;
drivers/infiniband/hw/mlx4/qp.c
3164
switch (wr->wr.opcode) {
drivers/infiniband/hw/mlx4/qp.c
3172
sqp->ud_header.immediate_data = wr->wr.ex.imm_data;
drivers/infiniband/hw/mlx4/qp.c
3212
sqp->ud_header.bth.solicited_event = !!(wr->wr.send_flags & IB_SEND_SOLICITED);
drivers/infiniband/hw/mlx4/qp.c
3217
err = ib_get_cached_pkey(ib_dev, qp->port, wr->pkey_index,
drivers/infiniband/hw/mlx4/qp.c
3223
sqp->ud_header.bth.destination_qpn = cpu_to_be32(wr->remote_qpn);
drivers/infiniband/hw/mlx4/qp.c
3225
sqp->ud_header.deth.qkey = cpu_to_be32(wr->remote_qkey & 0x80000000 ?
drivers/infiniband/hw/mlx4/qp.c
3226
sqp->qkey : wr->remote_qkey);
drivers/infiniband/hw/mlx4/qp.c
3315
const struct ib_reg_wr *wr)
drivers/infiniband/hw/mlx4/qp.c
3317
struct mlx4_ib_mr *mr = to_mmr(wr->mr);
drivers/infiniband/hw/mlx4/qp.c
3319
fseg->flags = convert_access(wr->access);
drivers/infiniband/hw/mlx4/qp.c
3320
fseg->mem_key = cpu_to_be32(wr->key);
drivers/infiniband/hw/mlx4/qp.c
3345
const struct ib_atomic_wr *wr)
drivers/infiniband/hw/mlx4/qp.c
3347
if (wr->wr.opcode == IB_WR_ATOMIC_CMP_AND_SWP) {
drivers/infiniband/hw/mlx4/qp.c
3348
aseg->swap_add = cpu_to_be64(wr->swap);
drivers/infiniband/hw/mlx4/qp.c
3349
aseg->compare = cpu_to_be64(wr->compare_add);
drivers/infiniband/hw/mlx4/qp.c
3350
} else if (wr->wr.opcode == IB_WR_MASKED_ATOMIC_FETCH_AND_ADD) {
drivers/infiniband/hw/mlx4/qp.c
3351
aseg->swap_add = cpu_to_be64(wr->compare_add);
drivers/infiniband/hw/mlx4/qp.c
3352
aseg->compare = cpu_to_be64(wr->compare_add_mask);
drivers/infiniband/hw/mlx4/qp.c
3354
aseg->swap_add = cpu_to_be64(wr->compare_add);
drivers/infiniband/hw/mlx4/qp.c
3361
const struct ib_atomic_wr *wr)
drivers/infiniband/hw/mlx4/qp.c
3363
aseg->swap_add = cpu_to_be64(wr->swap);
drivers/infiniband/hw/mlx4/qp.c
3364
aseg->swap_add_mask = cpu_to_be64(wr->swap_mask);
drivers/infiniband/hw/mlx4/qp.c
3365
aseg->compare = cpu_to_be64(wr->compare_add);
drivers/infiniband/hw/mlx4/qp.c
3366
aseg->compare_mask = cpu_to_be64(wr->compare_add_mask);
drivers/infiniband/hw/mlx4/qp.c
3370
const struct ib_ud_wr *wr)
drivers/infiniband/hw/mlx4/qp.c
3372
memcpy(dseg->av, &to_mah(wr->ah)->av, sizeof (struct mlx4_av));
drivers/infiniband/hw/mlx4/qp.c
3373
dseg->dqpn = cpu_to_be32(wr->remote_qpn);
drivers/infiniband/hw/mlx4/qp.c
3374
dseg->qkey = cpu_to_be32(wr->remote_qkey);
drivers/infiniband/hw/mlx4/qp.c
3375
dseg->vlan = to_mah(wr->ah)->av.eth.vlan;
drivers/infiniband/hw/mlx4/qp.c
3376
memcpy(dseg->mac, to_mah(wr->ah)->av.eth.mac, 6);
drivers/infiniband/hw/mlx4/qp.c
3381
const struct ib_ud_wr *wr,
drivers/infiniband/hw/mlx4/qp.c
3384
union mlx4_ext_av *av = &to_mah(wr->ah)->av;
drivers/infiniband/hw/mlx4/qp.c
3403
static void build_tunnel_header(const struct ib_ud_wr *wr, void *wqe,
drivers/infiniband/hw/mlx4/qp.c
3408
struct mlx4_ib_ah *ah = to_mah(wr->ah);
drivers/infiniband/hw/mlx4/qp.c
3413
hdr.remote_qpn = cpu_to_be32(wr->remote_qpn);
drivers/infiniband/hw/mlx4/qp.c
3414
hdr.pkey_index = cpu_to_be16(wr->pkey_index);
drivers/infiniband/hw/mlx4/qp.c
3415
hdr.qkey = cpu_to_be32(wr->remote_qkey);
drivers/infiniband/hw/mlx4/qp.c
3488
const struct ib_ud_wr *wr, struct mlx4_ib_qp *qp,
drivers/infiniband/hw/mlx4/qp.c
3491
unsigned halign = ALIGN(sizeof *wqe + wr->hlen, 16);
drivers/infiniband/hw/mlx4/qp.c
3497
wr->wr.num_sge > qp->sq.max_gs - (halign >> 4)))
drivers/infiniband/hw/mlx4/qp.c
3500
memcpy(wqe->header, wr->header, wr->hlen);
drivers/infiniband/hw/mlx4/qp.c
3502
*lso_hdr_sz = cpu_to_be32(wr->mss << 16 | wr->hlen);
drivers/infiniband/hw/mlx4/qp.c
3507
static __be32 send_ieth(const struct ib_send_wr *wr)
drivers/infiniband/hw/mlx4/qp.c
3509
switch (wr->opcode) {
drivers/infiniband/hw/mlx4/qp.c
3512
return wr->ex.imm_data;
drivers/infiniband/hw/mlx4/qp.c
3515
return cpu_to_be32(wr->ex.invalidate_rkey);
drivers/infiniband/hw/mlx4/qp.c
3529
static int _mlx4_ib_post_send(struct ib_qp *ibqp, const struct ib_send_wr *wr,
drivers/infiniband/hw/mlx4/qp.c
3553
struct mlx4_ib_ah *ah = to_mah(ud_wr(wr)->ah);
drivers/infiniband/hw/mlx4/qp.c
3572
*bad_wr = wr;
drivers/infiniband/hw/mlx4/qp.c
3579
for (nreq = 0; wr; ++nreq, wr = wr->next) {
drivers/infiniband/hw/mlx4/qp.c
3585
*bad_wr = wr;
drivers/infiniband/hw/mlx4/qp.c
3589
if (unlikely(wr->num_sge > qp->sq.max_gs)) {
drivers/infiniband/hw/mlx4/qp.c
3591
*bad_wr = wr;
drivers/infiniband/hw/mlx4/qp.c
3596
qp->sq.wrid[(qp->sq.head + nreq) & (qp->sq.wqe_cnt - 1)] = wr->wr_id;
drivers/infiniband/hw/mlx4/qp.c
3599
(wr->send_flags & IB_SEND_SIGNALED ?
drivers/infiniband/hw/mlx4/qp.c
3601
(wr->send_flags & IB_SEND_SOLICITED ?
drivers/infiniband/hw/mlx4/qp.c
3603
((wr->send_flags & IB_SEND_IP_CSUM) ?
drivers/infiniband/hw/mlx4/qp.c
3608
ctrl->imm = send_ieth(wr);
drivers/infiniband/hw/mlx4/qp.c
3616
switch (wr->opcode) {
drivers/infiniband/hw/mlx4/qp.c
3620
set_raddr_seg(wqe, atomic_wr(wr)->remote_addr,
drivers/infiniband/hw/mlx4/qp.c
3621
atomic_wr(wr)->rkey);
drivers/infiniband/hw/mlx4/qp.c
3624
set_atomic_seg(wqe, atomic_wr(wr));
drivers/infiniband/hw/mlx4/qp.c
3633
set_raddr_seg(wqe, atomic_wr(wr)->remote_addr,
drivers/infiniband/hw/mlx4/qp.c
3634
atomic_wr(wr)->rkey);
drivers/infiniband/hw/mlx4/qp.c
3637
set_masked_atomic_seg(wqe, atomic_wr(wr));
drivers/infiniband/hw/mlx4/qp.c
3648
set_raddr_seg(wqe, rdma_wr(wr)->remote_addr,
drivers/infiniband/hw/mlx4/qp.c
3649
rdma_wr(wr)->rkey);
drivers/infiniband/hw/mlx4/qp.c
3657
set_local_inv_seg(wqe, wr->ex.invalidate_rkey);
drivers/infiniband/hw/mlx4/qp.c
3665
set_reg_seg(wqe, reg_wr(wr));
drivers/infiniband/hw/mlx4/qp.c
3677
err = build_sriov_qp0_header(qp, ud_wr(wr), ctrl,
drivers/infiniband/hw/mlx4/qp.c
3680
*bad_wr = wr;
drivers/infiniband/hw/mlx4/qp.c
3689
set_datagram_seg(wqe, ud_wr(wr));
drivers/infiniband/hw/mlx4/qp.c
3696
set_datagram_seg(wqe, ud_wr(wr));
drivers/infiniband/hw/mlx4/qp.c
3700
if (wr->opcode == IB_WR_LSO) {
drivers/infiniband/hw/mlx4/qp.c
3701
err = build_lso_seg(wqe, ud_wr(wr), qp, &seglen,
drivers/infiniband/hw/mlx4/qp.c
3704
*bad_wr = wr;
drivers/infiniband/hw/mlx4/qp.c
3714
err = build_sriov_qp0_header(qp, ud_wr(wr), ctrl,
drivers/infiniband/hw/mlx4/qp.c
3717
*bad_wr = wr;
drivers/infiniband/hw/mlx4/qp.c
3726
build_tunnel_header(ud_wr(wr), wqe, &seglen);
drivers/infiniband/hw/mlx4/qp.c
3737
ud_wr(wr),
drivers/infiniband/hw/mlx4/qp.c
3741
build_tunnel_header(ud_wr(wr), wqe, &seglen);
drivers/infiniband/hw/mlx4/qp.c
3748
err = build_mlx_header(qp, ud_wr(wr), ctrl, &seglen);
drivers/infiniband/hw/mlx4/qp.c
3750
*bad_wr = wr;
drivers/infiniband/hw/mlx4/qp.c
3769
dseg += wr->num_sge - 1;
drivers/infiniband/hw/mlx4/qp.c
3770
size += wr->num_sge * (sizeof (struct mlx4_wqe_data_seg) / 16);
drivers/infiniband/hw/mlx4/qp.c
3781
for (i = wr->num_sge - 1; i >= 0; --i, --dseg)
drivers/infiniband/hw/mlx4/qp.c
3782
set_data_seg(dseg, wr->sg_list + i);
drivers/infiniband/hw/mlx4/qp.c
3792
ctrl->qpn_vlan.fence_size = (wr->send_flags & IB_SEND_FENCE ?
drivers/infiniband/hw/mlx4/qp.c
3802
if (wr->opcode < 0 || wr->opcode >= ARRAY_SIZE(mlx4_ib_opcode)) {
drivers/infiniband/hw/mlx4/qp.c
3803
*bad_wr = wr;
drivers/infiniband/hw/mlx4/qp.c
3808
ctrl->owner_opcode = mlx4_ib_opcode[wr->opcode] |
drivers/infiniband/hw/mlx4/qp.c
3816
if (wr->next)
drivers/infiniband/hw/mlx4/qp.c
3844
int mlx4_ib_post_send(struct ib_qp *ibqp, const struct ib_send_wr *wr,
drivers/infiniband/hw/mlx4/qp.c
3847
return _mlx4_ib_post_send(ibqp, wr, bad_wr, false);
drivers/infiniband/hw/mlx4/qp.c
3850
static int _mlx4_ib_post_recv(struct ib_qp *ibqp, const struct ib_recv_wr *wr,
drivers/infiniband/hw/mlx4/qp.c
3869
*bad_wr = wr;
drivers/infiniband/hw/mlx4/qp.c
3876
for (nreq = 0; wr; ++nreq, wr = wr->next) {
drivers/infiniband/hw/mlx4/qp.c
3879
*bad_wr = wr;
drivers/infiniband/hw/mlx4/qp.c
3883
if (unlikely(wr->num_sge > qp->rq.max_gs)) {
drivers/infiniband/hw/mlx4/qp.c
3885
*bad_wr = wr;
drivers/infiniband/hw/mlx4/qp.c
3900
scat->lkey = cpu_to_be32(wr->sg_list->lkey);
drivers/infiniband/hw/mlx4/qp.c
3906
for (i = 0; i < wr->num_sge; ++i)
drivers/infiniband/hw/mlx4/qp.c
3907
__set_data_seg(scat + i, wr->sg_list + i);
drivers/infiniband/hw/mlx4/qp.c
3915
qp->rq.wrid[ind] = wr->wr_id;
drivers/infiniband/hw/mlx4/qp.c
3938
int mlx4_ib_post_recv(struct ib_qp *ibqp, const struct ib_recv_wr *wr,
drivers/infiniband/hw/mlx4/qp.c
3941
return _mlx4_ib_post_recv(ibqp, wr, bad_wr, false);
drivers/infiniband/hw/mlx4/qp.c
4460
.wr = {
drivers/infiniband/hw/mlx4/qp.c
4479
ret = _mlx4_ib_post_send(qp, &swr.wr, &bad_swr, true);
drivers/infiniband/hw/mlx4/srq.c
307
int mlx4_ib_post_srq_recv(struct ib_srq *ibsrq, const struct ib_recv_wr *wr,
drivers/infiniband/hw/mlx4/srq.c
322
*bad_wr = wr;
drivers/infiniband/hw/mlx4/srq.c
326
for (nreq = 0; wr; ++nreq, wr = wr->next) {
drivers/infiniband/hw/mlx4/srq.c
327
if (unlikely(wr->num_sge > srq->msrq.max_gs)) {
drivers/infiniband/hw/mlx4/srq.c
329
*bad_wr = wr;
drivers/infiniband/hw/mlx4/srq.c
335
*bad_wr = wr;
drivers/infiniband/hw/mlx4/srq.c
339
srq->wrid[srq->head] = wr->wr_id;
drivers/infiniband/hw/mlx4/srq.c
345
for (i = 0; i < wr->num_sge; ++i) {
drivers/infiniband/hw/mlx4/srq.c
346
scat[i].byte_count = cpu_to_be32(wr->sg_list[i].length);
drivers/infiniband/hw/mlx4/srq.c
347
scat[i].lkey = cpu_to_be32(wr->sg_list[i].lkey);
drivers/infiniband/hw/mlx4/srq.c
348
scat[i].addr = cpu_to_be64(wr->sg_list[i].addr);
drivers/infiniband/hw/mlx5/gsi.c
362
struct ib_ud_wr *wr, struct ib_wc *wc)
drivers/infiniband/hw/mlx5/gsi.c
379
gsi_wr->wc.pkey_index = wr->pkey_index;
drivers/infiniband/hw/mlx5/gsi.c
380
gsi_wr->wc.wr_id = wr->wr.wr_id;
drivers/infiniband/hw/mlx5/gsi.c
387
wr->wr.wr_cqe = &gsi_wr->cqe;
drivers/infiniband/hw/mlx5/gsi.c
393
static int mlx5_ib_gsi_silent_drop(struct mlx5_ib_qp *mqp, struct ib_ud_wr *wr)
drivers/infiniband/hw/mlx5/gsi.c
396
{ .wr_id = wr->wr.wr_id },
drivers/infiniband/hw/mlx5/gsi.c
403
ret = mlx5_ib_add_outstanding_wr(mqp, wr, &wc);
drivers/infiniband/hw/mlx5/gsi.c
413
static struct ib_qp *get_tx_qp(struct mlx5_ib_gsi_qp *gsi, struct ib_ud_wr *wr)
drivers/infiniband/hw/mlx5/gsi.c
416
struct mlx5_ib_ah *ah = to_mah(wr->ah);
drivers/infiniband/hw/mlx5/gsi.c
417
int qp_index = wr->pkey_index;
drivers/infiniband/hw/mlx5/gsi.c
431
int mlx5_ib_gsi_post_send(struct ib_qp *qp, const struct ib_send_wr *wr,
drivers/infiniband/hw/mlx5/gsi.c
440
for (; wr; wr = wr->next) {
drivers/infiniband/hw/mlx5/gsi.c
441
struct ib_ud_wr cur_wr = *ud_wr(wr);
drivers/infiniband/hw/mlx5/gsi.c
443
cur_wr.wr.next = NULL;
drivers/infiniband/hw/mlx5/gsi.c
459
ret = ib_post_send(tx_qp, &cur_wr.wr, bad_wr);
drivers/infiniband/hw/mlx5/gsi.c
472
*bad_wr = wr;
drivers/infiniband/hw/mlx5/gsi.c
476
int mlx5_ib_gsi_post_recv(struct ib_qp *qp, const struct ib_recv_wr *wr,
drivers/infiniband/hw/mlx5/gsi.c
482
return ib_post_recv(gsi->rx_qp, wr, bad_wr);
drivers/infiniband/hw/mlx5/gsi.c
51
struct mlx5_ib_gsi_wr *wr;
drivers/infiniband/hw/mlx5/gsi.c
56
wr = &gsi->outstanding_wrs[index % gsi->cap.max_send_wr];
drivers/infiniband/hw/mlx5/gsi.c
58
if (!wr->completed)
drivers/infiniband/hw/mlx5/gsi.c
61
WARN_ON_ONCE(mlx5_ib_generate_wc(gsi_cq, &wr->wc));
drivers/infiniband/hw/mlx5/gsi.c
62
wr->completed = false;
drivers/infiniband/hw/mlx5/gsi.c
71
struct mlx5_ib_gsi_wr *wr =
drivers/infiniband/hw/mlx5/gsi.c
78
wr->completed = true;
drivers/infiniband/hw/mlx5/gsi.c
79
wr_id = wr->wc.wr_id;
drivers/infiniband/hw/mlx5/gsi.c
80
wr->wc = *wc;
drivers/infiniband/hw/mlx5/gsi.c
81
wr->wc.wr_id = wr_id;
drivers/infiniband/hw/mlx5/gsi.c
82
wr->wc.qp = &mqp->ibqp;
drivers/infiniband/hw/mlx5/mlx5_ib.h
1353
int mlx5_ib_post_srq_recv(struct ib_srq *ibsrq, const struct ib_recv_wr *wr,
drivers/infiniband/hw/mlx5/mlx5_ib.h
1564
int mlx5_ib_gsi_post_send(struct ib_qp *qp, const struct ib_send_wr *wr,
drivers/infiniband/hw/mlx5/mlx5_ib.h
1566
int mlx5_ib_gsi_post_recv(struct ib_qp *qp, const struct ib_recv_wr *wr,
drivers/infiniband/hw/mlx5/qp.c
5784
.wr = {
drivers/infiniband/hw/mlx5/qp.c
5803
ret = mlx5_ib_post_send_drain(qp, &swr.wr, &bad_swr);
drivers/infiniband/hw/mlx5/srq.c
409
int mlx5_ib_post_srq_recv(struct ib_srq *ibsrq, const struct ib_recv_wr *wr,
drivers/infiniband/hw/mlx5/srq.c
426
*bad_wr = wr;
drivers/infiniband/hw/mlx5/srq.c
430
for (nreq = 0; wr; nreq++, wr = wr->next) {
drivers/infiniband/hw/mlx5/srq.c
431
if (unlikely(wr->num_sge > srq->msrq.max_gs)) {
drivers/infiniband/hw/mlx5/srq.c
433
*bad_wr = wr;
drivers/infiniband/hw/mlx5/srq.c
439
*bad_wr = wr;
drivers/infiniband/hw/mlx5/srq.c
443
srq->wrid[srq->head] = wr->wr_id;
drivers/infiniband/hw/mlx5/srq.c
449
for (i = 0; i < wr->num_sge; i++) {
drivers/infiniband/hw/mlx5/srq.c
450
scat[i].byte_count = cpu_to_be32(wr->sg_list[i].length);
drivers/infiniband/hw/mlx5/srq.c
451
scat[i].lkey = cpu_to_be32(wr->sg_list[i].lkey);
drivers/infiniband/hw/mlx5/srq.c
452
scat[i].addr = cpu_to_be64(wr->sg_list[i].addr);
drivers/infiniband/hw/mlx5/wr.c
1004
static void handle_qpt_ud(struct mlx5_ib_qp *qp, const struct ib_send_wr *wr,
drivers/infiniband/hw/mlx5/wr.c
1007
set_datagram_seg(*seg, wr);
drivers/infiniband/hw/mlx5/wr.c
1020
set_eth_seg(wr, qp, seg, size, cur_edge);
drivers/infiniband/hw/mlx5/wr.c
103
const struct ib_send_wr *wr)
drivers/infiniband/hw/mlx5/wr.c
105
memcpy(&dseg->av, &to_mah(ud_wr(wr)->ah)->av, sizeof(struct mlx5_av));
drivers/infiniband/hw/mlx5/wr.c
1051
int mlx5_ib_post_send(struct ib_qp *ibqp, const struct ib_send_wr *wr,
drivers/infiniband/hw/mlx5/wr.c
107
cpu_to_be32(ud_wr(wr)->remote_qpn | MLX5_EXTENDED_UD_AV);
drivers/infiniband/hw/mlx5/wr.c
1073
*bad_wr = wr;
drivers/infiniband/hw/mlx5/wr.c
1078
return mlx5_ib_gsi_post_send(ibqp, wr, bad_wr);
drivers/infiniband/hw/mlx5/wr.c
108
dseg->av.key.qkey.qkey = cpu_to_be32(ud_wr(wr)->remote_qkey);
drivers/infiniband/hw/mlx5/wr.c
1082
for (nreq = 0; wr; nreq++, wr = wr->next) {
drivers/infiniband/hw/mlx5/wr.c
1083
if (unlikely(wr->opcode >= ARRAY_SIZE(mlx5_ib_opcode))) {
drivers/infiniband/hw/mlx5/wr.c
1086
*bad_wr = wr;
drivers/infiniband/hw/mlx5/wr.c
1090
num_sge = wr->num_sge;
drivers/infiniband/hw/mlx5/wr.c
1094
*bad_wr = wr;
drivers/infiniband/hw/mlx5/wr.c
1098
err = begin_wqe(qp, &seg, &ctrl, wr, &idx, &size, &cur_edge,
drivers/infiniband/hw/mlx5/wr.c
1103
*bad_wr = wr;
drivers/infiniband/hw/mlx5/wr.c
1107
if (wr->opcode == IB_WR_REG_MR ||
drivers/infiniband/hw/mlx5/wr.c
1108
wr->opcode == IB_WR_REG_MR_INTEGRITY) {
drivers/infiniband/hw/mlx5/wr.c
1112
if (wr->send_flags & IB_SEND_FENCE) {
drivers/infiniband/hw/mlx5/wr.c
1129
err = handle_qpt_rc(dev, qp, wr, &ctrl, &seg, &size,
drivers/infiniband/hw/mlx5/wr.c
1133
*bad_wr = wr;
drivers/infiniband/hw/mlx5/wr.c
1135
} else if (wr->opcode == IB_WR_REG_MR_INTEGRITY) {
drivers/infiniband/hw/mlx5/wr.c
1141
handle_qpt_uc(wr, &seg, &size);
drivers/infiniband/hw/mlx5/wr.c
1147
*bad_wr = wr;
drivers/infiniband/hw/mlx5/wr.c
1152
handle_qpt_hw_gsi(qp, wr, &seg, &size, &cur_edge);
drivers/infiniband/hw/mlx5/wr.c
1155
handle_qpt_ud(qp, wr, &seg, &size, &cur_edge);
drivers/infiniband/hw/mlx5/wr.c
1162
if (wr->send_flags & IB_SEND_INLINE && num_sge) {
drivers/infiniband/hw/mlx5/wr.c
1163
err = set_data_inl_seg(qp, wr, &seg, &size, &cur_edge);
drivers/infiniband/hw/mlx5/wr.c
1166
*bad_wr = wr;
drivers/infiniband/hw/mlx5/wr.c
1173
if (unlikely(!wr->sg_list[i].length))
drivers/infiniband/hw/mlx5/wr.c
1178
wr->sg_list + i);
drivers/infiniband/hw/mlx5/wr.c
1185
mlx5r_finish_wqe(qp, ctrl, seg, size, cur_edge, idx, wr->wr_id,
drivers/infiniband/hw/mlx5/wr.c
1186
nreq, fence, mlx5_ib_opcode[wr->opcode]);
drivers/infiniband/hw/mlx5/wr.c
1206
int mlx5_ib_post_recv(struct ib_qp *ibqp, const struct ib_recv_wr *wr,
drivers/infiniband/hw/mlx5/wr.c
1222
*bad_wr = wr;
drivers/infiniband/hw/mlx5/wr.c
1227
return mlx5_ib_gsi_post_recv(ibqp, wr, bad_wr);
drivers/infiniband/hw/mlx5/wr.c
1233
for (nreq = 0; wr; nreq++, wr = wr->next) {
drivers/infiniband/hw/mlx5/wr.c
1236
*bad_wr = wr;
drivers/infiniband/hw/mlx5/wr.c
1240
if (unlikely(wr->num_sge > qp->rq.max_gs)) {
drivers/infiniband/hw/mlx5/wr.c
1242
*bad_wr = wr;
drivers/infiniband/hw/mlx5/wr.c
1250
for (i = 0; i < wr->num_sge; i++)
drivers/infiniband/hw/mlx5/wr.c
1251
set_data_ptr_seg(scat + i, wr->sg_list + i);
drivers/infiniband/hw/mlx5/wr.c
1264
qp->rq.wrid[ind] = wr->wr_id;
drivers/infiniband/hw/mlx5/wr.c
228
static __be32 send_ieth(const struct ib_send_wr *wr)
drivers/infiniband/hw/mlx5/wr.c
230
switch (wr->opcode) {
drivers/infiniband/hw/mlx5/wr.c
233
return wr->ex.imm_data;
drivers/infiniband/hw/mlx5/wr.c
236
return cpu_to_be32(wr->ex.invalidate_rkey);
drivers/infiniband/hw/mlx5/wr.c
260
static int set_data_inl_seg(struct mlx5_ib_qp *qp, const struct ib_send_wr *wr,
drivers/infiniband/hw/mlx5/wr.c
272
for (i = 0; i < wr->num_sge; i++) {
drivers/infiniband/hw/mlx5/wr.c
273
size_t len = wr->sg_list[i].length;
drivers/infiniband/hw/mlx5/wr.c
274
void *addr = (void *)(unsigned long)(wr->sg_list[i].addr);
drivers/infiniband/hw/mlx5/wr.c
54
static void set_eth_seg(const struct ib_send_wr *wr, struct mlx5_ib_qp *qp,
drivers/infiniband/hw/mlx5/wr.c
561
const struct ib_reg_wr *wr = reg_wr(send_wr);
drivers/infiniband/hw/mlx5/wr.c
562
struct mlx5_ib_mr *sig_mr = to_mmr(wr->mr);
drivers/infiniband/hw/mlx5/wr.c
570
unlikely(wr->access & IB_ACCESS_REMOTE_ATOMIC) ||
drivers/infiniband/hw/mlx5/wr.c
593
set_sig_mkey_segment(*seg, wr->mr, wr->access, xlt_size, region_len,
drivers/infiniband/hw/mlx5/wr.c
599
ret = set_sig_data_segment(send_wr, wr->mr, sig_attrs, qp, seg, size,
drivers/infiniband/hw/mlx5/wr.c
61
if (wr->send_flags & IB_SEND_IP_CSUM)
drivers/infiniband/hw/mlx5/wr.c
636
const struct ib_reg_wr *wr,
drivers/infiniband/hw/mlx5/wr.c
640
struct mlx5_ib_mr *mr = to_mmr(wr->mr);
drivers/infiniband/hw/mlx5/wr.c
645
bool atomic = wr->access & IB_ACCESS_REMOTE_ATOMIC;
drivers/infiniband/hw/mlx5/wr.c
65
if (wr->opcode == IB_WR_LSO) {
drivers/infiniband/hw/mlx5/wr.c
652
if (!mlx5r_umr_can_reconfig(dev, 0, wr->access)) {
drivers/infiniband/hw/mlx5/wr.c
659
if (unlikely(wr->wr.send_flags & IB_SEND_INLINE)) {
drivers/infiniband/hw/mlx5/wr.c
66
struct ib_ud_wr *ud_wr = container_of(wr, struct ib_ud_wr, wr);
drivers/infiniband/hw/mlx5/wr.c
675
set_reg_mkey_seg(*seg, mr, wr->key, wr->access);
drivers/infiniband/hw/mlx5/wr.c
750
const struct ib_send_wr *wr, unsigned int *idx, int *size,
drivers/infiniband/hw/mlx5/wr.c
754
send_ieth(wr), wr->send_flags & IB_SEND_SIGNALED,
drivers/infiniband/hw/mlx5/wr.c
755
wr->send_flags & IB_SEND_SOLICITED);
drivers/infiniband/hw/mlx5/wr.c
787
static void handle_rdma_op(const struct ib_send_wr *wr, void **seg, int *size)
drivers/infiniband/hw/mlx5/wr.c
789
set_raddr_seg(*seg, rdma_wr(wr)->remote_addr, rdma_wr(wr)->rkey);
drivers/infiniband/hw/mlx5/wr.c
794
static void handle_local_inv(struct mlx5_ib_qp *qp, const struct ib_send_wr *wr,
drivers/infiniband/hw/mlx5/wr.c
799
(*ctrl)->imm = cpu_to_be32(wr->ex.invalidate_rkey);
drivers/infiniband/hw/mlx5/wr.c
803
static int handle_reg_mr(struct mlx5_ib_qp *qp, const struct ib_send_wr *wr,
drivers/infiniband/hw/mlx5/wr.c
808
(*ctrl)->imm = cpu_to_be32(reg_wr(wr)->key);
drivers/infiniband/hw/mlx5/wr.c
809
return set_reg_wr(qp, reg_wr(wr), seg, size, cur_edge, true);
drivers/infiniband/hw/mlx5/wr.c
813
const struct ib_send_wr *wr,
drivers/infiniband/hw/mlx5/wr.c
825
send_ieth(wr), false, true);
drivers/infiniband/hw/mlx5/wr.c
836
mlx5r_finish_wqe(qp, *ctrl, *seg, *size, *cur_edge, *idx, wr->wr_id,
drivers/infiniband/hw/mlx5/wr.c
845
const struct ib_send_wr *wr,
drivers/infiniband/hw/mlx5/wr.c
860
mr = to_mmr(reg_wr(wr)->mr);
drivers/infiniband/hw/mlx5/wr.c
868
reg_pi_wr.access = reg_wr(wr)->access;
drivers/infiniband/hw/mlx5/wr.c
878
wr->wr_id, nreq, fence, MLX5_OPCODE_UMR);
drivers/infiniband/hw/mlx5/wr.c
880
err = begin_wqe(qp, seg, ctrl, wr, idx, size, cur_edge, nreq);
drivers/infiniband/hw/mlx5/wr.c
904
err = set_pi_umr_wr(wr, qp, seg, size, cur_edge);
drivers/infiniband/hw/mlx5/wr.c
909
mlx5r_finish_wqe(qp, *ctrl, *seg, *size, *cur_edge, *idx, wr->wr_id,
drivers/infiniband/hw/mlx5/wr.c
913
err = handle_psv(dev, qp, wr, ctrl, seg, size, cur_edge, idx, nreq,
drivers/infiniband/hw/mlx5/wr.c
919
err = handle_psv(dev, qp, wr, ctrl, seg, size, cur_edge, idx, nreq,
drivers/infiniband/hw/mlx5/wr.c
932
const struct ib_send_wr *wr,
drivers/infiniband/hw/mlx5/wr.c
939
switch (wr->opcode) {
drivers/infiniband/hw/mlx5/wr.c
943
handle_rdma_op(wr, seg, size);
drivers/infiniband/hw/mlx5/wr.c
954
handle_local_inv(qp, wr, ctrl, seg, size, cur_edge, *idx);
drivers/infiniband/hw/mlx5/wr.c
959
err = handle_reg_mr(qp, wr, ctrl, seg, size, cur_edge, *idx);
drivers/infiniband/hw/mlx5/wr.c
966
err = handle_reg_mr_integrity(dev, qp, wr, ctrl, seg, size,
drivers/infiniband/hw/mlx5/wr.c
982
static void handle_qpt_uc(const struct ib_send_wr *wr, void **seg, int *size)
drivers/infiniband/hw/mlx5/wr.c
984
switch (wr->opcode) {
drivers/infiniband/hw/mlx5/wr.c
987
handle_rdma_op(wr, seg, size);
drivers/infiniband/hw/mlx5/wr.c
995
const struct ib_send_wr *wr, void **seg,
drivers/infiniband/hw/mlx5/wr.c
998
set_datagram_seg(*seg, wr);
drivers/infiniband/hw/mlx5/wr.h
104
int mlx5_ib_post_send(struct ib_qp *ibqp, const struct ib_send_wr *wr,
drivers/infiniband/hw/mlx5/wr.h
106
int mlx5_ib_post_recv(struct ib_qp *ibqp, const struct ib_recv_wr *wr,
drivers/infiniband/hw/mlx5/wr.h
110
const struct ib_send_wr *wr,
drivers/infiniband/hw/mlx5/wr.h
113
return mlx5_ib_post_send(ibqp, wr, bad_wr, false);
drivers/infiniband/hw/mlx5/wr.h
117
const struct ib_send_wr *wr,
drivers/infiniband/hw/mlx5/wr.h
120
return mlx5_ib_post_send(ibqp, wr, bad_wr, true);
drivers/infiniband/hw/mlx5/wr.h
124
const struct ib_recv_wr *wr,
drivers/infiniband/hw/mlx5/wr.h
127
return mlx5_ib_post_recv(ibqp, wr, bad_wr, false);
drivers/infiniband/hw/mlx5/wr.h
131
const struct ib_recv_wr *wr,
drivers/infiniband/hw/mlx5/wr.h
134
return mlx5_ib_post_recv(ibqp, wr, bad_wr, true);
drivers/infiniband/hw/mthca/mthca_dev.h
512
int mthca_tavor_post_srq_recv(struct ib_srq *srq, const struct ib_recv_wr *wr,
drivers/infiniband/hw/mthca/mthca_dev.h
514
int mthca_arbel_post_srq_recv(struct ib_srq *srq, const struct ib_recv_wr *wr,
drivers/infiniband/hw/mthca/mthca_dev.h
523
int mthca_tavor_post_send(struct ib_qp *ibqp, const struct ib_send_wr *wr,
drivers/infiniband/hw/mthca/mthca_dev.h
525
int mthca_tavor_post_receive(struct ib_qp *ibqp, const struct ib_recv_wr *wr,
drivers/infiniband/hw/mthca/mthca_dev.h
527
int mthca_arbel_post_send(struct ib_qp *ibqp, const struct ib_send_wr *wr,
drivers/infiniband/hw/mthca/mthca_dev.h
529
int mthca_arbel_post_receive(struct ib_qp *ibqp, const struct ib_recv_wr *wr,
drivers/infiniband/hw/mthca/mthca_qp.c
1501
const struct ib_ud_wr *wr,
drivers/infiniband/hw/mthca/mthca_qp.c
1511
mthca_ah_grh_present(to_mah(wr->ah)), 0, 0, 0,
drivers/infiniband/hw/mthca/mthca_qp.c
1514
err = mthca_read_ah(dev, to_mah(wr->ah), &sqp->ud_header);
drivers/infiniband/hw/mthca/mthca_qp.c
1525
switch (wr->wr.opcode) {
drivers/infiniband/hw/mthca/mthca_qp.c
1533
sqp->ud_header.immediate_data = wr->wr.ex.imm_data;
drivers/infiniband/hw/mthca/mthca_qp.c
1542
sqp->ud_header.bth.solicited_event = !!(wr->wr.send_flags & IB_SEND_SOLICITED);
drivers/infiniband/hw/mthca/mthca_qp.c
1547
ib_get_cached_pkey(&dev->ib_dev, qp->port, wr->pkey_index,
drivers/infiniband/hw/mthca/mthca_qp.c
1550
sqp->ud_header.bth.destination_qpn = cpu_to_be32(wr->remote_qpn);
drivers/infiniband/hw/mthca/mthca_qp.c
1552
sqp->ud_header.deth.qkey = cpu_to_be32(wr->remote_qkey & 0x80000000 ?
drivers/infiniband/hw/mthca/mthca_qp.c
1553
sqp->qkey : wr->remote_qkey);
drivers/infiniband/hw/mthca/mthca_qp.c
1595
const struct ib_atomic_wr *wr)
drivers/infiniband/hw/mthca/mthca_qp.c
1597
if (wr->wr.opcode == IB_WR_ATOMIC_CMP_AND_SWP) {
drivers/infiniband/hw/mthca/mthca_qp.c
1598
aseg->swap_add = cpu_to_be64(wr->swap);
drivers/infiniband/hw/mthca/mthca_qp.c
1599
aseg->compare = cpu_to_be64(wr->compare_add);
drivers/infiniband/hw/mthca/mthca_qp.c
1601
aseg->swap_add = cpu_to_be64(wr->compare_add);
drivers/infiniband/hw/mthca/mthca_qp.c
1608
const struct ib_ud_wr *wr)
drivers/infiniband/hw/mthca/mthca_qp.c
1610
useg->lkey = cpu_to_be32(to_mah(wr->ah)->key);
drivers/infiniband/hw/mthca/mthca_qp.c
1611
useg->av_addr = cpu_to_be64(to_mah(wr->ah)->avdma);
drivers/infiniband/hw/mthca/mthca_qp.c
1612
useg->dqpn = cpu_to_be32(wr->remote_qpn);
drivers/infiniband/hw/mthca/mthca_qp.c
1613
useg->qkey = cpu_to_be32(wr->remote_qkey);
drivers/infiniband/hw/mthca/mthca_qp.c
1618
const struct ib_ud_wr *wr)
drivers/infiniband/hw/mthca/mthca_qp.c
1620
memcpy(useg->av, to_mah(wr->ah)->av, MTHCA_AV_SIZE);
drivers/infiniband/hw/mthca/mthca_qp.c
1621
useg->dqpn = cpu_to_be32(wr->remote_qpn);
drivers/infiniband/hw/mthca/mthca_qp.c
1622
useg->qkey = cpu_to_be32(wr->remote_qkey);
drivers/infiniband/hw/mthca/mthca_qp.c
1625
int mthca_tavor_post_send(struct ib_qp *ibqp, const struct ib_send_wr *wr,
drivers/infiniband/hw/mthca/mthca_qp.c
1655
for (nreq = 0; wr; ++nreq, wr = wr->next) {
drivers/infiniband/hw/mthca/mthca_qp.c
1662
*bad_wr = wr;
drivers/infiniband/hw/mthca/mthca_qp.c
1673
((wr->send_flags & IB_SEND_SIGNALED) ?
drivers/infiniband/hw/mthca/mthca_qp.c
1675
((wr->send_flags & IB_SEND_SOLICITED) ?
drivers/infiniband/hw/mthca/mthca_qp.c
1678
if (wr->opcode == IB_WR_SEND_WITH_IMM ||
drivers/infiniband/hw/mthca/mthca_qp.c
1679
wr->opcode == IB_WR_RDMA_WRITE_WITH_IMM)
drivers/infiniband/hw/mthca/mthca_qp.c
1680
((struct mthca_next_seg *) wqe)->imm = wr->ex.imm_data;
drivers/infiniband/hw/mthca/mthca_qp.c
1687
switch (wr->opcode) {
drivers/infiniband/hw/mthca/mthca_qp.c
1690
set_raddr_seg(wqe, atomic_wr(wr)->remote_addr,
drivers/infiniband/hw/mthca/mthca_qp.c
1691
atomic_wr(wr)->rkey);
drivers/infiniband/hw/mthca/mthca_qp.c
1694
set_atomic_seg(wqe, atomic_wr(wr));
drivers/infiniband/hw/mthca/mthca_qp.c
1703
set_raddr_seg(wqe, rdma_wr(wr)->remote_addr,
drivers/infiniband/hw/mthca/mthca_qp.c
1704
rdma_wr(wr)->rkey);
drivers/infiniband/hw/mthca/mthca_qp.c
1717
switch (wr->opcode) {
drivers/infiniband/hw/mthca/mthca_qp.c
1720
set_raddr_seg(wqe, rdma_wr(wr)->remote_addr,
drivers/infiniband/hw/mthca/mthca_qp.c
1721
rdma_wr(wr)->rkey);
drivers/infiniband/hw/mthca/mthca_qp.c
1734
set_tavor_ud_seg(wqe, ud_wr(wr));
drivers/infiniband/hw/mthca/mthca_qp.c
1741
dev, qp, ind, ud_wr(wr),
drivers/infiniband/hw/mthca/mthca_qp.c
1744
*bad_wr = wr;
drivers/infiniband/hw/mthca/mthca_qp.c
1752
if (wr->num_sge > qp->sq.max_gs) {
drivers/infiniband/hw/mthca/mthca_qp.c
1755
*bad_wr = wr;
drivers/infiniband/hw/mthca/mthca_qp.c
1759
for (i = 0; i < wr->num_sge; ++i) {
drivers/infiniband/hw/mthca/mthca_qp.c
1760
mthca_set_data_seg(wqe, wr->sg_list + i);
drivers/infiniband/hw/mthca/mthca_qp.c
1774
qp->wrid[ind + qp->rq.max] = wr->wr_id;
drivers/infiniband/hw/mthca/mthca_qp.c
1776
if (wr->opcode >= ARRAY_SIZE(mthca_opcode)) {
drivers/infiniband/hw/mthca/mthca_qp.c
1779
*bad_wr = wr;
drivers/infiniband/hw/mthca/mthca_qp.c
1786
mthca_opcode[wr->opcode]);
drivers/infiniband/hw/mthca/mthca_qp.c
1790
((wr->send_flags & IB_SEND_FENCE) ?
drivers/infiniband/hw/mthca/mthca_qp.c
1795
op0 = mthca_opcode[wr->opcode];
drivers/infiniband/hw/mthca/mthca_qp.c
1796
f0 = wr->send_flags & IB_SEND_FENCE ?
drivers/infiniband/hw/mthca/mthca_qp.c
1823
int mthca_tavor_post_receive(struct ib_qp *ibqp, const struct ib_recv_wr *wr,
drivers/infiniband/hw/mthca/mthca_qp.c
1851
for (nreq = 0; wr; wr = wr->next) {
drivers/infiniband/hw/mthca/mthca_qp.c
1858
*bad_wr = wr;
drivers/infiniband/hw/mthca/mthca_qp.c
1873
if (unlikely(wr->num_sge > qp->rq.max_gs)) {
drivers/infiniband/hw/mthca/mthca_qp.c
1875
*bad_wr = wr;
drivers/infiniband/hw/mthca/mthca_qp.c
1879
for (i = 0; i < wr->num_sge; ++i) {
drivers/infiniband/hw/mthca/mthca_qp.c
1880
mthca_set_data_seg(wqe, wr->sg_list + i);
drivers/infiniband/hw/mthca/mthca_qp.c
1885
qp->wrid[ind] = wr->wr_id;
drivers/infiniband/hw/mthca/mthca_qp.c
1928
int mthca_arbel_post_send(struct ib_qp *ibqp, const struct ib_send_wr *wr,
drivers/infiniband/hw/mthca/mthca_qp.c
1959
for (nreq = 0; wr; ++nreq, wr = wr->next) {
drivers/infiniband/hw/mthca/mthca_qp.c
1992
*bad_wr = wr;
drivers/infiniband/hw/mthca/mthca_qp.c
2001
((wr->send_flags & IB_SEND_SIGNALED) ?
drivers/infiniband/hw/mthca/mthca_qp.c
2003
((wr->send_flags & IB_SEND_SOLICITED) ?
drivers/infiniband/hw/mthca/mthca_qp.c
2005
((wr->send_flags & IB_SEND_IP_CSUM) ?
drivers/infiniband/hw/mthca/mthca_qp.c
2008
if (wr->opcode == IB_WR_SEND_WITH_IMM ||
drivers/infiniband/hw/mthca/mthca_qp.c
2009
wr->opcode == IB_WR_RDMA_WRITE_WITH_IMM)
drivers/infiniband/hw/mthca/mthca_qp.c
2010
((struct mthca_next_seg *) wqe)->imm = wr->ex.imm_data;
drivers/infiniband/hw/mthca/mthca_qp.c
2017
switch (wr->opcode) {
drivers/infiniband/hw/mthca/mthca_qp.c
2020
set_raddr_seg(wqe, atomic_wr(wr)->remote_addr,
drivers/infiniband/hw/mthca/mthca_qp.c
2021
atomic_wr(wr)->rkey);
drivers/infiniband/hw/mthca/mthca_qp.c
2024
set_atomic_seg(wqe, atomic_wr(wr));
drivers/infiniband/hw/mthca/mthca_qp.c
2033
set_raddr_seg(wqe, rdma_wr(wr)->remote_addr,
drivers/infiniband/hw/mthca/mthca_qp.c
2034
rdma_wr(wr)->rkey);
drivers/infiniband/hw/mthca/mthca_qp.c
2047
switch (wr->opcode) {
drivers/infiniband/hw/mthca/mthca_qp.c
2050
set_raddr_seg(wqe, rdma_wr(wr)->remote_addr,
drivers/infiniband/hw/mthca/mthca_qp.c
2051
rdma_wr(wr)->rkey);
drivers/infiniband/hw/mthca/mthca_qp.c
2064
set_arbel_ud_seg(wqe, ud_wr(wr));
drivers/infiniband/hw/mthca/mthca_qp.c
2071
dev, qp, ind, ud_wr(wr),
drivers/infiniband/hw/mthca/mthca_qp.c
2074
*bad_wr = wr;
drivers/infiniband/hw/mthca/mthca_qp.c
2082
if (wr->num_sge > qp->sq.max_gs) {
drivers/infiniband/hw/mthca/mthca_qp.c
2085
*bad_wr = wr;
drivers/infiniband/hw/mthca/mthca_qp.c
2089
for (i = 0; i < wr->num_sge; ++i) {
drivers/infiniband/hw/mthca/mthca_qp.c
2090
mthca_set_data_seg(wqe, wr->sg_list + i);
drivers/infiniband/hw/mthca/mthca_qp.c
2104
qp->wrid[ind + qp->rq.max] = wr->wr_id;
drivers/infiniband/hw/mthca/mthca_qp.c
2106
if (wr->opcode >= ARRAY_SIZE(mthca_opcode)) {
drivers/infiniband/hw/mthca/mthca_qp.c
2109
*bad_wr = wr;
drivers/infiniband/hw/mthca/mthca_qp.c
2116
mthca_opcode[wr->opcode]);
drivers/infiniband/hw/mthca/mthca_qp.c
2120
((wr->send_flags & IB_SEND_FENCE) ?
drivers/infiniband/hw/mthca/mthca_qp.c
2125
op0 = mthca_opcode[wr->opcode];
drivers/infiniband/hw/mthca/mthca_qp.c
2126
f0 = wr->send_flags & IB_SEND_FENCE ?
drivers/infiniband/hw/mthca/mthca_qp.c
2162
int mthca_arbel_post_receive(struct ib_qp *ibqp, const struct ib_recv_wr *wr,
drivers/infiniband/hw/mthca/mthca_qp.c
2180
for (nreq = 0; wr; ++nreq, wr = wr->next) {
drivers/infiniband/hw/mthca/mthca_qp.c
2187
*bad_wr = wr;
drivers/infiniband/hw/mthca/mthca_qp.c
2197
if (unlikely(wr->num_sge > qp->rq.max_gs)) {
drivers/infiniband/hw/mthca/mthca_qp.c
2199
*bad_wr = wr;
drivers/infiniband/hw/mthca/mthca_qp.c
2203
for (i = 0; i < wr->num_sge; ++i) {
drivers/infiniband/hw/mthca/mthca_qp.c
2204
mthca_set_data_seg(wqe, wr->sg_list + i);
drivers/infiniband/hw/mthca/mthca_qp.c
2211
qp->wrid[ind] = wr->wr_id;
drivers/infiniband/hw/mthca/mthca_srq.c
483
int mthca_tavor_post_srq_recv(struct ib_srq *ibsrq, const struct ib_recv_wr *wr,
drivers/infiniband/hw/mthca/mthca_srq.c
502
for (nreq = 0; wr; wr = wr->next) {
drivers/infiniband/hw/mthca/mthca_srq.c
510
*bad_wr = wr;
drivers/infiniband/hw/mthca/mthca_srq.c
522
if (unlikely(wr->num_sge > srq->max_gs)) {
drivers/infiniband/hw/mthca/mthca_srq.c
524
*bad_wr = wr;
drivers/infiniband/hw/mthca/mthca_srq.c
529
for (i = 0; i < wr->num_sge; ++i) {
drivers/infiniband/hw/mthca/mthca_srq.c
530
mthca_set_data_seg(wqe, wr->sg_list + i);
drivers/infiniband/hw/mthca/mthca_srq.c
540
srq->wrid[ind] = wr->wr_id;
drivers/infiniband/hw/mthca/mthca_srq.c
577
int mthca_arbel_post_srq_recv(struct ib_srq *ibsrq, const struct ib_recv_wr *wr,
drivers/infiniband/hw/mthca/mthca_srq.c
592
for (nreq = 0; wr; ++nreq, wr = wr->next) {
drivers/infiniband/hw/mthca/mthca_srq.c
600
*bad_wr = wr;
drivers/infiniband/hw/mthca/mthca_srq.c
609
if (unlikely(wr->num_sge > srq->max_gs)) {
drivers/infiniband/hw/mthca/mthca_srq.c
611
*bad_wr = wr;
drivers/infiniband/hw/mthca/mthca_srq.c
615
for (i = 0; i < wr->num_sge; ++i) {
drivers/infiniband/hw/mthca/mthca_srq.c
616
mthca_set_data_seg(wqe, wr->sg_list + i);
drivers/infiniband/hw/mthca/mthca_srq.c
623
srq->wrid[ind] = wr->wr_id;
drivers/infiniband/hw/ocrdma/ocrdma_verbs.c
1877
const struct ib_send_wr *wr)
drivers/infiniband/hw/ocrdma/ocrdma_verbs.c
1881
struct ocrdma_ah *ah = get_ocrdma_ah(ud_wr(wr)->ah);
drivers/infiniband/hw/ocrdma/ocrdma_verbs.c
1883
ud_hdr->rsvd_dest_qpn = ud_wr(wr)->remote_qpn;
drivers/infiniband/hw/ocrdma/ocrdma_verbs.c
1887
ud_hdr->qkey = ud_wr(wr)->remote_qkey;
drivers/infiniband/hw/ocrdma/ocrdma_verbs.c
1924
const struct ib_send_wr *wr, u32 wqe_size)
drivers/infiniband/hw/ocrdma/ocrdma_verbs.c
1929
if (wr->send_flags & IB_SEND_INLINE && qp->qp_type != IB_QPT_UD) {
drivers/infiniband/hw/ocrdma/ocrdma_verbs.c
1930
hdr->total_len = ocrdma_sglist_len(wr->sg_list, wr->num_sge);
drivers/infiniband/hw/ocrdma/ocrdma_verbs.c
1938
for (i = 0; i < wr->num_sge; i++) {
drivers/infiniband/hw/ocrdma/ocrdma_verbs.c
1940
(void *)(unsigned long)wr->sg_list[i].addr,
drivers/infiniband/hw/ocrdma/ocrdma_verbs.c
1941
wr->sg_list[i].length);
drivers/infiniband/hw/ocrdma/ocrdma_verbs.c
1942
dpp_addr += wr->sg_list[i].length;
drivers/infiniband/hw/ocrdma/ocrdma_verbs.c
1950
ocrdma_build_sges(hdr, sge, wr->num_sge, wr->sg_list);
drivers/infiniband/hw/ocrdma/ocrdma_verbs.c
1951
if (wr->num_sge)
drivers/infiniband/hw/ocrdma/ocrdma_verbs.c
1952
wqe_size += (wr->num_sge * sizeof(struct ocrdma_sge));
drivers/infiniband/hw/ocrdma/ocrdma_verbs.c
1962
const struct ib_send_wr *wr)
drivers/infiniband/hw/ocrdma/ocrdma_verbs.c
1968
ocrdma_build_ud_hdr(qp, hdr, wr);
drivers/infiniband/hw/ocrdma/ocrdma_verbs.c
1975
return ocrdma_build_inline_sges(qp, hdr, sge, wr, wqe_size);
drivers/infiniband/hw/ocrdma/ocrdma_verbs.c
1979
const struct ib_send_wr *wr)
drivers/infiniband/hw/ocrdma/ocrdma_verbs.c
1986
status = ocrdma_build_inline_sges(qp, hdr, sge, wr, wqe_size);
drivers/infiniband/hw/ocrdma/ocrdma_verbs.c
1989
ext_rw->addr_lo = rdma_wr(wr)->remote_addr;
drivers/infiniband/hw/ocrdma/ocrdma_verbs.c
1990
ext_rw->addr_hi = upper_32_bits(rdma_wr(wr)->remote_addr);
drivers/infiniband/hw/ocrdma/ocrdma_verbs.c
1991
ext_rw->lrkey = rdma_wr(wr)->rkey;
drivers/infiniband/hw/ocrdma/ocrdma_verbs.c
1997
const struct ib_send_wr *wr)
drivers/infiniband/hw/ocrdma/ocrdma_verbs.c
2001
u32 wqe_size = ((wr->num_sge + 1) * sizeof(struct ocrdma_sge)) +
drivers/infiniband/hw/ocrdma/ocrdma_verbs.c
2004
ocrdma_build_sges(hdr, sge, wr->num_sge, wr->sg_list);
drivers/infiniband/hw/ocrdma/ocrdma_verbs.c
2009
ext_rw->addr_lo = rdma_wr(wr)->remote_addr;
drivers/infiniband/hw/ocrdma/ocrdma_verbs.c
2010
ext_rw->addr_hi = upper_32_bits(rdma_wr(wr)->remote_addr);
drivers/infiniband/hw/ocrdma/ocrdma_verbs.c
2011
ext_rw->lrkey = rdma_wr(wr)->rkey;
drivers/infiniband/hw/ocrdma/ocrdma_verbs.c
2027
const struct ib_reg_wr *wr)
drivers/infiniband/hw/ocrdma/ocrdma_verbs.c
2031
struct ocrdma_mr *mr = get_ocrdma_mr(wr->mr);
drivers/infiniband/hw/ocrdma/ocrdma_verbs.c
2042
if (wr->access & IB_ACCESS_LOCAL_WRITE)
drivers/infiniband/hw/ocrdma/ocrdma_verbs.c
2044
if (wr->access & IB_ACCESS_REMOTE_WRITE)
drivers/infiniband/hw/ocrdma/ocrdma_verbs.c
2046
if (wr->access & IB_ACCESS_REMOTE_READ)
drivers/infiniband/hw/ocrdma/ocrdma_verbs.c
2048
hdr->lkey = wr->key;
drivers/infiniband/hw/ocrdma/ocrdma_verbs.c
2088
int ocrdma_post_send(struct ib_qp *ibqp, const struct ib_send_wr *wr,
drivers/infiniband/hw/ocrdma/ocrdma_verbs.c
2099
*bad_wr = wr;
drivers/infiniband/hw/ocrdma/ocrdma_verbs.c
2103
while (wr) {
drivers/infiniband/hw/ocrdma/ocrdma_verbs.c
2105
(wr->opcode != IB_WR_SEND &&
drivers/infiniband/hw/ocrdma/ocrdma_verbs.c
2106
wr->opcode != IB_WR_SEND_WITH_IMM)) {
drivers/infiniband/hw/ocrdma/ocrdma_verbs.c
2107
*bad_wr = wr;
drivers/infiniband/hw/ocrdma/ocrdma_verbs.c
2112
wr->num_sge > qp->sq.max_sges) {
drivers/infiniband/hw/ocrdma/ocrdma_verbs.c
2113
*bad_wr = wr;
drivers/infiniband/hw/ocrdma/ocrdma_verbs.c
2119
if (wr->send_flags & IB_SEND_SIGNALED || qp->signaled)
drivers/infiniband/hw/ocrdma/ocrdma_verbs.c
2121
if (wr->send_flags & IB_SEND_FENCE)
drivers/infiniband/hw/ocrdma/ocrdma_verbs.c
2124
if (wr->send_flags & IB_SEND_SOLICITED)
drivers/infiniband/hw/ocrdma/ocrdma_verbs.c
2128
switch (wr->opcode) {
drivers/infiniband/hw/ocrdma/ocrdma_verbs.c
2131
hdr->immdt = ntohl(wr->ex.imm_data);
drivers/infiniband/hw/ocrdma/ocrdma_verbs.c
2135
ocrdma_build_send(qp, hdr, wr);
drivers/infiniband/hw/ocrdma/ocrdma_verbs.c
2140
hdr->lkey = wr->ex.invalidate_rkey;
drivers/infiniband/hw/ocrdma/ocrdma_verbs.c
2141
status = ocrdma_build_send(qp, hdr, wr);
drivers/infiniband/hw/ocrdma/ocrdma_verbs.c
2145
hdr->immdt = ntohl(wr->ex.imm_data);
drivers/infiniband/hw/ocrdma/ocrdma_verbs.c
2149
status = ocrdma_build_write(qp, hdr, wr);
drivers/infiniband/hw/ocrdma/ocrdma_verbs.c
2152
ocrdma_build_read(qp, hdr, wr);
drivers/infiniband/hw/ocrdma/ocrdma_verbs.c
2160
hdr->lkey = wr->ex.invalidate_rkey;
drivers/infiniband/hw/ocrdma/ocrdma_verbs.c
2163
status = ocrdma_build_reg(qp, hdr, reg_wr(wr));
drivers/infiniband/hw/ocrdma/ocrdma_verbs.c
2170
*bad_wr = wr;
drivers/infiniband/hw/ocrdma/ocrdma_verbs.c
2173
if (wr->send_flags & IB_SEND_SIGNALED || qp->signaled)
drivers/infiniband/hw/ocrdma/ocrdma_verbs.c
2177
qp->wqe_wr_id_tbl[qp->sq.head].wrid = wr->wr_id;
drivers/infiniband/hw/ocrdma/ocrdma_verbs.c
2187
wr = wr->next;
drivers/infiniband/hw/ocrdma/ocrdma_verbs.c
2201
const struct ib_recv_wr *wr, u16 tag)
drivers/infiniband/hw/ocrdma/ocrdma_verbs.c
2205
if (wr->num_sge)
drivers/infiniband/hw/ocrdma/ocrdma_verbs.c
2206
wqe_size = (wr->num_sge * sizeof(*sge)) + sizeof(*rqe);
drivers/infiniband/hw/ocrdma/ocrdma_verbs.c
2217
ocrdma_build_sges(rqe, sge, wr->num_sge, wr->sg_list);
drivers/infiniband/hw/ocrdma/ocrdma_verbs.c
2221
int ocrdma_post_recv(struct ib_qp *ibqp, const struct ib_recv_wr *wr,
drivers/infiniband/hw/ocrdma/ocrdma_verbs.c
2232
*bad_wr = wr;
drivers/infiniband/hw/ocrdma/ocrdma_verbs.c
2235
while (wr) {
drivers/infiniband/hw/ocrdma/ocrdma_verbs.c
2237
wr->num_sge > qp->rq.max_sges) {
drivers/infiniband/hw/ocrdma/ocrdma_verbs.c
2238
*bad_wr = wr;
drivers/infiniband/hw/ocrdma/ocrdma_verbs.c
2243
ocrdma_build_rqe(rqe, wr, 0);
drivers/infiniband/hw/ocrdma/ocrdma_verbs.c
2245
qp->rqe_wr_id_tbl[qp->rq.head] = wr->wr_id;
drivers/infiniband/hw/ocrdma/ocrdma_verbs.c
2254
wr = wr->next;
drivers/infiniband/hw/ocrdma/ocrdma_verbs.c
2291
int ocrdma_post_srq_recv(struct ib_srq *ibsrq, const struct ib_recv_wr *wr,
drivers/infiniband/hw/ocrdma/ocrdma_verbs.c
2303
while (wr) {
drivers/infiniband/hw/ocrdma/ocrdma_verbs.c
2305
wr->num_sge > srq->rq.max_sges) {
drivers/infiniband/hw/ocrdma/ocrdma_verbs.c
2307
*bad_wr = wr;
drivers/infiniband/hw/ocrdma/ocrdma_verbs.c
2312
ocrdma_build_rqe(rqe, wr, tag);
drivers/infiniband/hw/ocrdma/ocrdma_verbs.c
2314
srq->rqe_wr_id_tbl[tag] = wr->wr_id;
drivers/infiniband/hw/ocrdma/ocrdma_verbs.c
2321
wr = wr->next;
drivers/infiniband/hw/qedr/qedr_roce_cm.c
539
int qedr_gsi_post_send(struct ib_qp *ibqp, const struct ib_send_wr *wr,
drivers/infiniband/hw/qedr/qedr_roce_cm.c
549
*bad_wr = wr;
drivers/infiniband/hw/qedr/qedr_roce_cm.c
556
if (wr->num_sge > RDMA_MAX_SGE_PER_SQ_WQE) {
drivers/infiniband/hw/qedr/qedr_roce_cm.c
558
wr->num_sge, RDMA_MAX_SGE_PER_SQ_WQE);
drivers/infiniband/hw/qedr/qedr_roce_cm.c
563
if (wr->opcode != IB_WR_SEND) {
drivers/infiniband/hw/qedr/qedr_roce_cm.c
566
wr->opcode);
drivers/infiniband/hw/qedr/qedr_roce_cm.c
573
rc = qedr_gsi_build_packet(dev, qp, wr, &pkt);
drivers/infiniband/hw/qedr/qedr_roce_cm.c
582
qp->wqe_wr_id[qp->sq.prod].wr_id = wr->wr_id;
drivers/infiniband/hw/qedr/qedr_roce_cm.c
585
"gsi post send: opcode=%d, wr_id=%llx\n", wr->opcode,
drivers/infiniband/hw/qedr/qedr_roce_cm.c
586
wr->wr_id);
drivers/infiniband/hw/qedr/qedr_roce_cm.c
590
*bad_wr = wr;
drivers/infiniband/hw/qedr/qedr_roce_cm.c
595
if (wr->next) {
drivers/infiniband/hw/qedr/qedr_roce_cm.c
598
*bad_wr = wr->next;
drivers/infiniband/hw/qedr/qedr_roce_cm.c
605
*bad_wr = wr;
drivers/infiniband/hw/qedr/qedr_roce_cm.c
609
int qedr_gsi_post_recv(struct ib_qp *ibqp, const struct ib_recv_wr *wr,
drivers/infiniband/hw/qedr/qedr_roce_cm.c
619
*bad_wr = wr;
drivers/infiniband/hw/qedr/qedr_roce_cm.c
628
while (wr) {
drivers/infiniband/hw/qedr/qedr_roce_cm.c
629
if (wr->num_sge > QEDR_GSI_MAX_RECV_SGE) {
drivers/infiniband/hw/qedr/qedr_roce_cm.c
632
wr->num_sge, QEDR_GSI_MAX_RECV_SGE);
drivers/infiniband/hw/qedr/qedr_roce_cm.c
638
wr->sg_list[0].addr,
drivers/infiniband/hw/qedr/qedr_roce_cm.c
639
wr->sg_list[0].length,
drivers/infiniband/hw/qedr/qedr_roce_cm.c
651
qp->rqe_wr_id[qp->rq.prod].sg_list[0] = wr->sg_list[0];
drivers/infiniband/hw/qedr/qedr_roce_cm.c
652
qp->rqe_wr_id[qp->rq.prod].wr_id = wr->wr_id;
drivers/infiniband/hw/qedr/qedr_roce_cm.c
656
wr = wr->next;
drivers/infiniband/hw/qedr/qedr_roce_cm.c
664
*bad_wr = wr;
drivers/infiniband/hw/qedr/qedr_roce_cm.h
49
int qedr_gsi_post_recv(struct ib_qp *ibqp, const struct ib_recv_wr *wr,
drivers/infiniband/hw/qedr/qedr_roce_cm.h
51
int qedr_gsi_post_send(struct ib_qp *ibqp, const struct ib_send_wr *wr,
drivers/infiniband/hw/qedr/verbs.c
3294
const struct ib_send_wr *wr,
drivers/infiniband/hw/qedr/verbs.c
3298
u32 data_size = sge_data_len(wr->sg_list, wr->num_sge);
drivers/infiniband/hw/qedr/verbs.c
3304
*bad_wr = wr;
drivers/infiniband/hw/qedr/verbs.c
3318
for (i = 0; i < wr->num_sge; i++) {
drivers/infiniband/hw/qedr/verbs.c
3319
u32 len = wr->sg_list[i].length;
drivers/infiniband/hw/qedr/verbs.c
3320
void *src = (void *)(uintptr_t)wr->sg_list[i].addr;
drivers/infiniband/hw/qedr/verbs.c
3379
const struct ib_send_wr *wr)
drivers/infiniband/hw/qedr/verbs.c
3384
for (i = 0; i < wr->num_sge; i++) {
drivers/infiniband/hw/qedr/verbs.c
3387
DMA_REGPAIR_LE(sge->addr, wr->sg_list[i].addr);
drivers/infiniband/hw/qedr/verbs.c
3388
sge->l_key = cpu_to_le32(wr->sg_list[i].lkey);
drivers/infiniband/hw/qedr/verbs.c
3389
sge->length = cpu_to_le32(wr->sg_list[i].length);
drivers/infiniband/hw/qedr/verbs.c
3390
data_size += wr->sg_list[i].length;
drivers/infiniband/hw/qedr/verbs.c
3394
*wqe_size += wr->num_sge;
drivers/infiniband/hw/qedr/verbs.c
3403
const struct ib_send_wr *wr,
drivers/infiniband/hw/qedr/verbs.c
3406
rwqe2->r_key = cpu_to_le32(rdma_wr(wr)->rkey);
drivers/infiniband/hw/qedr/verbs.c
3407
DMA_REGPAIR_LE(rwqe2->remote_va, rdma_wr(wr)->remote_addr);
drivers/infiniband/hw/qedr/verbs.c
3409
if (wr->send_flags & IB_SEND_INLINE &&
drivers/infiniband/hw/qedr/verbs.c
3410
(wr->opcode == IB_WR_RDMA_WRITE_WITH_IMM ||
drivers/infiniband/hw/qedr/verbs.c
3411
wr->opcode == IB_WR_RDMA_WRITE)) {
drivers/infiniband/hw/qedr/verbs.c
3415
return qedr_prepare_sq_inline_data(dev, qp, &rwqe->wqe_size, wr,
drivers/infiniband/hw/qedr/verbs.c
3419
return qedr_prepare_sq_sges(qp, &rwqe->wqe_size, wr);
drivers/infiniband/hw/qedr/verbs.c
3426
const struct ib_send_wr *wr,
drivers/infiniband/hw/qedr/verbs.c
3430
if (wr->send_flags & IB_SEND_INLINE) {
drivers/infiniband/hw/qedr/verbs.c
3434
return qedr_prepare_sq_inline_data(dev, qp, &swqe->wqe_size, wr,
drivers/infiniband/hw/qedr/verbs.c
3438
return qedr_prepare_sq_sges(qp, &swqe->wqe_size, wr);
drivers/infiniband/hw/qedr/verbs.c
3443
const struct ib_reg_wr *wr)
drivers/infiniband/hw/qedr/verbs.c
3445
struct qedr_mr *mr = get_qedr_mr(wr->mr);
drivers/infiniband/hw/qedr/verbs.c
3451
fwqe1->l_key = wr->key;
drivers/infiniband/hw/qedr/verbs.c
3456
!!(wr->access & IB_ACCESS_REMOTE_READ));
drivers/infiniband/hw/qedr/verbs.c
3458
!!(wr->access & IB_ACCESS_REMOTE_WRITE));
drivers/infiniband/hw/qedr/verbs.c
3460
!!(wr->access & IB_ACCESS_REMOTE_ATOMIC));
drivers/infiniband/hw/qedr/verbs.c
3463
!!(wr->access & IB_ACCESS_LOCAL_WRITE));
drivers/infiniband/hw/qedr/verbs.c
3506
const struct ib_send_wr *wr)
drivers/infiniband/hw/qedr/verbs.c
3512
err_wr = wr->num_sge > qp->sq.max_sges;
drivers/infiniband/hw/qedr/verbs.c
3543
static int __qedr_post_send(struct ib_qp *ibqp, const struct ib_send_wr *wr,
drivers/infiniband/hw/qedr/verbs.c
3562
if (!qedr_can_post_send(qp, wr)) {
drivers/infiniband/hw/qedr/verbs.c
3563
*bad_wr = wr;
drivers/infiniband/hw/qedr/verbs.c
3569
!!(wr->send_flags & IB_SEND_SIGNALED) || qp->signaled;
drivers/infiniband/hw/qedr/verbs.c
3573
!!(wr->send_flags & IB_SEND_SOLICITED));
drivers/infiniband/hw/qedr/verbs.c
3574
comp = (!!(wr->send_flags & IB_SEND_SIGNALED)) || qp->signaled;
drivers/infiniband/hw/qedr/verbs.c
3577
!!(wr->send_flags & IB_SEND_FENCE));
drivers/infiniband/hw/qedr/verbs.c
3580
qp->wqe_wr_id[qp->sq.prod].opcode = qedr_ib_to_wc_opcode(wr->opcode);
drivers/infiniband/hw/qedr/verbs.c
3582
switch (wr->opcode) {
drivers/infiniband/hw/qedr/verbs.c
3586
*bad_wr = wr;
drivers/infiniband/hw/qedr/verbs.c
3594
swqe->inv_key_or_imm_data = cpu_to_le32(be32_to_cpu(wr->ex.imm_data));
drivers/infiniband/hw/qedr/verbs.c
3596
wr, bad_wr);
drivers/infiniband/hw/qedr/verbs.c
3609
wr, bad_wr);
drivers/infiniband/hw/qedr/verbs.c
3620
swqe->inv_key_or_imm_data = cpu_to_le32(wr->ex.invalidate_rkey);
drivers/infiniband/hw/qedr/verbs.c
3622
wr, bad_wr);
drivers/infiniband/hw/qedr/verbs.c
3632
*bad_wr = wr;
drivers/infiniband/hw/qedr/verbs.c
3639
rwqe->imm_data = htonl(cpu_to_le32(wr->ex.imm_data));
drivers/infiniband/hw/qedr/verbs.c
3642
wr, bad_wr);
drivers/infiniband/hw/qedr/verbs.c
3655
wr, bad_wr);
drivers/infiniband/hw/qedr/verbs.c
3672
wr, bad_wr);
drivers/infiniband/hw/qedr/verbs.c
3685
DMA_REGPAIR_LE(awqe2->remote_va, atomic_wr(wr)->remote_addr);
drivers/infiniband/hw/qedr/verbs.c
3686
awqe2->r_key = cpu_to_le32(atomic_wr(wr)->rkey);
drivers/infiniband/hw/qedr/verbs.c
3690
if (wr->opcode == IB_WR_ATOMIC_FETCH_AND_ADD) {
drivers/infiniband/hw/qedr/verbs.c
3693
atomic_wr(wr)->compare_add);
drivers/infiniband/hw/qedr/verbs.c
3697
atomic_wr(wr)->swap);
drivers/infiniband/hw/qedr/verbs.c
3699
atomic_wr(wr)->compare_add);
drivers/infiniband/hw/qedr/verbs.c
3702
qedr_prepare_sq_sges(qp, NULL, wr);
drivers/infiniband/hw/qedr/verbs.c
3713
iwqe->inv_l_key = wr->ex.invalidate_rkey;
drivers/infiniband/hw/qedr/verbs.c
3723
rc = qedr_prepare_reg(qp, fwqe1, reg_wr(wr));
drivers/infiniband/hw/qedr/verbs.c
3726
*bad_wr = wr;
drivers/infiniband/hw/qedr/verbs.c
3734
DP_ERR(dev, "invalid opcode 0x%x!\n", wr->opcode);
drivers/infiniband/hw/qedr/verbs.c
3736
*bad_wr = wr;
drivers/infiniband/hw/qedr/verbs.c
3758
int qedr_post_send(struct ib_qp *ibqp, const struct ib_send_wr *wr,
drivers/infiniband/hw/qedr/verbs.c
3769
return qedr_gsi_post_send(ibqp, wr, bad_wr);
drivers/infiniband/hw/qedr/verbs.c
3778
*bad_wr = wr;
drivers/infiniband/hw/qedr/verbs.c
3786
while (wr) {
drivers/infiniband/hw/qedr/verbs.c
3787
rc = __qedr_post_send(ibqp, wr, bad_wr);
drivers/infiniband/hw/qedr/verbs.c
3791
qp->wqe_wr_id[qp->sq.prod].wr_id = wr->wr_id;
drivers/infiniband/hw/qedr/verbs.c
3797
wr = wr->next;
drivers/infiniband/hw/qedr/verbs.c
3834
int qedr_post_srq_recv(struct ib_srq *ibsrq, const struct ib_recv_wr *wr,
drivers/infiniband/hw/qedr/verbs.c
3849
while (wr) {
drivers/infiniband/hw/qedr/verbs.c
3854
wr->num_sge > srq->hw_srq.max_sges) {
drivers/infiniband/hw/qedr/verbs.c
3858
wr->num_sge, srq->hw_srq.max_sges);
drivers/infiniband/hw/qedr/verbs.c
3860
*bad_wr = wr;
drivers/infiniband/hw/qedr/verbs.c
3865
num_sge = wr->num_sge;
drivers/infiniband/hw/qedr/verbs.c
3867
SRQ_HDR_SET(hdr, wr->wr_id, num_sge);
drivers/infiniband/hw/qedr/verbs.c
3875
wr->num_sge, hw_srq->wqe_prod, wr->wr_id);
drivers/infiniband/hw/qedr/verbs.c
3877
for (i = 0; i < wr->num_sge; i++) {
drivers/infiniband/hw/qedr/verbs.c
3881
SRQ_SGE_SET(srq_sge, wr->sg_list[i].addr,
drivers/infiniband/hw/qedr/verbs.c
3882
wr->sg_list[i].length, wr->sg_list[i].lkey);
drivers/infiniband/hw/qedr/verbs.c
3905
wr = wr->next;
drivers/infiniband/hw/qedr/verbs.c
3915
int qedr_post_recv(struct ib_qp *ibqp, const struct ib_recv_wr *wr,
drivers/infiniband/hw/qedr/verbs.c
3924
return qedr_gsi_post_recv(ibqp, wr, bad_wr);
drivers/infiniband/hw/qedr/verbs.c
3928
while (wr) {
drivers/infiniband/hw/qedr/verbs.c
3933
wr->num_sge > qp->rq.max_sges) {
drivers/infiniband/hw/qedr/verbs.c
3936
QEDR_MAX_RQE_ELEMENTS_PER_RQE, wr->num_sge,
drivers/infiniband/hw/qedr/verbs.c
3939
*bad_wr = wr;
drivers/infiniband/hw/qedr/verbs.c
3942
for (i = 0; i < wr->num_sge; i++) {
drivers/infiniband/hw/qedr/verbs.c
3952
wr->num_sge);
drivers/infiniband/hw/qedr/verbs.c
3955
wr->sg_list[i].lkey);
drivers/infiniband/hw/qedr/verbs.c
3957
RQ_SGE_SET(rqe, wr->sg_list[i].addr,
drivers/infiniband/hw/qedr/verbs.c
3958
wr->sg_list[i].length, flags);
drivers/infiniband/hw/qedr/verbs.c
3965
if (!wr->num_sge) {
drivers/infiniband/hw/qedr/verbs.c
3980
qp->rqe_wr_id[qp->rq.prod].wr_id = wr->wr_id;
drivers/infiniband/hw/qedr/verbs.c
4002
wr = wr->next;
drivers/infiniband/hw/qedr/verbs.h
72
int qedr_post_srq_recv(struct ib_srq *ibsrq, const struct ib_recv_wr *wr,
drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c
647
const struct ib_reg_wr *wr)
drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c
649
struct pvrdma_user_mr *mr = to_vmr(wr->mr);
drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c
651
wqe_hdr->wr.fast_reg.iova_start = mr->ibmr.iova;
drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c
652
wqe_hdr->wr.fast_reg.pl_pdir_dma = mr->pdir.dir_dma;
drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c
653
wqe_hdr->wr.fast_reg.page_shift = mr->page_shift;
drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c
654
wqe_hdr->wr.fast_reg.page_list_len = mr->npages;
drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c
655
wqe_hdr->wr.fast_reg.length = mr->ibmr.length;
drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c
656
wqe_hdr->wr.fast_reg.access_flags = wr->access;
drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c
657
wqe_hdr->wr.fast_reg.rkey = wr->key;
drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c
671
int pvrdma_post_send(struct ib_qp *ibqp, const struct ib_send_wr *wr,
drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c
686
*bad_wr = wr;
drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c
692
while (wr) {
drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c
699
*bad_wr = wr;
drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c
704
if (unlikely(wr->num_sge > qp->sq.max_sg || wr->num_sge < 0)) {
drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c
707
*bad_wr = wr;
drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c
732
wr->opcode != IB_WR_SEND) {
drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c
735
*bad_wr = wr;
drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c
740
if (wr->opcode != IB_WR_SEND &&
drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c
741
wr->opcode != IB_WR_SEND_WITH_IMM) {
drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c
744
*bad_wr = wr;
drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c
752
wqe_hdr->wr_id = wr->wr_id;
drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c
753
wqe_hdr->num_sge = wr->num_sge;
drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c
754
wqe_hdr->opcode = ib_wr_opcode_to_pvrdma(wr->opcode);
drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c
755
wqe_hdr->send_flags = ib_send_flags_to_pvrdma(wr->send_flags);
drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c
756
if (wr->opcode == IB_WR_SEND_WITH_IMM ||
drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c
757
wr->opcode == IB_WR_RDMA_WRITE_WITH_IMM)
drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c
758
wqe_hdr->ex.imm_data = wr->ex.imm_data;
drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c
761
*bad_wr = wr;
drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c
769
if (unlikely(!ud_wr(wr)->ah)) {
drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c
772
*bad_wr = wr;
drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c
781
wqe_hdr->wr.ud.remote_qpn = ud_wr(wr)->remote_qpn;
drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c
782
wqe_hdr->wr.ud.remote_qkey =
drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c
783
ud_wr(wr)->remote_qkey & 0x80000000 ?
drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c
784
qp->qkey : ud_wr(wr)->remote_qkey;
drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c
785
wqe_hdr->wr.ud.av = to_vah(ud_wr(wr)->ah)->av;
drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c
789
switch (wr->opcode) {
drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c
793
wqe_hdr->wr.rdma.remote_addr =
drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c
794
rdma_wr(wr)->remote_addr;
drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c
795
wqe_hdr->wr.rdma.rkey = rdma_wr(wr)->rkey;
drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c
800
wr->ex.invalidate_rkey;
drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c
804
wqe_hdr->wr.atomic.remote_addr =
drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c
805
atomic_wr(wr)->remote_addr;
drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c
806
wqe_hdr->wr.atomic.rkey = atomic_wr(wr)->rkey;
drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c
807
wqe_hdr->wr.atomic.compare_add =
drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c
808
atomic_wr(wr)->compare_add;
drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c
809
if (wr->opcode == IB_WR_ATOMIC_CMP_AND_SWP)
drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c
810
wqe_hdr->wr.atomic.swap =
drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c
811
atomic_wr(wr)->swap;
drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c
814
ret = set_reg_seg(wqe_hdr, reg_wr(wr));
drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c
818
*bad_wr = wr;
drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c
831
*bad_wr = wr;
drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c
836
for (i = 0; i < wr->num_sge; i++) {
drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c
838
sge->addr = wr->sg_list[i].addr;
drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c
839
sge->length = wr->sg_list[i].length;
drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c
840
sge->lkey = wr->sg_list[i].lkey;
drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c
851
wr = wr->next;
drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c
873
int pvrdma_post_recv(struct ib_qp *ibqp, const struct ib_recv_wr *wr,
drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c
889
*bad_wr = wr;
drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c
895
*bad_wr = wr;
drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c
901
while (wr) {
drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c
904
if (unlikely(wr->num_sge > qp->rq.max_sg ||
drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c
905
wr->num_sge < 0)) {
drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c
907
*bad_wr = wr;
drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c
916
*bad_wr = wr;
drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c
923
wqe_hdr->wr_id = wr->wr_id;
drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c
924
wqe_hdr->num_sge = wr->num_sge;
drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c
928
for (i = 0; i < wr->num_sge; i++) {
drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c
929
sge->addr = wr->sg_list[i].addr;
drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c
930
sge->length = wr->sg_list[i].length;
drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c
931
sge->lkey = wr->sg_list[i].lkey;
drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c
942
wr = wr->next;
drivers/infiniband/hw/vmw_pvrdma/pvrdma_verbs.h
399
int pvrdma_post_send(struct ib_qp *ibqp, const struct ib_send_wr *wr,
drivers/infiniband/hw/vmw_pvrdma/pvrdma_verbs.h
401
int pvrdma_post_recv(struct ib_qp *ibqp, const struct ib_recv_wr *wr,
drivers/infiniband/sw/rdmavt/qp.c
1779
int rvt_post_recv(struct ib_qp *ibqp, const struct ib_recv_wr *wr,
drivers/infiniband/sw/rdmavt/qp.c
1790
*bad_wr = wr;
drivers/infiniband/sw/rdmavt/qp.c
1794
for (; wr; wr = wr->next) {
drivers/infiniband/sw/rdmavt/qp.c
1799
if ((unsigned)wr->num_sge > qp->r_rq.max_sge) {
drivers/infiniband/sw/rdmavt/qp.c
1800
*bad_wr = wr;
drivers/infiniband/sw/rdmavt/qp.c
1810
*bad_wr = wr;
drivers/infiniband/sw/rdmavt/qp.c
1819
wc.wr_id = wr->wr_id;
drivers/infiniband/sw/rdmavt/qp.c
1824
wqe->wr_id = wr->wr_id;
drivers/infiniband/sw/rdmavt/qp.c
1825
wqe->num_sge = wr->num_sge;
drivers/infiniband/sw/rdmavt/qp.c
1826
for (i = 0; i < wr->num_sge; i++) {
drivers/infiniband/sw/rdmavt/qp.c
1827
wqe->sg_list[i].addr = wr->sg_list[i].addr;
drivers/infiniband/sw/rdmavt/qp.c
1828
wqe->sg_list[i].length = wr->sg_list[i].length;
drivers/infiniband/sw/rdmavt/qp.c
1829
wqe->sg_list[i].lkey = wr->sg_list[i].lkey;
drivers/infiniband/sw/rdmavt/qp.c
1863
const struct ib_send_wr *wr)
drivers/infiniband/sw/rdmavt/qp.c
1867
if (wr->opcode >= RVT_OPERATION_MAX || !post_parms[wr->opcode].length)
drivers/infiniband/sw/rdmavt/qp.c
1869
if (!(post_parms[wr->opcode].qpt_support & BIT(qp->ibqp.qp_type)))
drivers/infiniband/sw/rdmavt/qp.c
1871
if ((post_parms[wr->opcode].flags & RVT_OPERATION_PRIV) &&
drivers/infiniband/sw/rdmavt/qp.c
1874
if (post_parms[wr->opcode].flags & RVT_OPERATION_ATOMIC_SGE &&
drivers/infiniband/sw/rdmavt/qp.c
1875
(wr->num_sge == 0 ||
drivers/infiniband/sw/rdmavt/qp.c
1876
wr->sg_list[0].length < sizeof(u64) ||
drivers/infiniband/sw/rdmavt/qp.c
1877
wr->sg_list[0].addr & (sizeof(u64) - 1)))
drivers/infiniband/sw/rdmavt/qp.c
1879
if (post_parms[wr->opcode].flags & RVT_OPERATION_ATOMIC &&
drivers/infiniband/sw/rdmavt/qp.c
1882
len = post_parms[wr->opcode].length;
drivers/infiniband/sw/rdmavt/qp.c
1886
if (qp->ibqp.pd != ud_wr(wr)->ah->pd)
drivers/infiniband/sw/rdmavt/qp.c
1959
const struct ib_send_wr *wr,
drivers/infiniband/sw/rdmavt/qp.c
1979
if (unlikely(wr->num_sge > qp->s_max_sge))
drivers/infiniband/sw/rdmavt/qp.c
1982
ret = rvt_qp_valid_operation(qp, rdi->post_parms, wr);
drivers/infiniband/sw/rdmavt/qp.c
1998
if ((rdi->post_parms[wr->opcode].flags & RVT_OPERATION_LOCAL)) {
drivers/infiniband/sw/rdmavt/qp.c
1999
switch (wr->opcode) {
drivers/infiniband/sw/rdmavt/qp.c
2002
reg_wr(wr)->mr,
drivers/infiniband/sw/rdmavt/qp.c
2003
reg_wr(wr)->key,
drivers/infiniband/sw/rdmavt/qp.c
2004
reg_wr(wr)->access);
drivers/infiniband/sw/rdmavt/qp.c
2005
if (ret || !(wr->send_flags & IB_SEND_SIGNALED))
drivers/infiniband/sw/rdmavt/qp.c
2009
if ((wr->send_flags & IB_SEND_FENCE) ||
drivers/infiniband/sw/rdmavt/qp.c
2014
qp, wr->ex.invalidate_rkey);
drivers/infiniband/sw/rdmavt/qp.c
2015
if (ret || !(wr->send_flags & IB_SEND_SIGNALED))
drivers/infiniband/sw/rdmavt/qp.c
2024
reserved_op = rdi->post_parms[wr->opcode].flags &
drivers/infiniband/sw/rdmavt/qp.c
2039
memcpy(&wqe->ud_wr, wr, cplen);
drivers/infiniband/sw/rdmavt/qp.c
2043
if (wr->num_sge) {
drivers/infiniband/sw/rdmavt/qp.c
2046
acc = wr->opcode >= IB_WR_RDMA_READ ?
drivers/infiniband/sw/rdmavt/qp.c
2048
for (i = 0; i < wr->num_sge; i++) {
drivers/infiniband/sw/rdmavt/qp.c
2049
u32 length = wr->sg_list[i].length;
drivers/infiniband/sw/rdmavt/qp.c
2054
&wr->sg_list[i], acc);
drivers/infiniband/sw/rdmavt/qp.c
2062
wqe->wr.num_sge = j;
drivers/infiniband/sw/rdmavt/qp.c
2078
if (rdi->post_parms[wr->opcode].flags & RVT_OPERATION_LOCAL) {
drivers/infiniband/sw/rdmavt/qp.c
2082
wqe->wr.send_flags |= RVT_SEND_COMPLETION_ONLY;
drivers/infiniband/sw/rdmavt/qp.c
2102
if (!(rdi->post_parms[wr->opcode].flags & RVT_OPERATION_LOCAL))
drivers/infiniband/sw/rdmavt/qp.c
2106
wqe->wr.send_flags |= RVT_SEND_RESERVE_USED;
drivers/infiniband/sw/rdmavt/qp.c
2109
wqe->wr.send_flags &= ~RVT_SEND_RESERVE_USED;
drivers/infiniband/sw/rdmavt/qp.c
2112
trace_rvt_post_one_wr(qp, wqe, wr->num_sge);
drivers/infiniband/sw/rdmavt/qp.c
2141
int rvt_post_send(struct ib_qp *ibqp, const struct ib_send_wr *wr,
drivers/infiniband/sw/rdmavt/qp.c
2167
call_send = qp->s_head == READ_ONCE(qp->s_last) && !wr->next;
drivers/infiniband/sw/rdmavt/qp.c
2169
for (; wr; wr = wr->next) {
drivers/infiniband/sw/rdmavt/qp.c
2170
err = rvt_post_one_wr(qp, wr, &call_send);
drivers/infiniband/sw/rdmavt/qp.c
2172
*bad_wr = wr;
drivers/infiniband/sw/rdmavt/qp.c
2202
int rvt_post_srq_recv(struct ib_srq *ibsrq, const struct ib_recv_wr *wr,
drivers/infiniband/sw/rdmavt/qp.c
2209
for (; wr; wr = wr->next) {
drivers/infiniband/sw/rdmavt/qp.c
2214
if ((unsigned)wr->num_sge > srq->rq.max_sge) {
drivers/infiniband/sw/rdmavt/qp.c
2215
*bad_wr = wr;
drivers/infiniband/sw/rdmavt/qp.c
2226
*bad_wr = wr;
drivers/infiniband/sw/rdmavt/qp.c
2231
wqe->wr_id = wr->wr_id;
drivers/infiniband/sw/rdmavt/qp.c
2232
wqe->num_sge = wr->num_sge;
drivers/infiniband/sw/rdmavt/qp.c
2233
for (i = 0; i < wr->num_sge; i++) {
drivers/infiniband/sw/rdmavt/qp.c
2234
wqe->sg_list[i].addr = wr->sg_list[i].addr;
drivers/infiniband/sw/rdmavt/qp.c
2235
wqe->sg_list[i].length = wr->sg_list[i].length;
drivers/infiniband/sw/rdmavt/qp.c
2236
wqe->sg_list[i].lkey = wr->sg_list[i].lkey;
drivers/infiniband/sw/rdmavt/qp.c
2788
last = rvt_qp_complete_swqe(qp, wqe, rdi->wc_opcode[wqe->wr.opcode],
drivers/infiniband/sw/rdmavt/qp.c
2979
sqp->s_sge.num_sge = wqe->wr.num_sge;
drivers/infiniband/sw/rdmavt/qp.c
2981
switch (wqe->wr.opcode) {
drivers/infiniband/sw/rdmavt/qp.c
2986
if (!(wqe->wr.send_flags & RVT_SEND_COMPLETION_ONLY)) {
drivers/infiniband/sw/rdmavt/qp.c
2988
wqe->wr.ex.invalidate_rkey))
drivers/infiniband/sw/rdmavt/qp.c
3004
switch (wqe->wr.opcode) {
drivers/infiniband/sw/rdmavt/qp.c
3007
wqe->wr.ex.invalidate_rkey)) {
drivers/infiniband/sw/rdmavt/qp.c
3010
wqe->wr.ex.invalidate_rkey;
drivers/infiniband/sw/rdmavt/qp.c
3015
wc.ex.imm_data = wqe->wr.ex.imm_data;
drivers/infiniband/sw/rdmavt/qp.c
3026
wc.ex.imm_data = wqe->wr.ex.imm_data;
drivers/infiniband/sw/rdmavt/qp.c
3064
qp->r_sge.num_sge = wqe->wr.num_sge;
drivers/infiniband/sw/rdmavt/qp.c
3083
(wqe->wr.opcode == IB_WR_ATOMIC_FETCH_AND_ADD) ?
drivers/infiniband/sw/rdmavt/qp.c
3112
if (wqe->wr.opcode == IB_WR_RDMA_WRITE_WITH_IMM)
drivers/infiniband/sw/rdmavt/qp.c
3125
rvt_recv_cq(qp, &wc, wqe->wr.send_flags & IB_SEND_SOLICITED);
drivers/infiniband/sw/rdmavt/qp.c
624
for (i = 0; i < wqe->wr.num_sge; i++) {
drivers/infiniband/sw/rdmavt/qp.h
20
int rvt_post_recv(struct ib_qp *ibqp, const struct ib_recv_wr *wr,
drivers/infiniband/sw/rdmavt/qp.h
22
int rvt_post_send(struct ib_qp *ibqp, const struct ib_send_wr *wr,
drivers/infiniband/sw/rdmavt/qp.h
24
int rvt_post_srq_recv(struct ib_srq *ibsrq, const struct ib_recv_wr *wr,
drivers/infiniband/sw/rdmavt/rc.c
166
ss->num_sge = wqe->wr.num_sge;
drivers/infiniband/sw/rdmavt/trace_tx.h
133
__entry->wr_id = wqe->wr.wr_id;
drivers/infiniband/sw/rdmavt/trace_tx.h
139
__entry->opcode = wqe->wr.opcode;
drivers/infiniband/sw/rdmavt/trace_tx.h
140
__entry->send_flags = wqe->wr.send_flags;
drivers/infiniband/sw/rdmavt/trace_tx.h
74
__entry->wr_id = wqe->wr.wr_id;
drivers/infiniband/sw/rdmavt/trace_tx.h
80
__entry->opcode = wqe->wr.opcode;
drivers/infiniband/sw/rdmavt/trace_tx.h
87
__entry->send_flags = wqe->wr.send_flags;
drivers/infiniband/sw/rdmavt/trace_tx.h
88
__entry->num_sge = wqe->wr.num_sge;
drivers/infiniband/sw/rxe/rxe_av.c
148
ah_num = pkt->wqe->wr.wr.ud.ah_num;
drivers/infiniband/sw/rxe/rxe_av.c
172
return &pkt->wqe->wr.wr.ud.av;
drivers/infiniband/sw/rxe/rxe_comp.c
271
if (wqe->wr.opcode == IB_WR_ATOMIC_WRITE)
drivers/infiniband/sw/rxe/rxe_comp.c
278
if (wqe->wr.opcode != IB_WR_RDMA_READ &&
drivers/infiniband/sw/rxe/rxe_comp.c
279
wqe->wr.opcode != IB_WR_RDMA_READ_WITH_INV &&
drivers/infiniband/sw/rxe/rxe_comp.c
280
wqe->wr.opcode != IB_WR_FLUSH) {
drivers/infiniband/sw/rxe/rxe_comp.c
293
if (wqe->wr.opcode != IB_WR_ATOMIC_CMP_AND_SWP &&
drivers/infiniband/sw/rxe/rxe_comp.c
294
wqe->wr.opcode != IB_WR_ATOMIC_FETCH_AND_ADD)
drivers/infiniband/sw/rxe/rxe_comp.c
405
wc->wr_id = wqe->wr.wr_id;
drivers/infiniband/sw/rxe/rxe_comp.c
409
uwc->wr_id = wqe->wr.wr_id;
drivers/infiniband/sw/rxe/rxe_comp.c
416
wc->opcode = wr_to_wc_opcode(wqe->wr.opcode);
drivers/infiniband/sw/rxe/rxe_comp.c
417
if (wqe->wr.opcode == IB_WR_RDMA_WRITE_WITH_IMM ||
drivers/infiniband/sw/rxe/rxe_comp.c
418
wqe->wr.opcode == IB_WR_SEND_WITH_IMM)
drivers/infiniband/sw/rxe/rxe_comp.c
422
uwc->opcode = wr_to_wc_opcode(wqe->wr.opcode);
drivers/infiniband/sw/rxe/rxe_comp.c
423
if (wqe->wr.opcode == IB_WR_RDMA_WRITE_WITH_IMM ||
drivers/infiniband/sw/rxe/rxe_comp.c
424
wqe->wr.opcode == IB_WR_SEND_WITH_IMM)
drivers/infiniband/sw/rxe/rxe_comp.c
451
(wqe->wr.send_flags & IB_SEND_SIGNALED) ||
drivers/infiniband/sw/rxe/rxe_comp.c
462
if (wqe->wr.opcode == IB_WR_SEND ||
drivers/infiniband/sw/rxe/rxe_comp.c
463
wqe->wr.opcode == IB_WR_SEND_WITH_IMM ||
drivers/infiniband/sw/rxe/rxe_comp.c
464
wqe->wr.opcode == IB_WR_SEND_WITH_INV)
drivers/infiniband/sw/rxe/rxe_comp.c
568
uwc->wr_id = wqe->wr.wr_id;
drivers/infiniband/sw/rxe/rxe_comp.c
572
wc->wr_id = wqe->wr.wr_id;
drivers/infiniband/sw/rxe/rxe_mr.c
775
struct rxe_mr *mr = to_rmr(wqe->wr.wr.reg.mr);
drivers/infiniband/sw/rxe/rxe_mr.c
776
u32 key = wqe->wr.wr.reg.key;
drivers/infiniband/sw/rxe/rxe_mr.c
777
u32 access = wqe->wr.wr.reg.access;
drivers/infiniband/sw/rxe/rxe_mr.c
801
mr->ibmr.iova = wqe->wr.wr.reg.mr->iova;
drivers/infiniband/sw/rxe/rxe_mw.c
117
if (unlikely(wqe->wr.wr.mw.length > mr->ibmr.length)) {
drivers/infiniband/sw/rxe/rxe_mw.c
123
if (unlikely((wqe->wr.wr.mw.addr < mr->ibmr.iova) ||
drivers/infiniband/sw/rxe/rxe_mw.c
124
((wqe->wr.wr.mw.addr + wqe->wr.wr.mw.length) >
drivers/infiniband/sw/rxe/rxe_mw.c
138
u32 key = wqe->wr.wr.mw.rkey & 0xff;
drivers/infiniband/sw/rxe/rxe_mw.c
143
mw->addr = wqe->wr.wr.mw.addr;
drivers/infiniband/sw/rxe/rxe_mw.c
144
mw->length = wqe->wr.wr.mw.length;
drivers/infiniband/sw/rxe/rxe_mw.c
170
u32 mw_rkey = wqe->wr.wr.mw.mw_rkey;
drivers/infiniband/sw/rxe/rxe_mw.c
171
u32 mr_lkey = wqe->wr.wr.mw.mr_lkey;
drivers/infiniband/sw/rxe/rxe_mw.c
172
int access = wqe->wr.wr.mw.access;
drivers/infiniband/sw/rxe/rxe_mw.c
185
if (likely(wqe->wr.wr.mw.length)) {
drivers/infiniband/sw/rxe/rxe_mw.c
83
if (unlikely(!mr || wqe->wr.wr.mw.length == 0)) {
drivers/infiniband/sw/rxe/rxe_req.c
196
wqe->mask = wr_opcode_mask(wqe->wr.opcode, qp);
drivers/infiniband/sw/rxe/rxe_req.c
214
if (wqe->wr.opcode == IB_WR_LOCAL_INV)
drivers/infiniband/sw/rxe/rxe_req.c
222
return (wqe->wr.send_flags & IB_SEND_FENCE) &&
drivers/infiniband/sw/rxe/rxe_req.c
26
wqe->wr.opcode);
drivers/infiniband/sw/rxe/rxe_req.c
28
if (wqe->wr.send_flags & IB_SEND_INLINE) {
drivers/infiniband/sw/rxe/rxe_req.c
424
struct rxe_send_wr *ibwr = &wqe->wr;
drivers/infiniband/sw/rxe/rxe_req.c
447
qp_num = (pkt->mask & RXE_DETH_MASK) ? ibwr->wr.ud.remote_qpn :
drivers/infiniband/sw/rxe/rxe_req.c
462
reth_set_rkey(pkt, ibwr->wr.flush.rkey);
drivers/infiniband/sw/rxe/rxe_req.c
464
reth_set_rkey(pkt, ibwr->wr.rdma.rkey);
drivers/infiniband/sw/rxe/rxe_req.c
471
feth_init(pkt, ibwr->wr.flush.type, ibwr->wr.flush.level);
drivers/infiniband/sw/rxe/rxe_req.c
482
atmeth_set_swap_add(pkt, ibwr->wr.atomic.swap);
drivers/infiniband/sw/rxe/rxe_req.c
483
atmeth_set_comp(pkt, ibwr->wr.atomic.compare_add);
drivers/infiniband/sw/rxe/rxe_req.c
485
atmeth_set_swap_add(pkt, ibwr->wr.atomic.compare_add);
drivers/infiniband/sw/rxe/rxe_req.c
487
atmeth_set_rkey(pkt, ibwr->wr.atomic.rkey);
drivers/infiniband/sw/rxe/rxe_req.c
494
deth_set_qkey(pkt, ibwr->wr.ud.remote_qkey);
drivers/infiniband/sw/rxe/rxe_req.c
512
if (wqe->wr.send_flags & IB_SEND_INLINE) {
drivers/infiniband/sw/rxe/rxe_req.c
58
mask = wr_opcode_mask(wqe->wr.opcode, qp);
drivers/infiniband/sw/rxe/rxe_req.c
598
u8 opcode = wqe->wr.opcode;
drivers/infiniband/sw/rxe/rxe_req.c
604
rkey = wqe->wr.ex.invalidate_rkey;
drivers/infiniband/sw/rxe/rxe_req.c
67
wqe->wr.wr.atomic.remote_addr :
drivers/infiniband/sw/rxe/rxe_req.c
69
wqe->wr.wr.rdma.remote_addr :
drivers/infiniband/sw/rxe/rxe_req.c
731
opcode = next_opcode(qp, wqe, wqe->wr.opcode);
drivers/infiniband/sw/rxe/rxe_verbs.c
1022
static int rxe_post_recv(struct ib_qp *ibqp, const struct ib_recv_wr *wr,
drivers/infiniband/sw/rxe/rxe_verbs.c
1041
*bad_wr = wr;
drivers/infiniband/sw/rxe/rxe_verbs.c
1048
*bad_wr = wr;
drivers/infiniband/sw/rxe/rxe_verbs.c
1055
while (wr) {
drivers/infiniband/sw/rxe/rxe_verbs.c
1056
err = post_one_recv(rq, wr);
drivers/infiniband/sw/rxe/rxe_verbs.c
1058
*bad_wr = wr;
drivers/infiniband/sw/rxe/rxe_verbs.c
1061
wr = wr->next;
drivers/infiniband/sw/rxe/rxe_verbs.c
509
static int rxe_post_srq_recv(struct ib_srq *ibsrq, const struct ib_recv_wr *wr,
drivers/infiniband/sw/rxe/rxe_verbs.c
518
while (wr) {
drivers/infiniband/sw/rxe/rxe_verbs.c
519
err = post_one_recv(&srq->rq, wr);
drivers/infiniband/sw/rxe/rxe_verbs.c
522
wr = wr->next;
drivers/infiniband/sw/rxe/rxe_verbs.c
528
*bad_wr = wr;
drivers/infiniband/sw/rxe/rxe_verbs.c
747
static int init_send_wr(struct rxe_qp *qp, struct rxe_send_wr *wr,
drivers/infiniband/sw/rxe/rxe_verbs.c
750
wr->wr_id = ibwr->wr_id;
drivers/infiniband/sw/rxe/rxe_verbs.c
751
wr->opcode = ibwr->opcode;
drivers/infiniband/sw/rxe/rxe_verbs.c
752
wr->send_flags = ibwr->send_flags;
drivers/infiniband/sw/rxe/rxe_verbs.c
758
wr->wr.ud.remote_qpn = ud_wr(ibwr)->remote_qpn;
drivers/infiniband/sw/rxe/rxe_verbs.c
759
wr->wr.ud.remote_qkey = ud_wr(ibwr)->remote_qkey;
drivers/infiniband/sw/rxe/rxe_verbs.c
760
wr->wr.ud.ah_num = to_rah(ibah)->ah_num;
drivers/infiniband/sw/rxe/rxe_verbs.c
762
wr->wr.ud.pkey_index = ud_wr(ibwr)->pkey_index;
drivers/infiniband/sw/rxe/rxe_verbs.c
764
switch (wr->opcode) {
drivers/infiniband/sw/rxe/rxe_verbs.c
766
wr->ex.imm_data = ibwr->ex.imm_data;
drivers/infiniband/sw/rxe/rxe_verbs.c
772
wr->opcode);
drivers/infiniband/sw/rxe/rxe_verbs.c
776
switch (wr->opcode) {
drivers/infiniband/sw/rxe/rxe_verbs.c
778
wr->ex.imm_data = ibwr->ex.imm_data;
drivers/infiniband/sw/rxe/rxe_verbs.c
782
wr->wr.rdma.remote_addr = rdma_wr(ibwr)->remote_addr;
drivers/infiniband/sw/rxe/rxe_verbs.c
783
wr->wr.rdma.rkey = rdma_wr(ibwr)->rkey;
drivers/infiniband/sw/rxe/rxe_verbs.c
786
wr->ex.imm_data = ibwr->ex.imm_data;
drivers/infiniband/sw/rxe/rxe_verbs.c
789
wr->ex.invalidate_rkey = ibwr->ex.invalidate_rkey;
drivers/infiniband/sw/rxe/rxe_verbs.c
792
wr->ex.invalidate_rkey = ibwr->ex.invalidate_rkey;
drivers/infiniband/sw/rxe/rxe_verbs.c
793
wr->wr.rdma.remote_addr = rdma_wr(ibwr)->remote_addr;
drivers/infiniband/sw/rxe/rxe_verbs.c
794
wr->wr.rdma.rkey = rdma_wr(ibwr)->rkey;
drivers/infiniband/sw/rxe/rxe_verbs.c
798
wr->wr.atomic.remote_addr =
drivers/infiniband/sw/rxe/rxe_verbs.c
800
wr->wr.atomic.compare_add =
drivers/infiniband/sw/rxe/rxe_verbs.c
802
wr->wr.atomic.swap = atomic_wr(ibwr)->swap;
drivers/infiniband/sw/rxe/rxe_verbs.c
803
wr->wr.atomic.rkey = atomic_wr(ibwr)->rkey;
drivers/infiniband/sw/rxe/rxe_verbs.c
806
wr->ex.invalidate_rkey = ibwr->ex.invalidate_rkey;
drivers/infiniband/sw/rxe/rxe_verbs.c
809
wr->wr.reg.mr = reg_wr(ibwr)->mr;
drivers/infiniband/sw/rxe/rxe_verbs.c
810
wr->wr.reg.key = reg_wr(ibwr)->key;
drivers/infiniband/sw/rxe/rxe_verbs.c
811
wr->wr.reg.access = reg_wr(ibwr)->access;
drivers/infiniband/sw/rxe/rxe_verbs.c
820
wr->opcode);
drivers/infiniband/sw/rxe/rxe_verbs.c
848
err = init_send_wr(qp, &wqe->wr, ibwr);
drivers/infiniband/sw/rxe/rxe_verbs.c
934
static int rxe_post_send(struct ib_qp *ibqp, const struct ib_send_wr *wr,
drivers/infiniband/sw/rxe/rxe_verbs.c
951
*bad_wr = wr;
drivers/infiniband/sw/rxe/rxe_verbs.c
961
err = rxe_post_send_kernel(qp, wr, bad_wr);
drivers/infiniband/sw/siw/siw_verbs.c
1008
int siw_post_receive(struct ib_qp *base_qp, const struct ib_recv_wr *wr,
drivers/infiniband/sw/siw/siw_verbs.c
1016
*bad_wr = wr;
drivers/infiniband/sw/siw/siw_verbs.c
1021
*bad_wr = wr;
drivers/infiniband/sw/siw/siw_verbs.c
1040
rv = siw_rq_flush_wr(qp, wr, bad_wr);
drivers/infiniband/sw/siw/siw_verbs.c
1044
*bad_wr = wr;
drivers/infiniband/sw/siw/siw_verbs.c
1058
rv = siw_rq_flush_wr(qp, wr, bad_wr);
drivers/infiniband/sw/siw/siw_verbs.c
1062
*bad_wr = wr;
drivers/infiniband/sw/siw/siw_verbs.c
1074
while (wr) {
drivers/infiniband/sw/siw/siw_verbs.c
1083
if (wr->num_sge > qp->attrs.rq_max_sges) {
drivers/infiniband/sw/siw/siw_verbs.c
1084
siw_dbg_qp(qp, "too many sge's: %d\n", wr->num_sge);
drivers/infiniband/sw/siw/siw_verbs.c
1088
rqe->id = wr->wr_id;
drivers/infiniband/sw/siw/siw_verbs.c
1089
rqe->num_sge = wr->num_sge;
drivers/infiniband/sw/siw/siw_verbs.c
1090
siw_copy_sgl(wr->sg_list, rqe->sge, wr->num_sge);
drivers/infiniband/sw/siw/siw_verbs.c
1098
wr = wr->next;
drivers/infiniband/sw/siw/siw_verbs.c
1106
*bad_wr = wr;
drivers/infiniband/sw/siw/siw_verbs.c
1771
int siw_post_srq_recv(struct ib_srq *base_srq, const struct ib_recv_wr *wr,
drivers/infiniband/sw/siw/siw_verbs.c
1791
while (wr) {
drivers/infiniband/sw/siw/siw_verbs.c
1800
if (unlikely(wr->num_sge > srq->max_sge)) {
drivers/infiniband/sw/siw/siw_verbs.c
1802
"[SRQ]: too many sge's: %d\n", wr->num_sge);
drivers/infiniband/sw/siw/siw_verbs.c
1806
rqe->id = wr->wr_id;
drivers/infiniband/sw/siw/siw_verbs.c
1807
rqe->num_sge = wr->num_sge;
drivers/infiniband/sw/siw/siw_verbs.c
1808
siw_copy_sgl(wr->sg_list, rqe->sge, wr->num_sge);
drivers/infiniband/sw/siw/siw_verbs.c
1816
wr = wr->next;
drivers/infiniband/sw/siw/siw_verbs.c
1822
*bad_wr = wr;
drivers/infiniband/sw/siw/siw_verbs.c
684
static int siw_sq_flush_wr(struct siw_qp *qp, const struct ib_send_wr *wr,
drivers/infiniband/sw/siw/siw_verbs.c
689
while (wr) {
drivers/infiniband/sw/siw/siw_verbs.c
692
switch (wr->opcode) {
drivers/infiniband/sw/siw/siw_verbs.c
722
sqe.id = wr->wr_id;
drivers/infiniband/sw/siw/siw_verbs.c
728
*bad_wr = wr;
drivers/infiniband/sw/siw/siw_verbs.c
731
wr = wr->next;
drivers/infiniband/sw/siw/siw_verbs.c
737
static int siw_rq_flush_wr(struct siw_qp *qp, const struct ib_recv_wr *wr,
drivers/infiniband/sw/siw/siw_verbs.c
743
while (wr) {
drivers/infiniband/sw/siw/siw_verbs.c
744
rqe.id = wr->wr_id;
drivers/infiniband/sw/siw/siw_verbs.c
748
*bad_wr = wr;
drivers/infiniband/sw/siw/siw_verbs.c
751
wr = wr->next;
drivers/infiniband/sw/siw/siw_verbs.c
765
int siw_post_send(struct ib_qp *base_qp, const struct ib_send_wr *wr,
drivers/infiniband/sw/siw/siw_verbs.c
774
if (wr && !rdma_is_kernel_res(&qp->base_qp.res)) {
drivers/infiniband/sw/siw/siw_verbs.c
776
*bad_wr = wr;
drivers/infiniband/sw/siw/siw_verbs.c
795
rv = siw_sq_flush_wr(qp, wr, bad_wr);
drivers/infiniband/sw/siw/siw_verbs.c
799
*bad_wr = wr;
drivers/infiniband/sw/siw/siw_verbs.c
813
rv = siw_sq_flush_wr(qp, wr, bad_wr);
drivers/infiniband/sw/siw/siw_verbs.c
817
*bad_wr = wr;
drivers/infiniband/sw/siw/siw_verbs.c
825
while (wr) {
drivers/infiniband/sw/siw/siw_verbs.c
834
if (wr->num_sge > qp->attrs.sq_max_sges) {
drivers/infiniband/sw/siw/siw_verbs.c
835
siw_dbg_qp(qp, "too many sge's: %d\n", wr->num_sge);
drivers/infiniband/sw/siw/siw_verbs.c
839
sqe->id = wr->wr_id;
drivers/infiniband/sw/siw/siw_verbs.c
841
if ((wr->send_flags & IB_SEND_SIGNALED) ||
drivers/infiniband/sw/siw/siw_verbs.c
845
if (wr->send_flags & IB_SEND_FENCE)
drivers/infiniband/sw/siw/siw_verbs.c
848
switch (wr->opcode) {
drivers/infiniband/sw/siw/siw_verbs.c
851
if (wr->send_flags & IB_SEND_SOLICITED)
drivers/infiniband/sw/siw/siw_verbs.c
854
if (!(wr->send_flags & IB_SEND_INLINE)) {
drivers/infiniband/sw/siw/siw_verbs.c
855
siw_copy_sgl(wr->sg_list, sqe->sge,
drivers/infiniband/sw/siw/siw_verbs.c
856
wr->num_sge);
drivers/infiniband/sw/siw/siw_verbs.c
857
sqe->num_sge = wr->num_sge;
drivers/infiniband/sw/siw/siw_verbs.c
859
rv = siw_copy_inline_sgl(wr, sqe);
drivers/infiniband/sw/siw/siw_verbs.c
867
if (wr->opcode == IB_WR_SEND)
drivers/infiniband/sw/siw/siw_verbs.c
871
sqe->rkey = wr->ex.invalidate_rkey;
drivers/infiniband/sw/siw/siw_verbs.c
884
if (unlikely(wr->num_sge != 1)) {
drivers/infiniband/sw/siw/siw_verbs.c
888
siw_copy_sgl(wr->sg_list, &sqe->sge[0], 1);
drivers/infiniband/sw/siw/siw_verbs.c
892
sqe->raddr = rdma_wr(wr)->remote_addr;
drivers/infiniband/sw/siw/siw_verbs.c
893
sqe->rkey = rdma_wr(wr)->rkey;
drivers/infiniband/sw/siw/siw_verbs.c
896
if (wr->opcode == IB_WR_RDMA_READ)
drivers/infiniband/sw/siw/siw_verbs.c
903
if (!(wr->send_flags & IB_SEND_INLINE)) {
drivers/infiniband/sw/siw/siw_verbs.c
904
siw_copy_sgl(wr->sg_list, &sqe->sge[0],
drivers/infiniband/sw/siw/siw_verbs.c
905
wr->num_sge);
drivers/infiniband/sw/siw/siw_verbs.c
906
sqe->num_sge = wr->num_sge;
drivers/infiniband/sw/siw/siw_verbs.c
908
rv = siw_copy_inline_sgl(wr, sqe);
drivers/infiniband/sw/siw/siw_verbs.c
916
sqe->raddr = rdma_wr(wr)->remote_addr;
drivers/infiniband/sw/siw/siw_verbs.c
917
sqe->rkey = rdma_wr(wr)->rkey;
drivers/infiniband/sw/siw/siw_verbs.c
922
sqe->base_mr = (uintptr_t)reg_wr(wr)->mr;
drivers/infiniband/sw/siw/siw_verbs.c
923
sqe->rkey = reg_wr(wr)->key;
drivers/infiniband/sw/siw/siw_verbs.c
924
sqe->access = reg_wr(wr)->access & IWARP_ACCESS_MASK;
drivers/infiniband/sw/siw/siw_verbs.c
929
sqe->rkey = wr->ex.invalidate_rkey;
drivers/infiniband/sw/siw/siw_verbs.c
935
wr->opcode);
drivers/infiniband/sw/siw/siw_verbs.c
951
wr = wr->next;
drivers/infiniband/sw/siw/siw_verbs.c
967
*bad_wr = wr;
drivers/infiniband/sw/siw/siw_verbs.h
60
int siw_post_send(struct ib_qp *base_qp, const struct ib_send_wr *wr,
drivers/infiniband/sw/siw/siw_verbs.h
62
int siw_post_receive(struct ib_qp *base_qp, const struct ib_recv_wr *wr,
drivers/infiniband/sw/siw/siw_verbs.h
82
int siw_post_srq_recv(struct ib_srq *base_srq, const struct ib_recv_wr *wr,
drivers/infiniband/ulp/ipoib/ipoib.h
559
priv->tx_wr.wr.num_sge = nr_frags + off;
drivers/infiniband/ulp/ipoib/ipoib_cm.c
118
struct ib_recv_wr *wr,
drivers/infiniband/ulp/ipoib/ipoib_cm.c
124
wr->wr_id = id | IPOIB_OP_CM | IPOIB_OP_RECV;
drivers/infiniband/ulp/ipoib/ipoib_cm.c
129
ret = ib_post_recv(rx->qp, wr, NULL);
drivers/infiniband/ulp/ipoib/ipoib_cm.c
329
struct ib_recv_wr *wr,
drivers/infiniband/ulp/ipoib/ipoib_cm.c
342
wr->next = NULL;
drivers/infiniband/ulp/ipoib/ipoib_cm.c
343
wr->sg_list = sge;
drivers/infiniband/ulp/ipoib/ipoib_cm.c
344
wr->num_sge = priv->cm.num_frags;
drivers/infiniband/ulp/ipoib/ipoib_cm.c
352
struct ib_recv_wr wr;
drivers/infiniband/ulp/ipoib/ipoib_cm.c
369
ipoib_cm_init_rx_wr(dev, &t->wr, t->sge);
drivers/infiniband/ulp/ipoib/ipoib_cm.c
391
ret = ipoib_cm_post_receive_nonsrq(dev, rx, &t->wr, t->sge, i);
drivers/infiniband/ulp/ipoib/ipoib_cm.c
703
priv->tx_wr.wr.wr_id = wr_id | IPOIB_OP_CM;
drivers/infiniband/ulp/ipoib/ipoib_cm.c
705
return ib_post_send(tx->qp, &priv->tx_wr.wr, NULL);
drivers/infiniband/ulp/ipoib/ipoib_ib.c
576
priv->tx_wr.wr.wr_id = wr_id;
drivers/infiniband/ulp/ipoib/ipoib_ib.c
584
priv->tx_wr.wr.opcode = IB_WR_LSO;
drivers/infiniband/ulp/ipoib/ipoib_ib.c
586
priv->tx_wr.wr.opcode = IB_WR_SEND;
drivers/infiniband/ulp/ipoib/ipoib_ib.c
588
return ib_post_send(priv->qp, &priv->tx_wr.wr, NULL);
drivers/infiniband/ulp/ipoib/ipoib_ib.c
660
priv->tx_wr.wr.send_flags |= IB_SEND_IP_CSUM;
drivers/infiniband/ulp/ipoib/ipoib_ib.c
662
priv->tx_wr.wr.send_flags &= ~IB_SEND_IP_CSUM;
drivers/infiniband/ulp/ipoib/ipoib_main.c
577
priv->tx_wr.wr.send_flags &= ~IB_SEND_IP_CSUM;
drivers/infiniband/ulp/ipoib/ipoib_verbs.c
224
priv->tx_wr.wr.opcode = IB_WR_SEND;
drivers/infiniband/ulp/ipoib/ipoib_verbs.c
225
priv->tx_wr.wr.sg_list = priv->tx_sge;
drivers/infiniband/ulp/ipoib/ipoib_verbs.c
226
priv->tx_wr.wr.send_flags = IB_SEND_SIGNALED;
drivers/infiniband/ulp/iser/iscsi_iser.c
212
tx_desc->reg_wr.wr.next = NULL;
drivers/infiniband/ulp/iser/iser_memory.c
257
struct ib_reg_wr *wr = &tx_desc->reg_wr;
drivers/infiniband/ulp/iser/iser_memory.c
268
iser_inv_rkey(&tx_desc->inv_wr, mr, cqe, &wr->wr);
drivers/infiniband/ulp/iser/iser_memory.c
280
memset(wr, 0, sizeof(*wr));
drivers/infiniband/ulp/iser/iser_memory.c
281
wr->wr.next = &tx_desc->send_wr;
drivers/infiniband/ulp/iser/iser_memory.c
282
wr->wr.opcode = IB_WR_REG_MR_INTEGRITY;
drivers/infiniband/ulp/iser/iser_memory.c
283
wr->wr.wr_cqe = cqe;
drivers/infiniband/ulp/iser/iser_memory.c
284
wr->wr.num_sge = 0;
drivers/infiniband/ulp/iser/iser_memory.c
285
wr->wr.send_flags = 0;
drivers/infiniband/ulp/iser/iser_memory.c
286
wr->mr = mr;
drivers/infiniband/ulp/iser/iser_memory.c
287
wr->key = mr->rkey;
drivers/infiniband/ulp/iser/iser_memory.c
288
wr->access = IB_ACCESS_LOCAL_WRITE |
drivers/infiniband/ulp/iser/iser_memory.c
313
struct ib_reg_wr *wr = &tx_desc->reg_wr;
drivers/infiniband/ulp/iser/iser_memory.c
317
iser_inv_rkey(&tx_desc->inv_wr, mr, cqe, &wr->wr);
drivers/infiniband/ulp/iser/iser_memory.c
328
wr->wr.next = &tx_desc->send_wr;
drivers/infiniband/ulp/iser/iser_memory.c
329
wr->wr.opcode = IB_WR_REG_MR;
drivers/infiniband/ulp/iser/iser_memory.c
330
wr->wr.wr_cqe = cqe;
drivers/infiniband/ulp/iser/iser_memory.c
331
wr->wr.send_flags = 0;
drivers/infiniband/ulp/iser/iser_memory.c
332
wr->wr.num_sge = 0;
drivers/infiniband/ulp/iser/iser_memory.c
333
wr->mr = mr;
drivers/infiniband/ulp/iser/iser_memory.c
334
wr->key = mr->rkey;
drivers/infiniband/ulp/iser/iser_memory.c
335
wr->access = IB_ACCESS_LOCAL_WRITE |
drivers/infiniband/ulp/iser/iser_verbs.c
810
struct ib_recv_wr wr;
drivers/infiniband/ulp/iser/iser_verbs.c
818
wr.wr_cqe = &desc->cqe;
drivers/infiniband/ulp/iser/iser_verbs.c
819
wr.sg_list = &desc->sge;
drivers/infiniband/ulp/iser/iser_verbs.c
820
wr.num_sge = 1;
drivers/infiniband/ulp/iser/iser_verbs.c
821
wr.next = NULL;
drivers/infiniband/ulp/iser/iser_verbs.c
823
ret = ib_post_recv(ib_conn->qp, &wr, NULL);
drivers/infiniband/ulp/iser/iser_verbs.c
833
struct ib_recv_wr wr;
drivers/infiniband/ulp/iser/iser_verbs.c
837
wr.wr_cqe = &rx_desc->cqe;
drivers/infiniband/ulp/iser/iser_verbs.c
838
wr.sg_list = &rx_desc->rx_sg;
drivers/infiniband/ulp/iser/iser_verbs.c
839
wr.num_sge = 1;
drivers/infiniband/ulp/iser/iser_verbs.c
840
wr.next = NULL;
drivers/infiniband/ulp/iser/iser_verbs.c
842
ret = ib_post_recv(ib_conn->qp, &wr, NULL);
drivers/infiniband/ulp/iser/iser_verbs.c
859
struct ib_send_wr *wr = &tx_desc->send_wr;
drivers/infiniband/ulp/iser/iser_verbs.c
867
wr->next = NULL;
drivers/infiniband/ulp/iser/iser_verbs.c
868
wr->wr_cqe = &tx_desc->cqe;
drivers/infiniband/ulp/iser/iser_verbs.c
869
wr->sg_list = tx_desc->tx_sg;
drivers/infiniband/ulp/iser/iser_verbs.c
870
wr->num_sge = tx_desc->num_sge;
drivers/infiniband/ulp/iser/iser_verbs.c
871
wr->opcode = IB_WR_SEND;
drivers/infiniband/ulp/iser/iser_verbs.c
872
wr->send_flags = IB_SEND_SIGNALED;
drivers/infiniband/ulp/iser/iser_verbs.c
876
else if (tx_desc->reg_wr.wr.next)
drivers/infiniband/ulp/iser/iser_verbs.c
877
first_wr = &tx_desc->reg_wr.wr;
drivers/infiniband/ulp/iser/iser_verbs.c
879
first_wr = wr;
drivers/infiniband/ulp/iser/iser_verbs.c
884
ret, wr->opcode);
drivers/infiniband/ulp/rtrs/rtrs-clt.c
1020
struct ib_send_wr *wr,
drivers/infiniband/ulp/rtrs/rtrs-clt.c
1064
flags, wr, ptail);
drivers/infiniband/ulp/rtrs/rtrs-clt.c
1091
struct ib_send_wr *wr = NULL;
drivers/infiniband/ulp/rtrs/rtrs-clt.c
1132
.wr.opcode = IB_WR_REG_MR,
drivers/infiniband/ulp/rtrs/rtrs-clt.c
1133
.wr.wr_cqe = &fast_reg_cqe,
drivers/infiniband/ulp/rtrs/rtrs-clt.c
1138
wr = &rwr.wr;
drivers/infiniband/ulp/rtrs/rtrs-clt.c
1150
imm, wr, NULL);
drivers/infiniband/ulp/rtrs/rtrs-clt.c
1179
struct ib_send_wr *wr = NULL;
drivers/infiniband/ulp/rtrs/rtrs-clt.c
1218
.wr.opcode = IB_WR_REG_MR,
drivers/infiniband/ulp/rtrs/rtrs-clt.c
1219
.wr.wr_cqe = &fast_reg_cqe,
drivers/infiniband/ulp/rtrs/rtrs-clt.c
1225
wr = &rwr.wr;
drivers/infiniband/ulp/rtrs/rtrs-clt.c
1260
req->data_len, imm, wr);
drivers/infiniband/ulp/rtrs/rtrs-clt.c
369
struct ib_send_wr wr = {
drivers/infiniband/ulp/rtrs/rtrs-clt.c
377
return ib_post_send(con->c.qp, &wr, NULL);
drivers/infiniband/ulp/rtrs/rtrs-clt.c
459
u32 imm, struct ib_send_wr *wr)
drivers/infiniband/ulp/rtrs/rtrs-clt.c
489
imm, flags, wr, NULL);
drivers/infiniband/ulp/rtrs/rtrs-clt.c
586
struct ib_recv_wr wr_arr[2], *wr;
drivers/infiniband/ulp/rtrs/rtrs-clt.c
591
wr = &wr_arr[i];
drivers/infiniband/ulp/rtrs/rtrs-clt.c
592
wr->wr_cqe = cqe;
drivers/infiniband/ulp/rtrs/rtrs-clt.c
595
wr->next = &wr_arr[i - 1];
drivers/infiniband/ulp/rtrs/rtrs-clt.c
598
return ib_post_recv(con->qp, wr, NULL);
drivers/infiniband/ulp/rtrs/rtrs-srv.c
1206
struct ib_send_wr wr = {
drivers/infiniband/ulp/rtrs/rtrs-srv.c
1214
return ib_post_send(con->c.qp, &wr, NULL);
drivers/infiniband/ulp/rtrs/rtrs-srv.c
204
struct ib_rdma_wr *wr = NULL;
drivers/infiniband/ulp/rtrs/rtrs-srv.c
220
wr = &id->tx_wr;
drivers/infiniband/ulp/rtrs/rtrs-srv.c
236
wr->wr.sg_list = plist;
drivers/infiniband/ulp/rtrs/rtrs-srv.c
237
wr->wr.num_sge = 1;
drivers/infiniband/ulp/rtrs/rtrs-srv.c
238
wr->remote_addr = le64_to_cpu(id->rd_msg->desc[0].addr);
drivers/infiniband/ulp/rtrs/rtrs-srv.c
239
wr->rkey = le32_to_cpu(id->rd_msg->desc[0].key);
drivers/infiniband/ulp/rtrs/rtrs-srv.c
241
wr->wr.opcode = IB_WR_RDMA_WRITE;
drivers/infiniband/ulp/rtrs/rtrs-srv.c
242
wr->wr.wr_cqe = &io_comp_cqe;
drivers/infiniband/ulp/rtrs/rtrs-srv.c
243
wr->wr.ex.imm_data = 0;
drivers/infiniband/ulp/rtrs/rtrs-srv.c
244
wr->wr.send_flags = 0;
drivers/infiniband/ulp/rtrs/rtrs-srv.c
247
wr->wr.next = &rwr.wr;
drivers/infiniband/ulp/rtrs/rtrs-srv.c
248
rwr.wr.next = &inv_wr;
drivers/infiniband/ulp/rtrs/rtrs-srv.c
249
inv_wr.next = &imm_wr.wr;
drivers/infiniband/ulp/rtrs/rtrs-srv.c
251
wr->wr.next = &rwr.wr;
drivers/infiniband/ulp/rtrs/rtrs-srv.c
252
rwr.wr.next = &imm_wr.wr;
drivers/infiniband/ulp/rtrs/rtrs-srv.c
254
wr->wr.next = &inv_wr;
drivers/infiniband/ulp/rtrs/rtrs-srv.c
255
inv_wr.next = &imm_wr.wr;
drivers/infiniband/ulp/rtrs/rtrs-srv.c
257
wr->wr.next = &imm_wr.wr;
drivers/infiniband/ulp/rtrs/rtrs-srv.c
272
inv_wr.ex.invalidate_rkey = wr->rkey;
drivers/infiniband/ulp/rtrs/rtrs-srv.c
275
imm_wr.wr.next = NULL;
drivers/infiniband/ulp/rtrs/rtrs-srv.c
280
rwr.wr.opcode = IB_WR_REG_MR;
drivers/infiniband/ulp/rtrs/rtrs-srv.c
281
rwr.wr.wr_cqe = &local_reg_cqe;
drivers/infiniband/ulp/rtrs/rtrs-srv.c
282
rwr.wr.num_sge = 0;
drivers/infiniband/ulp/rtrs/rtrs-srv.c
284
rwr.wr.send_flags = 0;
drivers/infiniband/ulp/rtrs/rtrs-srv.c
296
imm_wr.wr.sg_list = &list;
drivers/infiniband/ulp/rtrs/rtrs-srv.c
297
imm_wr.wr.num_sge = 1;
drivers/infiniband/ulp/rtrs/rtrs-srv.c
298
imm_wr.wr.opcode = IB_WR_SEND_WITH_IMM;
drivers/infiniband/ulp/rtrs/rtrs-srv.c
303
imm_wr.wr.sg_list = NULL;
drivers/infiniband/ulp/rtrs/rtrs-srv.c
304
imm_wr.wr.num_sge = 0;
drivers/infiniband/ulp/rtrs/rtrs-srv.c
305
imm_wr.wr.opcode = IB_WR_RDMA_WRITE_WITH_IMM;
drivers/infiniband/ulp/rtrs/rtrs-srv.c
307
imm_wr.wr.send_flags = flags;
drivers/infiniband/ulp/rtrs/rtrs-srv.c
308
imm_wr.wr.ex.imm_data = cpu_to_be32(rtrs_to_io_rsp_imm(id->msg_id,
drivers/infiniband/ulp/rtrs/rtrs-srv.c
311
imm_wr.wr.wr_cqe = &io_comp_cqe;
drivers/infiniband/ulp/rtrs/rtrs-srv.c
315
err = ib_post_send(id->con->c.qp, &id->tx_wr.wr, NULL);
drivers/infiniband/ulp/rtrs/rtrs-srv.c
338
struct ib_send_wr inv_wr, *wr = NULL;
drivers/infiniband/ulp/rtrs/rtrs-srv.c
376
wr = &inv_wr;
drivers/infiniband/ulp/rtrs/rtrs-srv.c
377
inv_wr.next = &rwr.wr;
drivers/infiniband/ulp/rtrs/rtrs-srv.c
378
rwr.wr.next = &imm_wr.wr;
drivers/infiniband/ulp/rtrs/rtrs-srv.c
380
wr = &rwr.wr;
drivers/infiniband/ulp/rtrs/rtrs-srv.c
381
rwr.wr.next = &imm_wr.wr;
drivers/infiniband/ulp/rtrs/rtrs-srv.c
383
wr = &inv_wr;
drivers/infiniband/ulp/rtrs/rtrs-srv.c
384
inv_wr.next = &imm_wr.wr;
drivers/infiniband/ulp/rtrs/rtrs-srv.c
386
wr = &imm_wr.wr;
drivers/infiniband/ulp/rtrs/rtrs-srv.c
395
imm_wr.wr.next = NULL;
drivers/infiniband/ulp/rtrs/rtrs-srv.c
400
rwr.wr.next = &imm_wr.wr;
drivers/infiniband/ulp/rtrs/rtrs-srv.c
401
rwr.wr.opcode = IB_WR_REG_MR;
drivers/infiniband/ulp/rtrs/rtrs-srv.c
402
rwr.wr.wr_cqe = &local_reg_cqe;
drivers/infiniband/ulp/rtrs/rtrs-srv.c
403
rwr.wr.num_sge = 0;
drivers/infiniband/ulp/rtrs/rtrs-srv.c
404
rwr.wr.send_flags = 0;
drivers/infiniband/ulp/rtrs/rtrs-srv.c
417
imm_wr.wr.sg_list = &list;
drivers/infiniband/ulp/rtrs/rtrs-srv.c
418
imm_wr.wr.num_sge = 1;
drivers/infiniband/ulp/rtrs/rtrs-srv.c
419
imm_wr.wr.opcode = IB_WR_SEND_WITH_IMM;
drivers/infiniband/ulp/rtrs/rtrs-srv.c
424
imm_wr.wr.sg_list = NULL;
drivers/infiniband/ulp/rtrs/rtrs-srv.c
425
imm_wr.wr.num_sge = 0;
drivers/infiniband/ulp/rtrs/rtrs-srv.c
426
imm_wr.wr.opcode = IB_WR_RDMA_WRITE_WITH_IMM;
drivers/infiniband/ulp/rtrs/rtrs-srv.c
428
imm_wr.wr.send_flags = flags;
drivers/infiniband/ulp/rtrs/rtrs-srv.c
429
imm_wr.wr.wr_cqe = &io_comp_cqe;
drivers/infiniband/ulp/rtrs/rtrs-srv.c
431
imm_wr.wr.ex.imm_data = cpu_to_be32(imm);
drivers/infiniband/ulp/rtrs/rtrs-srv.c
433
err = ib_post_send(id->con->c.qp, wr, NULL);
drivers/infiniband/ulp/rtrs/rtrs-srv.c
865
rwr[mri].wr.next = mri ? &rwr[mri - 1].wr : NULL;
drivers/infiniband/ulp/rtrs/rtrs-srv.c
866
rwr[mri].wr.opcode = IB_WR_REG_MR;
drivers/infiniband/ulp/rtrs/rtrs-srv.c
867
rwr[mri].wr.wr_cqe = &local_reg_cqe;
drivers/infiniband/ulp/rtrs/rtrs-srv.c
868
rwr[mri].wr.num_sge = 0;
drivers/infiniband/ulp/rtrs/rtrs-srv.c
869
rwr[mri].wr.send_flags = 0;
drivers/infiniband/ulp/rtrs/rtrs-srv.c
874
reg_wr = &rwr[mri].wr;
drivers/infiniband/ulp/rtrs/rtrs.c
101
wr = (struct ib_recv_wr) {
drivers/infiniband/ulp/rtrs/rtrs.c
105
return ib_post_recv(con->qp, &wr, NULL);
drivers/infiniband/ulp/rtrs/rtrs.c
110
struct ib_send_wr *wr, struct ib_send_wr *tail)
drivers/infiniband/ulp/rtrs/rtrs.c
117
next->next = wr;
drivers/infiniband/ulp/rtrs/rtrs.c
119
head = wr;
drivers/infiniband/ulp/rtrs/rtrs.c
123
wr->next = tail;
drivers/infiniband/ulp/rtrs/rtrs.c
132
struct ib_send_wr wr;
drivers/infiniband/ulp/rtrs/rtrs.c
142
wr = (struct ib_send_wr) {
drivers/infiniband/ulp/rtrs/rtrs.c
150
return rtrs_post_send(con->qp, head, &wr, NULL);
drivers/infiniband/ulp/rtrs/rtrs.c
161
struct ib_rdma_wr wr;
drivers/infiniband/ulp/rtrs/rtrs.c
164
wr = (struct ib_rdma_wr) {
drivers/infiniband/ulp/rtrs/rtrs.c
165
.wr.wr_cqe = &iu->cqe,
drivers/infiniband/ulp/rtrs/rtrs.c
166
.wr.sg_list = sge,
drivers/infiniband/ulp/rtrs/rtrs.c
167
.wr.num_sge = num_sge,
drivers/infiniband/ulp/rtrs/rtrs.c
170
.wr.opcode = IB_WR_RDMA_WRITE_WITH_IMM,
drivers/infiniband/ulp/rtrs/rtrs.c
171
.wr.ex.imm_data = cpu_to_be32(imm_data),
drivers/infiniband/ulp/rtrs/rtrs.c
172
.wr.send_flags = flags,
drivers/infiniband/ulp/rtrs/rtrs.c
183
return rtrs_post_send(con->qp, head, &wr.wr, tail);
drivers/infiniband/ulp/rtrs/rtrs.c
192
struct ib_rdma_wr wr;
drivers/infiniband/ulp/rtrs/rtrs.c
200
wr = (struct ib_rdma_wr) {
drivers/infiniband/ulp/rtrs/rtrs.c
201
.wr.wr_cqe = cqe,
drivers/infiniband/ulp/rtrs/rtrs.c
202
.wr.send_flags = sflags,
drivers/infiniband/ulp/rtrs/rtrs.c
203
.wr.opcode = IB_WR_RDMA_WRITE_WITH_IMM,
drivers/infiniband/ulp/rtrs/rtrs.c
204
.wr.ex.imm_data = cpu_to_be32(imm_data),
drivers/infiniband/ulp/rtrs/rtrs.c
207
return rtrs_post_send(con->qp, head, &wr.wr, NULL);
drivers/infiniband/ulp/rtrs/rtrs.c
75
struct ib_recv_wr wr;
drivers/infiniband/ulp/rtrs/rtrs.c
87
wr = (struct ib_recv_wr) {
drivers/infiniband/ulp/rtrs/rtrs.c
93
return ib_post_recv(con->qp, &wr, NULL);
drivers/infiniband/ulp/rtrs/rtrs.c
99
struct ib_recv_wr wr;
drivers/infiniband/ulp/srp/ib_srp.c
1164
struct ib_send_wr wr = {
drivers/infiniband/ulp/srp/ib_srp.c
1172
wr.wr_cqe = &req->reg_cqe;
drivers/infiniband/ulp/srp/ib_srp.c
1174
return ib_post_send(ch->qp, &wr, NULL);
drivers/infiniband/ulp/srp/ib_srp.c
1428
struct ib_reg_wr wr;
drivers/infiniband/ulp/srp/ib_srp.c
1474
wr.wr.next = NULL;
drivers/infiniband/ulp/srp/ib_srp.c
1475
wr.wr.opcode = IB_WR_REG_MR;
drivers/infiniband/ulp/srp/ib_srp.c
1476
wr.wr.wr_cqe = &req->reg_cqe;
drivers/infiniband/ulp/srp/ib_srp.c
1477
wr.wr.num_sge = 0;
drivers/infiniband/ulp/srp/ib_srp.c
1478
wr.wr.send_flags = 0;
drivers/infiniband/ulp/srp/ib_srp.c
1479
wr.mr = desc->mr;
drivers/infiniband/ulp/srp/ib_srp.c
1480
wr.key = desc->mr->rkey;
drivers/infiniband/ulp/srp/ib_srp.c
1481
wr.access = (IB_ACCESS_LOCAL_WRITE |
drivers/infiniband/ulp/srp/ib_srp.c
1491
err = ib_post_send(ch->qp, &wr.wr, NULL);
drivers/infiniband/ulp/srp/ib_srp.c
1893
struct ib_send_wr wr;
drivers/infiniband/ulp/srp/ib_srp.c
1904
wr.next = NULL;
drivers/infiniband/ulp/srp/ib_srp.c
1905
wr.wr_cqe = &iu->cqe;
drivers/infiniband/ulp/srp/ib_srp.c
1906
wr.sg_list = &iu->sge[0];
drivers/infiniband/ulp/srp/ib_srp.c
1907
wr.num_sge = iu->num_sge;
drivers/infiniband/ulp/srp/ib_srp.c
1908
wr.opcode = IB_WR_SEND;
drivers/infiniband/ulp/srp/ib_srp.c
1909
wr.send_flags = IB_SEND_SIGNALED;
drivers/infiniband/ulp/srp/ib_srp.c
1911
return ib_post_send(ch->qp, &wr, NULL);
drivers/infiniband/ulp/srp/ib_srp.c
1917
struct ib_recv_wr wr;
drivers/infiniband/ulp/srp/ib_srp.c
1926
wr.next = NULL;
drivers/infiniband/ulp/srp/ib_srp.c
1927
wr.wr_cqe = &iu->cqe;
drivers/infiniband/ulp/srp/ib_srp.c
1928
wr.sg_list = &list;
drivers/infiniband/ulp/srp/ib_srp.c
1929
wr.num_sge = 1;
drivers/infiniband/ulp/srp/ib_srp.c
1931
return ib_post_recv(ch->qp, &wr, NULL);
drivers/infiniband/ulp/srpt/ib_srpt.c
892
struct ib_recv_wr wr;
drivers/infiniband/ulp/srpt/ib_srpt.c
900
wr.wr_cqe = &ioctx->ioctx.cqe;
drivers/infiniband/ulp/srpt/ib_srpt.c
901
wr.next = NULL;
drivers/infiniband/ulp/srpt/ib_srpt.c
902
wr.sg_list = &list;
drivers/infiniband/ulp/srpt/ib_srpt.c
903
wr.num_sge = 1;
drivers/infiniband/ulp/srpt/ib_srpt.c
906
return ib_post_srq_recv(sdev->srq, &wr, NULL);
drivers/infiniband/ulp/srpt/ib_srpt.c
908
return ib_post_recv(ch->qp, &wr, NULL);
drivers/infiniband/ulp/srpt/ib_srpt.c
922
struct ib_rdma_wr wr = {
drivers/infiniband/ulp/srpt/ib_srpt.c
923
.wr = {
drivers/infiniband/ulp/srpt/ib_srpt.c
934
return ib_post_send(ch->qp, &wr.wr, NULL);
drivers/irqchip/irq-gic-v3-its.c
1147
u64 wr = its_cmd_ptr_to_offset(its, its->cmd_write);
drivers/irqchip/irq-gic-v3-its.c
1149
writel_relaxed(wr, its->base + GITS_CWRITER);
drivers/md/dm-integrity.c
500
static int sb_mac(struct dm_integrity_c *ic, bool wr)
drivers/md/dm-integrity.c
516
if (likely(wr)) {
drivers/md/dm-integrity.c
857
static void rw_section_mac(struct dm_integrity_c *ic, unsigned int section, bool wr)
drivers/md/dm-integrity.c
870
if (likely(wr))
drivers/media/common/videobuf2/videobuf2-dma-contig.c
323
struct scatterlist *rd, *wr;
drivers/media/common/videobuf2/videobuf2-dma-contig.c
343
wr = sgt->sgl;
drivers/media/common/videobuf2/videobuf2-dma-contig.c
345
sg_set_page(wr, sg_page(rd), rd->length, rd->offset);
drivers/media/common/videobuf2/videobuf2-dma-contig.c
347
wr = sg_next(wr);
drivers/media/common/videobuf2/videobuf2-dma-sg.c
373
struct scatterlist *rd, *wr;
drivers/media/common/videobuf2/videobuf2-dma-sg.c
393
wr = sgt->sgl;
drivers/media/common/videobuf2/videobuf2-dma-sg.c
395
sg_set_page(wr, sg_page(rd), rd->length, rd->offset);
drivers/media/common/videobuf2/videobuf2-dma-sg.c
397
wr = sg_next(wr);
drivers/media/dvb-frontends/dib3000mb.c
148
wr(DIB3000MB_REG_LOCK1_MASK, DIB3000MB_LOCK1_SEARCH_4);
drivers/media/dvb-frontends/dib3000mb.c
153
wr(DIB3000MB_REG_FFT, DIB3000_TRANSMISSION_MODE_2K);
drivers/media/dvb-frontends/dib3000mb.c
157
wr(DIB3000MB_REG_FFT, DIB3000_TRANSMISSION_MODE_8K);
drivers/media/dvb-frontends/dib3000mb.c
169
wr(DIB3000MB_REG_GUARD_TIME, DIB3000_GUARD_TIME_1_32);
drivers/media/dvb-frontends/dib3000mb.c
173
wr(DIB3000MB_REG_GUARD_TIME, DIB3000_GUARD_TIME_1_16);
drivers/media/dvb-frontends/dib3000mb.c
177
wr(DIB3000MB_REG_GUARD_TIME, DIB3000_GUARD_TIME_1_8);
drivers/media/dvb-frontends/dib3000mb.c
181
wr(DIB3000MB_REG_GUARD_TIME, DIB3000_GUARD_TIME_1_4);
drivers/media/dvb-frontends/dib3000mb.c
193
wr(DIB3000MB_REG_DDS_INV, DIB3000_DDS_INVERSION_OFF);
drivers/media/dvb-frontends/dib3000mb.c
200
wr(DIB3000MB_REG_DDS_INV, DIB3000_DDS_INVERSION_ON);
drivers/media/dvb-frontends/dib3000mb.c
209
wr(DIB3000MB_REG_QAM, DIB3000_CONSTELLATION_QPSK);
drivers/media/dvb-frontends/dib3000mb.c
213
wr(DIB3000MB_REG_QAM, DIB3000_CONSTELLATION_16QAM);
drivers/media/dvb-frontends/dib3000mb.c
217
wr(DIB3000MB_REG_QAM, DIB3000_CONSTELLATION_64QAM);
drivers/media/dvb-frontends/dib3000mb.c
230
wr(DIB3000MB_REG_VIT_ALPHA, DIB3000_ALPHA_1);
drivers/media/dvb-frontends/dib3000mb.c
234
wr(DIB3000MB_REG_VIT_ALPHA, DIB3000_ALPHA_2);
drivers/media/dvb-frontends/dib3000mb.c
238
wr(DIB3000MB_REG_VIT_ALPHA, DIB3000_ALPHA_4);
drivers/media/dvb-frontends/dib3000mb.c
248
wr(DIB3000MB_REG_VIT_HRCH, DIB3000_HRCH_OFF);
drivers/media/dvb-frontends/dib3000mb.c
249
wr(DIB3000MB_REG_VIT_HP, DIB3000_SELECT_HP);
drivers/media/dvb-frontends/dib3000mb.c
252
wr(DIB3000MB_REG_VIT_HRCH, DIB3000_HRCH_ON);
drivers/media/dvb-frontends/dib3000mb.c
253
wr(DIB3000MB_REG_VIT_HP, DIB3000_SELECT_LP);
drivers/media/dvb-frontends/dib3000mb.c
259
wr(DIB3000MB_REG_VIT_CODE_RATE, DIB3000_FEC_1_2);
drivers/media/dvb-frontends/dib3000mb.c
263
wr(DIB3000MB_REG_VIT_CODE_RATE, DIB3000_FEC_2_3);
drivers/media/dvb-frontends/dib3000mb.c
267
wr(DIB3000MB_REG_VIT_CODE_RATE, DIB3000_FEC_3_4);
drivers/media/dvb-frontends/dib3000mb.c
271
wr(DIB3000MB_REG_VIT_CODE_RATE, DIB3000_FEC_5_6);
drivers/media/dvb-frontends/dib3000mb.c
275
wr(DIB3000MB_REG_VIT_CODE_RATE, DIB3000_FEC_7_8);
drivers/media/dvb-frontends/dib3000mb.c
294
wr(DIB3000MB_REG_SEQ, seq);
drivers/media/dvb-frontends/dib3000mb.c
296
wr(DIB3000MB_REG_ISI, seq ? DIB3000MB_ISI_INHIBIT : DIB3000MB_ISI_ACTIVATE);
drivers/media/dvb-frontends/dib3000mb.c
300
wr(DIB3000MB_REG_SYNC_IMPROVEMENT, DIB3000MB_SYNC_IMPROVE_2K_1_8);
drivers/media/dvb-frontends/dib3000mb.c
302
wr(DIB3000MB_REG_SYNC_IMPROVEMENT, DIB3000MB_SYNC_IMPROVE_DEFAULT);
drivers/media/dvb-frontends/dib3000mb.c
305
wr(DIB3000MB_REG_UNK_121, DIB3000MB_UNK_121_2K);
drivers/media/dvb-frontends/dib3000mb.c
307
wr(DIB3000MB_REG_UNK_121, DIB3000MB_UNK_121_DEFAULT);
drivers/media/dvb-frontends/dib3000mb.c
310
wr(DIB3000MB_REG_MOBILE_ALGO, DIB3000MB_MOBILE_ALGO_OFF);
drivers/media/dvb-frontends/dib3000mb.c
311
wr(DIB3000MB_REG_MOBILE_MODE_QAM, DIB3000MB_MOBILE_MODE_QAM_OFF);
drivers/media/dvb-frontends/dib3000mb.c
312
wr(DIB3000MB_REG_MOBILE_MODE, DIB3000MB_MOBILE_MODE_OFF);
drivers/media/dvb-frontends/dib3000mb.c
316
wr(DIB3000MB_REG_ISI, DIB3000MB_ISI_ACTIVATE);
drivers/media/dvb-frontends/dib3000mb.c
318
wr(DIB3000MB_REG_RESTART, DIB3000MB_RESTART_AGC + DIB3000MB_RESTART_CTRL);
drivers/media/dvb-frontends/dib3000mb.c
319
wr(DIB3000MB_REG_RESTART, DIB3000MB_RESTART_OFF);
drivers/media/dvb-frontends/dib3000mb.c
335
wr(DIB3000MB_REG_ISI, DIB3000MB_ISI_INHIBIT);
drivers/media/dvb-frontends/dib3000mb.c
337
wr(DIB3000MB_REG_RESTART, DIB3000MB_RESTART_AUTO_SEARCH);
drivers/media/dvb-frontends/dib3000mb.c
338
wr(DIB3000MB_REG_RESTART, DIB3000MB_RESTART_OFF);
drivers/media/dvb-frontends/dib3000mb.c
357
wr(DIB3000MB_REG_RESTART, DIB3000MB_RESTART_CTRL);
drivers/media/dvb-frontends/dib3000mb.c
358
wr(DIB3000MB_REG_RESTART, DIB3000MB_RESTART_OFF);
drivers/media/dvb-frontends/dib3000mb.c
369
wr(DIB3000MB_REG_POWER_CONTROL, DIB3000MB_POWER_UP);
drivers/media/dvb-frontends/dib3000mb.c
371
wr(DIB3000MB_REG_RESTART, DIB3000MB_RESTART_AGC);
drivers/media/dvb-frontends/dib3000mb.c
373
wr(DIB3000MB_REG_RESET_DEVICE, DIB3000MB_RESET_DEVICE);
drivers/media/dvb-frontends/dib3000mb.c
374
wr(DIB3000MB_REG_RESET_DEVICE, DIB3000MB_RESET_DEVICE_RST);
drivers/media/dvb-frontends/dib3000mb.c
376
wr(DIB3000MB_REG_CLOCK, DIB3000MB_CLOCK_DEFAULT);
drivers/media/dvb-frontends/dib3000mb.c
378
wr(DIB3000MB_REG_ELECT_OUT_MODE, DIB3000MB_ELECT_OUT_MODE_ON);
drivers/media/dvb-frontends/dib3000mb.c
380
wr(DIB3000MB_REG_DDS_FREQ_MSB, DIB3000MB_DDS_FREQ_MSB);
drivers/media/dvb-frontends/dib3000mb.c
381
wr(DIB3000MB_REG_DDS_FREQ_LSB, DIB3000MB_DDS_FREQ_LSB);
drivers/media/dvb-frontends/dib3000mb.c
390
wr(DIB3000MB_REG_PHASE_NOISE, DIB3000MB_PHASE_NOISE_DEFAULT);
drivers/media/dvb-frontends/dib3000mb.c
398
wr(DIB3000MB_REG_LOCK0_MASK, DIB3000MB_LOCK0_DEFAULT);
drivers/media/dvb-frontends/dib3000mb.c
399
wr(DIB3000MB_REG_LOCK1_MASK, DIB3000MB_LOCK1_SEARCH_4);
drivers/media/dvb-frontends/dib3000mb.c
400
wr(DIB3000MB_REG_LOCK2_MASK, DIB3000MB_LOCK2_DEFAULT);
drivers/media/dvb-frontends/dib3000mb.c
401
wr(DIB3000MB_REG_SEQ, dib3000_seq[1][1][1]);
drivers/media/dvb-frontends/dib3000mb.c
405
wr(DIB3000MB_REG_UNK_68, DIB3000MB_UNK_68);
drivers/media/dvb-frontends/dib3000mb.c
406
wr(DIB3000MB_REG_UNK_69, DIB3000MB_UNK_69);
drivers/media/dvb-frontends/dib3000mb.c
407
wr(DIB3000MB_REG_UNK_71, DIB3000MB_UNK_71);
drivers/media/dvb-frontends/dib3000mb.c
408
wr(DIB3000MB_REG_UNK_77, DIB3000MB_UNK_77);
drivers/media/dvb-frontends/dib3000mb.c
409
wr(DIB3000MB_REG_UNK_78, DIB3000MB_UNK_78);
drivers/media/dvb-frontends/dib3000mb.c
410
wr(DIB3000MB_REG_ISI, DIB3000MB_ISI_INHIBIT);
drivers/media/dvb-frontends/dib3000mb.c
411
wr(DIB3000MB_REG_UNK_92, DIB3000MB_UNK_92);
drivers/media/dvb-frontends/dib3000mb.c
412
wr(DIB3000MB_REG_UNK_96, DIB3000MB_UNK_96);
drivers/media/dvb-frontends/dib3000mb.c
413
wr(DIB3000MB_REG_UNK_97, DIB3000MB_UNK_97);
drivers/media/dvb-frontends/dib3000mb.c
414
wr(DIB3000MB_REG_UNK_106, DIB3000MB_UNK_106);
drivers/media/dvb-frontends/dib3000mb.c
415
wr(DIB3000MB_REG_UNK_107, DIB3000MB_UNK_107);
drivers/media/dvb-frontends/dib3000mb.c
416
wr(DIB3000MB_REG_UNK_108, DIB3000MB_UNK_108);
drivers/media/dvb-frontends/dib3000mb.c
417
wr(DIB3000MB_REG_UNK_122, DIB3000MB_UNK_122);
drivers/media/dvb-frontends/dib3000mb.c
418
wr(DIB3000MB_REG_MOBILE_MODE_QAM, DIB3000MB_MOBILE_MODE_QAM_OFF);
drivers/media/dvb-frontends/dib3000mb.c
419
wr(DIB3000MB_REG_BERLEN, DIB3000MB_BERLEN_DEFAULT);
drivers/media/dvb-frontends/dib3000mb.c
423
wr(DIB3000MB_REG_MOBILE_ALGO, DIB3000MB_MOBILE_ALGO_ON);
drivers/media/dvb-frontends/dib3000mb.c
424
wr(DIB3000MB_REG_MULTI_DEMOD_MSB, DIB3000MB_MULTI_DEMOD_MSB);
drivers/media/dvb-frontends/dib3000mb.c
425
wr(DIB3000MB_REG_MULTI_DEMOD_LSB, DIB3000MB_MULTI_DEMOD_LSB);
drivers/media/dvb-frontends/dib3000mb.c
427
wr(DIB3000MB_REG_OUTPUT_MODE, DIB3000MB_OUTPUT_MODE_SLAVE);
drivers/media/dvb-frontends/dib3000mb.c
429
wr(DIB3000MB_REG_FIFO_142, DIB3000MB_FIFO_142);
drivers/media/dvb-frontends/dib3000mb.c
430
wr(DIB3000MB_REG_MPEG2_OUT_MODE, DIB3000MB_MPEG2_OUT_MODE_188);
drivers/media/dvb-frontends/dib3000mb.c
431
wr(DIB3000MB_REG_PID_PARSE, DIB3000MB_PID_PARSE_ACTIVATE);
drivers/media/dvb-frontends/dib3000mb.c
432
wr(DIB3000MB_REG_FIFO, DIB3000MB_FIFO_INHIBIT);
drivers/media/dvb-frontends/dib3000mb.c
433
wr(DIB3000MB_REG_FIFO_146, DIB3000MB_FIFO_146);
drivers/media/dvb-frontends/dib3000mb.c
434
wr(DIB3000MB_REG_FIFO_147, DIB3000MB_FIFO_147);
drivers/media/dvb-frontends/dib3000mb.c
436
wr(DIB3000MB_REG_DATA_IN_DIVERSITY, DIB3000MB_DATA_DIVERSITY_IN_OFF);
drivers/media/dvb-frontends/dib3000mb.c
674
wr(DIB3000MB_REG_POWER_CONTROL, DIB3000MB_POWER_DOWN);
drivers/media/dvb-frontends/dib3000mb.c
705
wr(index+DIB3000MB_REG_FIRST_PID,pid);
drivers/media/dvb-frontends/dib3000mb.c
715
wr(DIB3000MB_REG_FIFO, DIB3000MB_FIFO_ACTIVATE);
drivers/media/dvb-frontends/dib3000mb.c
717
wr(DIB3000MB_REG_FIFO, DIB3000MB_FIFO_INHIBIT);
drivers/media/dvb-frontends/dib3000mb.c
726
wr(DIB3000MB_REG_PID_PARSE,onoff);
drivers/media/dvb-frontends/dib3000mb.c
734
wr(DIB3000MB_REG_TUNER, DIB3000_TUNER_WRITE_ENABLE(pll_addr));
drivers/media/dvb-frontends/dib3000mb.c
736
wr(DIB3000MB_REG_TUNER, DIB3000_TUNER_WRITE_DISABLE(pll_addr));
drivers/media/dvb-frontends/dib3000mb_priv.h
23
wr(a[i],v[i]); \
drivers/media/dvb-frontends/dib3000mb_priv.h
26
#define set_or(reg,val) wr(reg,rd(reg) | val)
drivers/media/dvb-frontends/dib3000mb_priv.h
28
#define set_and(reg,val) wr(reg,rd(reg) & val)
drivers/media/dvb-frontends/lgdt330x.c
100
.buf = wr,
drivers/media/dvb-frontends/lgdt330x.c
95
u8 wr[] = { reg };
drivers/media/pci/intel/ipu6/ipu6-fw-com.c
341
unsigned int wr, rd;
drivers/media/pci/intel/ipu6/ipu6-fw-com.c
345
wr = readl(q_dmem + FW_COM_WR_REG);
drivers/media/pci/intel/ipu6/ipu6-fw-com.c
348
if (WARN_ON_ONCE(wr >= q->size || rd >= q->size))
drivers/media/pci/intel/ipu6/ipu6-fw-com.c
351
if (wr < rd)
drivers/media/pci/intel/ipu6/ipu6-fw-com.c
352
packets = rd - wr - 1;
drivers/media/pci/intel/ipu6/ipu6-fw-com.c
354
packets = q->size - (wr - rd + 1);
drivers/media/pci/intel/ipu6/ipu6-fw-com.c
369
unsigned int wr = readl(q_dmem + FW_COM_WR_REG) + 1;
drivers/media/pci/intel/ipu6/ipu6-fw-com.c
371
if (wr >= q->size)
drivers/media/pci/intel/ipu6/ipu6-fw-com.c
372
wr = 0;
drivers/media/pci/intel/ipu6/ipu6-fw-com.c
374
writel(wr, q_dmem + FW_COM_WR_REG);
drivers/media/pci/intel/ipu6/ipu6-fw-com.c
382
unsigned int wr, rd;
drivers/media/pci/intel/ipu6/ipu6-fw-com.c
385
wr = readl(q_dmem + FW_COM_WR_REG);
drivers/media/pci/intel/ipu6/ipu6-fw-com.c
388
if (WARN_ON_ONCE(wr >= q->size || rd >= q->size))
drivers/media/pci/intel/ipu6/ipu6-fw-com.c
391
if (wr < rd)
drivers/media/pci/intel/ipu6/ipu6-fw-com.c
392
wr += q->size;
drivers/media/pci/intel/ipu6/ipu6-fw-com.c
394
packets = wr - rd;
drivers/media/pci/solo6x10/solo6x10-i2c.c
61
static void solo_i2c_flush(struct solo_dev *solo_dev, int wr)
drivers/media/pci/solo6x10/solo6x10-i2c.c
70
if (wr) {
drivers/media/pci/solo6x10/solo6x10-p2m.c
124
void solo_p2m_fill_desc(struct solo_p2m_desc *desc, int wr,
drivers/media/pci/solo6x10/solo6x10-p2m.c
133
(wr ? SOLO_P2M_WRITE : 0) | SOLO_P2M_TRANS_ON;
drivers/media/pci/solo6x10/solo6x10-p2m.c
145
int solo_p2m_dma_t(struct solo_dev *solo_dev, int wr,
drivers/media/pci/solo6x10/solo6x10-p2m.c
151
solo_p2m_fill_desc(&desc[1], wr, dma_addr, ext_addr, size, repeat,
drivers/media/pci/solo6x10/solo6x10-p2m.c
28
int solo_p2m_dma(struct solo_dev *solo_dev, int wr,
drivers/media/pci/solo6x10/solo6x10-p2m.c
41
wr ? DMA_TO_DEVICE : DMA_FROM_DEVICE);
drivers/media/pci/solo6x10/solo6x10-p2m.c
45
ret = solo_p2m_dma_t(solo_dev, wr, dma_addr, ext_addr, size,
drivers/media/pci/solo6x10/solo6x10-p2m.c
49
wr ? DMA_TO_DEVICE : DMA_FROM_DEVICE);
drivers/media/pci/solo6x10/solo6x10.h
341
int solo_p2m_dma_t(struct solo_dev *solo_dev, int wr,
drivers/media/pci/solo6x10/solo6x10.h
344
int solo_p2m_dma(struct solo_dev *solo_dev, int wr,
drivers/media/pci/solo6x10/solo6x10.h
347
void solo_p2m_fill_desc(struct solo_p2m_desc *desc, int wr,
drivers/media/platform/qcom/iris/iris_hfi_gen1_command.c
567
struct hfi_video_work_route *wr = prop_data;
drivers/media/platform/qcom/iris/iris_hfi_gen1_command.c
570
wr->video_work_route = *in;
drivers/media/platform/qcom/iris/iris_hfi_gen1_command.c
571
packet->shdr.hdr.size += sizeof(u32) + sizeof(*wr);
drivers/media/platform/qcom/venus/hfi_cmds.c
1338
struct hfi_video_work_route *in = pdata, *wr = prop_data;
drivers/media/platform/qcom/venus/hfi_cmds.c
1340
wr->video_work_route = in->video_work_route;
drivers/media/platform/qcom/venus/hfi_cmds.c
1341
pkt->shdr.hdr.size += sizeof(u32) + sizeof(*wr);
drivers/media/platform/qcom/venus/vdec.c
734
struct hfi_video_work_route wr;
drivers/media/platform/qcom/venus/vdec.c
739
wr.video_work_route = inst->core->res->num_vpp_pipes;
drivers/media/platform/qcom/venus/vdec.c
741
return hfi_session_set_property(inst, ptype, &wr);
drivers/media/radio/radio-tea5764.c
162
struct tea5764_write_regs wr;
drivers/media/radio/radio-tea5764.c
167
.len = sizeof(wr),
drivers/media/radio/radio-tea5764.c
168
.buf = (void *)&wr
drivers/media/radio/radio-tea5764.c
171
wr.intreg = r->intreg & 0xff;
drivers/media/radio/radio-tea5764.c
172
wr.frqset = __cpu_to_be16(r->frqset);
drivers/media/radio/radio-tea5764.c
173
wr.tnctrl = __cpu_to_be16(r->tnctrl);
drivers/media/radio/radio-tea5764.c
174
wr.testreg = __cpu_to_be16(r->testreg);
drivers/media/radio/radio-tea5764.c
175
wr.rdsctrl = __cpu_to_be16(r->rdsctrl);
drivers/media/radio/radio-tea5764.c
176
wr.rdsbbl = __cpu_to_be16(r->rdsbbl);
drivers/misc/bcm-vk/bcm_vk.h
271
u32 wr; /* write offset shadow */
drivers/misc/bcm-vk/bcm_vk_tty.c
106
while (vk->tty[i].rd != wr) {
drivers/misc/bcm-vk/bcm_vk_tty.c
158
vktty->wr = vkread32(vk, BAR_1, VK_BAR_CHAN_WR(vktty, to));
drivers/misc/bcm-vk/bcm_vk_tty.c
204
VK_BAR_CHAN_DATA(vktty, to, vktty->wr));
drivers/misc/bcm-vk/bcm_vk_tty.c
205
vktty->wr++;
drivers/misc/bcm-vk/bcm_vk_tty.c
206
if (vktty->wr >= vktty->to_size)
drivers/misc/bcm-vk/bcm_vk_tty.c
207
vktty->wr = 0;
drivers/misc/bcm-vk/bcm_vk_tty.c
210
vkwrite32(vk, vktty->wr, BAR_1, VK_BAR_CHAN_WR(vktty, to));
drivers/misc/bcm-vk/bcm_vk_tty.c
27
u32 wr;
drivers/misc/bcm-vk/bcm_vk_tty.c
35
#define VK_BAR_CHAN_WR(v, DIR) VK_BAR_CHAN(v, DIR, wr)
drivers/misc/bcm-vk/bcm_vk_tty.c
68
int wr;
drivers/misc/bcm-vk/bcm_vk_tty.c
88
wr = vkread32(vk, BAR_1, VK_BAR_CHAN_WR(vktty, from));
drivers/misc/bcm-vk/bcm_vk_tty.c
94
if (wr >= vktty->from_size) {
drivers/misc/bcm-vk/bcm_vk_tty.c
97
i, wr, vktty->from_size);
drivers/mtd/nand/raw/mpc5121_nfc.c
394
u8 *buffer, uint size, int wr)
drivers/mtd/nand/raw/mpc5121_nfc.c
431
if (wr)
drivers/mtd/nand/raw/mpc5121_nfc.c
446
int wr)
drivers/mtd/nand/raw/mpc5121_nfc.c
460
mpc5121_nfc_copy_spare(mtd, c, buf, len, wr);
drivers/mtd/nand/raw/mpc5121_nfc.c
471
if (wr)
drivers/mtd/nand/raw/mpc5121_nfc.c
480
mpc5121_nfc_buf_copy(mtd, buf, len, wr);
drivers/net/can/grcan.c
1163
u32 wr, rd, startrd;
drivers/net/can/grcan.c
1172
wr = grcan_read_reg(®s->rxwr);
drivers/net/can/grcan.c
1173
if (rd == wr)
drivers/net/ethernet/apm/xgene/xgene_enet_hw.c
257
void __iomem *addr, *wr, *cmd, *cmd_done;
drivers/net/ethernet/apm/xgene/xgene_enet_hw.c
270
wr = pdata->mcx_mac_addr + MAC_WRITE_REG_OFFSET;
drivers/net/ethernet/apm/xgene/xgene_enet_hw.c
276
iowrite32(wr_data, wr);
drivers/net/ethernet/apm/xgene/xgene_enet_xgmac.c
45
static bool xgene_enet_wr_indirect(void __iomem *addr, void __iomem *wr,
drivers/net/ethernet/apm/xgene/xgene_enet_xgmac.c
53
iowrite32(wr_data, wr);
drivers/net/ethernet/apm/xgene/xgene_enet_xgmac.c
71
void __iomem *addr, *wr, *cmd, *cmd_done;
drivers/net/ethernet/apm/xgene/xgene_enet_xgmac.c
74
wr = pdata->pcs_addr + PCS_WRITE_REG_OFFSET;
drivers/net/ethernet/apm/xgene/xgene_enet_xgmac.c
78
if (!xgene_enet_wr_indirect(addr, wr, cmd, cmd_done, wr_addr, wr_data))
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
473
req->wr.wr_hi = htonl(V_WR_OP(FW_WROPCODE_FORWARD));
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
496
req->wr.wr_hi = htonl(V_WR_OP(FW_WROPCODE_FORWARD));
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
518
req->wr.wr_hi = htonl(V_WR_OP(FW_WROPCODE_FORWARD));
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
537
greq->wr.wr_hi = htonl(V_WR_OP(FW_WROPCODE_FORWARD));
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
910
req->wr.wr_hi = htonl(V_WR_OP(FW_WROPCODE_FORWARD));
drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
1061
req->wr.wr_hi = htonl(V_WR_OP(FW_WROPCODE_FORWARD));
drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
539
req->wr.wr_hi = htonl(V_WR_OP(FW_WROPCODE_FORWARD));
drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
839
rpl->wr.wr_hi =
drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
841
rpl->wr.wr_lo = htonl(V_WR_TID(tid));
drivers/net/ethernet/chelsio/cxgb3/l2t.c
100
req->wr.wr_hi = htonl(V_WR_OP(FW_WROPCODE_FORWARD));
drivers/net/ethernet/chelsio/cxgb3/sge.c
1223
cpl->wr.wr_hi = htonl(V_WR_BCNTLFLT(skb->len & 7) |
drivers/net/ethernet/chelsio/cxgb3/sge.c
1227
cpl->wr.wr_lo = htonl(V_WR_LEN(flits) | V_WR_GEN(gen) |
drivers/net/ethernet/chelsio/cxgb3/t3_cpl.h
300
# define WR_HDR struct work_request_hdr wr
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1959
void t4_mk_filtdelwr(unsigned int ftid, struct fw_filter_wr *wr, int qid);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
340
u32 obq_wr_t4[2 * CIM_NUM_OBQ], *wr;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
353
wr = obq_wr_t4;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
357
wr = obq_wr_t5;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
373
for ( ; i < CIM_NUM_IBQ + cim_num_obq; i++, p += 4, wr += 2)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
376
QUERDADDR_G(p[0]) & 0x3fff, wr[0] - base[i],
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1744
struct work_request_hdr *wr;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1772
wrlen = roundup(sizeof(*wr) + (sizeof(*req) + sizeof(*aligner))
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1782
wr = (struct work_request_hdr *)req;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1783
wr++;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
1784
req = (struct cpl_set_tcb_field *)wr;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_uld.h
63
(w)->wr.wr_hi = htonl(FW_WR_OP_V(FW_TP_WR) | \
drivers/net/ethernet/chelsio/cxgb4/cxgb4_uld.h
64
FW_WR_IMMDLEN_V(sizeof(*w) - sizeof(w->wr))); \
drivers/net/ethernet/chelsio/cxgb4/cxgb4_uld.h
65
(w)->wr.wr_mid = htonl(FW_WR_LEN16_V(DIV_ROUND_UP(sizeof(*w), 16)) | \
drivers/net/ethernet/chelsio/cxgb4/cxgb4_uld.h
67
(w)->wr.wr_lo = cpu_to_be64(0); \
drivers/net/ethernet/chelsio/cxgb4/cxgb4_uld.h
76
(w)->wr.wr_hi = htonl(FW_WR_OP_V(FW_ULPTX_WR) | \
drivers/net/ethernet/chelsio/cxgb4/cxgb4_uld.h
78
(w)->wr.wr_mid = htonl(FW_WR_LEN16_V(DIV_ROUND_UP(wrlen, 16)) | \
drivers/net/ethernet/chelsio/cxgb4/cxgb4_uld.h
80
(w)->wr.wr_lo = cpu_to_be64(0); \
drivers/net/ethernet/chelsio/cxgb4/sge.c
1055
u64 *wr = (u64 *)&q->desc[index];
drivers/net/ethernet/chelsio/cxgb4/sge.c
1059
wr);
drivers/net/ethernet/chelsio/cxgb4/sge.c
1461
static void *write_eo_udp_wr(struct sk_buff *skb, struct fw_eth_tx_eo_wr *wr,
drivers/net/ethernet/chelsio/cxgb4/sge.c
1464
wr->u.udpseg.type = FW_ETH_TX_EO_TYPE_UDPSEG;
drivers/net/ethernet/chelsio/cxgb4/sge.c
1465
wr->u.udpseg.ethlen = skb_network_offset(skb);
drivers/net/ethernet/chelsio/cxgb4/sge.c
1466
wr->u.udpseg.iplen = cpu_to_be16(skb_network_header_len(skb));
drivers/net/ethernet/chelsio/cxgb4/sge.c
1467
wr->u.udpseg.udplen = sizeof(struct udphdr);
drivers/net/ethernet/chelsio/cxgb4/sge.c
1468
wr->u.udpseg.rtplen = 0;
drivers/net/ethernet/chelsio/cxgb4/sge.c
1469
wr->u.udpseg.r4 = 0;
drivers/net/ethernet/chelsio/cxgb4/sge.c
1471
wr->u.udpseg.mss = cpu_to_be16(skb_shinfo(skb)->gso_size);
drivers/net/ethernet/chelsio/cxgb4/sge.c
1473
wr->u.udpseg.mss = cpu_to_be16(skb->len - hdr_len);
drivers/net/ethernet/chelsio/cxgb4/sge.c
1474
wr->u.udpseg.schedpktsize = wr->u.udpseg.mss;
drivers/net/ethernet/chelsio/cxgb4/sge.c
1475
wr->u.udpseg.plen = cpu_to_be32(skb->len - hdr_len);
drivers/net/ethernet/chelsio/cxgb4/sge.c
1477
return (void *)(wr + 1);
drivers/net/ethernet/chelsio/cxgb4/sge.c
1497
struct fw_eth_tx_pkt_wr *wr;
drivers/net/ethernet/chelsio/cxgb4/sge.c
1592
wr = (void *)&q->q.desc[q->q.pidx];
drivers/net/ethernet/chelsio/cxgb4/sge.c
1594
wr->equiq_to_len16 = htonl(wr_mid);
drivers/net/ethernet/chelsio/cxgb4/sge.c
1595
wr->r3 = cpu_to_be64(0);
drivers/net/ethernet/chelsio/cxgb4/sge.c
1599
end = (u64 *)wr + flits;
drivers/net/ethernet/chelsio/cxgb4/sge.c
1604
struct cpl_tx_pkt_lso_core *lso = (void *)(wr + 1);
drivers/net/ethernet/chelsio/cxgb4/sge.c
1605
struct cpl_tx_tnl_lso *tnl_lso = (void *)(wr + 1);
drivers/net/ethernet/chelsio/cxgb4/sge.c
1612
wr->op_immdlen = htonl(FW_WR_OP_V(FW_ETH_TX_PKT_WR) |
drivers/net/ethernet/chelsio/cxgb4/sge.c
1642
wr->op_immdlen = cpu_to_be32(FW_WR_OP_V(FW_ETH_TX_EO_WR) |
drivers/net/ethernet/chelsio/cxgb4/sge.c
1662
wr->op_immdlen = htonl(FW_WR_OP_V(op) |
drivers/net/ethernet/chelsio/cxgb4/sge.c
1664
cpl = (void *)(wr + 1);
drivers/net/ethernet/chelsio/cxgb4/sge.c
1815
struct fw_eth_tx_pkt_vm_wr *wr;
drivers/net/ethernet/chelsio/cxgb4/sge.c
1832
BUILD_BUG_ON(sizeof(wr->firmware) !=
drivers/net/ethernet/chelsio/cxgb4/sge.c
1833
(sizeof(wr->ethmacdst) + sizeof(wr->ethmacsrc) +
drivers/net/ethernet/chelsio/cxgb4/sge.c
1834
sizeof(wr->ethtype) + sizeof(wr->vlantci)));
drivers/net/ethernet/chelsio/cxgb4/sge.c
1835
fw_hdr_copy_len = sizeof(wr->firmware);
drivers/net/ethernet/chelsio/cxgb4/sge.c
1912
wr = (void *)&txq->q.desc[txq->q.pidx];
drivers/net/ethernet/chelsio/cxgb4/sge.c
1913
wr->equiq_to_len16 = cpu_to_be32(wr_mid);
drivers/net/ethernet/chelsio/cxgb4/sge.c
1914
wr->r3[0] = cpu_to_be32(0);
drivers/net/ethernet/chelsio/cxgb4/sge.c
1915
wr->r3[1] = cpu_to_be32(0);
drivers/net/ethernet/chelsio/cxgb4/sge.c
1916
skb_copy_from_linear_data(skb, &wr->firmware, fw_hdr_copy_len);
drivers/net/ethernet/chelsio/cxgb4/sge.c
1917
end = (u64 *)wr + flits;
drivers/net/ethernet/chelsio/cxgb4/sge.c
1925
struct cpl_tx_pkt_lso_core *lso = (void *)(wr + 1);
drivers/net/ethernet/chelsio/cxgb4/sge.c
1930
wr->op_immdlen =
drivers/net/ethernet/chelsio/cxgb4/sge.c
1972
wr->op_immdlen =
drivers/net/ethernet/chelsio/cxgb4/sge.c
1979
cpl = (void *)(wr + 1);
drivers/net/ethernet/chelsio/cxgb4/sge.c
2188
struct sk_buff *skb, struct fw_eth_tx_eo_wr *wr,
drivers/net/ethernet/chelsio/cxgb4/sge.c
2215
wr->op_immdlen = cpu_to_be32(FW_WR_OP_V(FW_ETH_TX_EO_WR) |
drivers/net/ethernet/chelsio/cxgb4/sge.c
2218
wr->equiq_to_len16 = cpu_to_be32(FW_WR_LEN16_V(wrlen16) |
drivers/net/ethernet/chelsio/cxgb4/sge.c
2220
wr->r3 = 0;
drivers/net/ethernet/chelsio/cxgb4/sge.c
2222
cpl = write_eo_udp_wr(skb, wr, hdr_len);
drivers/net/ethernet/chelsio/cxgb4/sge.c
2224
wr->u.tcpseg.type = FW_ETH_TX_EO_TYPE_TCPSEG;
drivers/net/ethernet/chelsio/cxgb4/sge.c
2225
wr->u.tcpseg.ethlen = skb_network_offset(skb);
drivers/net/ethernet/chelsio/cxgb4/sge.c
2226
wr->u.tcpseg.iplen = cpu_to_be16(skb_network_header_len(skb));
drivers/net/ethernet/chelsio/cxgb4/sge.c
2227
wr->u.tcpseg.tcplen = tcp_hdrlen(skb);
drivers/net/ethernet/chelsio/cxgb4/sge.c
2228
wr->u.tcpseg.tsclk_tsoff = 0;
drivers/net/ethernet/chelsio/cxgb4/sge.c
2229
wr->u.tcpseg.r4 = 0;
drivers/net/ethernet/chelsio/cxgb4/sge.c
2230
wr->u.tcpseg.r5 = 0;
drivers/net/ethernet/chelsio/cxgb4/sge.c
2231
wr->u.tcpseg.plen = cpu_to_be32(skb->len - hdr_len);
drivers/net/ethernet/chelsio/cxgb4/sge.c
2234
struct cpl_tx_pkt_lso_core *lso = (void *)(wr + 1);
drivers/net/ethernet/chelsio/cxgb4/sge.c
2236
wr->u.tcpseg.mss = cpu_to_be16(ssi->gso_size);
drivers/net/ethernet/chelsio/cxgb4/sge.c
2239
wr->u.tcpseg.mss = cpu_to_be16(0xffff);
drivers/net/ethernet/chelsio/cxgb4/sge.c
2240
cpl = (void *)(wr + 1);
drivers/net/ethernet/chelsio/cxgb4/sge.c
2259
struct fw_eth_tx_eo_wr *wr;
drivers/net/ethernet/chelsio/cxgb4/sge.c
2273
wr = (struct fw_eth_tx_eo_wr *)&eohw_txq->q.desc[eohw_txq->q.pidx];
drivers/net/ethernet/chelsio/cxgb4/sge.c
2308
start = (u64 *)wr;
drivers/net/ethernet/chelsio/cxgb4/sge.c
2316
cpl = write_eo_wr(adap, eosw_txq, skb, wr, hdr_len, wrlen);
drivers/net/ethernet/chelsio/cxgb4/sge.c
2341
end = (u64 *)wr + flits;
drivers/net/ethernet/chelsio/cxgb4/sge.c
2640
static void ctrlq_check_stop(struct sge_ctrl_txq *q, struct fw_wr_hdr *wr)
drivers/net/ethernet/chelsio/cxgb4/sge.c
2644
wr->lo |= htonl(FW_WR_EQUEQ_F | FW_WR_EQUIQ_F);
drivers/net/ethernet/chelsio/cxgb4/sge.c
2658
struct fw_eth_tx_pkt_wr *wr;
drivers/net/ethernet/chelsio/cxgb4/sge.c
2666
flits = DIV_ROUND_UP(pkt_len + sizeof(*cpl) + sizeof(*wr),
drivers/net/ethernet/chelsio/cxgb4/sge.c
2683
wr = (void *)&q->q.desc[q->q.pidx];
drivers/net/ethernet/chelsio/cxgb4/sge.c
2684
memset(wr, 0, sizeof(struct tx_desc));
drivers/net/ethernet/chelsio/cxgb4/sge.c
2686
wr->op_immdlen = htonl(FW_WR_OP_V(FW_ETH_TX_PKT_WR) |
drivers/net/ethernet/chelsio/cxgb4/sge.c
2689
wr->equiq_to_len16 = htonl(FW_WR_LEN16_V(DIV_ROUND_UP(flits, 2)));
drivers/net/ethernet/chelsio/cxgb4/sge.c
2690
wr->r3 = cpu_to_be64(0);
drivers/net/ethernet/chelsio/cxgb4/sge.c
2692
cpl = (void *)(wr + 1);
drivers/net/ethernet/chelsio/cxgb4/sge.c
2739
struct fw_wr_hdr *wr;
drivers/net/ethernet/chelsio/cxgb4/sge.c
2757
wr = (struct fw_wr_hdr *)&q->q.desc[q->q.pidx];
drivers/net/ethernet/chelsio/cxgb4/sge.c
2758
cxgb4_inline_tx_skb(skb, &q->q, wr);
drivers/net/ethernet/chelsio/cxgb4/sge.c
2762
ctrlq_check_stop(q, wr);
drivers/net/ethernet/chelsio/cxgb4/sge.c
2788
struct fw_wr_hdr *wr;
drivers/net/ethernet/chelsio/cxgb4/sge.c
2795
wr = (struct fw_wr_hdr *)&q->q.desc[q->q.pidx];
drivers/net/ethernet/chelsio/cxgb4/sge.c
2799
cxgb4_inline_tx_skb(skb, &q->q, wr);
drivers/net/ethernet/chelsio/cxgb4/sge.c
2805
ctrlq_check_stop(q, wr);
drivers/net/ethernet/chelsio/cxgb4/sge.c
2910
static void ofldtxq_stop(struct sge_uld_txq *q, struct fw_wr_hdr *wr)
drivers/net/ethernet/chelsio/cxgb4/sge.c
2912
wr->lo |= htonl(FW_WR_EQUEQ_F | FW_WR_EQUIQ_F);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
6489
void t4_mk_filtdelwr(unsigned int ftid, struct fw_filter_wr *wr, int qid)
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
6491
memset(wr, 0, sizeof(*wr));
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
6492
wr->op_pkd = cpu_to_be32(FW_WR_OP_V(FW_FILTER_WR));
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
6493
wr->len16_pkd = cpu_to_be32(FW_WR_LEN16_V(sizeof(*wr) / 16));
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
6494
wr->tid_to_iq = cpu_to_be32(FW_FILTER_WR_TID_V(ftid) |
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
6496
wr->del_filter_to_l2tix = cpu_to_be32(FW_FILTER_WR_DEL_FILTER_F);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
6498
wr->rx_chan_rx_rpl_iq =
drivers/net/ethernet/chelsio/cxgb4/t4_msg.h
250
#define WR_HDR struct work_request_hdr wr
drivers/net/ethernet/chelsio/cxgb4/t4fw_api.h
3632
} wr;
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
1166
struct fw_eth_tx_pkt_vm_wr *wr;
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
1170
const size_t fw_hdr_copy_len = sizeof(wr->firmware);
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
1263
wr = (void *)&txq->q.desc[txq->q.pidx];
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
1264
wr->equiq_to_len16 = cpu_to_be32(wr_mid);
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
1265
wr->r3[0] = cpu_to_be32(0);
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
1266
wr->r3[1] = cpu_to_be32(0);
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
1267
skb_copy_from_linear_data(skb, &wr->firmware, fw_hdr_copy_len);
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
1268
end = (u64 *)wr + flits;
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
1277
struct cpl_tx_pkt_lso_core *lso = (void *)(wr + 1);
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
1282
wr->op_immdlen =
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
1325
wr->op_immdlen =
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
1333
cpl = (void *)(wr + 1);
drivers/net/ethernet/chelsio/inline_crypto/ch_ipsec/chcr_ipsec.c
559
struct chcr_ipsec_wr *wr;
drivers/net/ethernet/chelsio/inline_crypto/ch_ipsec/chcr_ipsec.c
594
wr = (struct chcr_ipsec_wr *)pos;
drivers/net/ethernet/chelsio/inline_crypto/ch_ipsec/chcr_ipsec.c
595
wr->wreq.op_to_compl = htonl(FW_WR_OP_V(FW_ULPTX_WR));
drivers/net/ethernet/chelsio/inline_crypto/ch_ipsec/chcr_ipsec.c
605
wr->wreq.flowid_len16 = htonl(wr_mid);
drivers/net/ethernet/chelsio/inline_crypto/ch_ipsec/chcr_ipsec.c
608
wr->req.ulptx.cmd_dest = FILL_ULPTX_CMD_DEST(pi->port_id, qid);
drivers/net/ethernet/chelsio/inline_crypto/ch_ipsec/chcr_ipsec.c
609
wr->req.ulptx.len = htonl(ndesc - 1);
drivers/net/ethernet/chelsio/inline_crypto/ch_ipsec/chcr_ipsec.c
612
wr->req.sc_imm.cmd_more = FILL_CMD_MORE(!immdatalen || sc_more);
drivers/net/ethernet/chelsio/inline_crypto/ch_ipsec/chcr_ipsec.c
613
wr->req.sc_imm.len = cpu_to_be32(sizeof(struct cpl_tx_sec_pdu) +
drivers/net/ethernet/chelsio/inline_crypto/ch_ipsec/chcr_ipsec.c
614
sizeof(wr->req.key_ctx) +
drivers/net/ethernet/chelsio/inline_crypto/ch_ipsec/chcr_ipsec.c
624
wr->req.sec_cpl.op_ivinsrtofst = htonl(
drivers/net/ethernet/chelsio/inline_crypto/ch_ipsec/chcr_ipsec.c
631
wr->req.sec_cpl.pldlen = htonl(skb->len + esnlen);
drivers/net/ethernet/chelsio/inline_crypto/ch_ipsec/chcr_ipsec.c
640
wr->req.sec_cpl.aadstart_cipherstop_hi = FILL_SEC_CPL_CIPHERSTOP_HI(
drivers/net/ethernet/chelsio/inline_crypto/ch_ipsec/chcr_ipsec.c
645
wr->req.sec_cpl.cipherstop_lo_authinsert =
drivers/net/ethernet/chelsio/inline_crypto/ch_ipsec/chcr_ipsec.c
649
wr->req.sec_cpl.seqno_numivs =
drivers/net/ethernet/chelsio/inline_crypto/ch_ipsec/chcr_ipsec.c
655
wr->req.sec_cpl.ivgen_hdrlen = FILL_SEC_CPL_IVGEN_HDRLEN(0, 0, 1,
drivers/net/ethernet/chelsio/inline_crypto/ch_ktls/chcr_ktls.c
1014
len16 = DIV_ROUND_UP(sizeof(*wr) + ctrl, 16);
drivers/net/ethernet/chelsio/inline_crypto/ch_ktls/chcr_ktls.c
1030
wr = pos;
drivers/net/ethernet/chelsio/inline_crypto/ch_ktls/chcr_ktls.c
1033
wr->op_immdlen = htonl(FW_WR_OP_V(FW_ETH_TX_PKT_WR) |
drivers/net/ethernet/chelsio/inline_crypto/ch_ktls/chcr_ktls.c
1036
wr->equiq_to_len16 = htonl(wr_mid | FW_WR_LEN16_V(len16));
drivers/net/ethernet/chelsio/inline_crypto/ch_ktls/chcr_ktls.c
1037
wr->r3 = 0;
drivers/net/ethernet/chelsio/inline_crypto/ch_ktls/chcr_ktls.c
1039
cpl = (void *)(wr + 1);
drivers/net/ethernet/chelsio/inline_crypto/ch_ktls/chcr_ktls.c
1111
struct fw_ulptx_wr *wr;
drivers/net/ethernet/chelsio/inline_crypto/ch_ktls/chcr_ktls.c
1151
wr = pos;
drivers/net/ethernet/chelsio/inline_crypto/ch_ktls/chcr_ktls.c
1154
wr->op_to_compl = htonl(FW_WR_OP_V(FW_ULPTX_WR));
drivers/net/ethernet/chelsio/inline_crypto/ch_ktls/chcr_ktls.c
1155
wr->flowid_len16 = htonl(wr_mid | FW_WR_LEN16_V(len16));
drivers/net/ethernet/chelsio/inline_crypto/ch_ktls/chcr_ktls.c
1156
wr->cookie = 0;
drivers/net/ethernet/chelsio/inline_crypto/ch_ktls/chcr_ktls.c
1157
pos += sizeof(*wr);
drivers/net/ethernet/chelsio/inline_crypto/ch_ktls/chcr_ktls.c
1287
struct fw_ulptx_wr *wr;
drivers/net/ethernet/chelsio/inline_crypto/ch_ktls/chcr_ktls.c
1333
wr = pos;
drivers/net/ethernet/chelsio/inline_crypto/ch_ktls/chcr_ktls.c
1336
wr->op_to_compl = htonl(FW_WR_OP_V(FW_ULPTX_WR));
drivers/net/ethernet/chelsio/inline_crypto/ch_ktls/chcr_ktls.c
1337
wr->flowid_len16 = htonl(wr_mid | FW_WR_LEN16_V(len16));
drivers/net/ethernet/chelsio/inline_crypto/ch_ktls/chcr_ktls.c
1338
wr->cookie = 0;
drivers/net/ethernet/chelsio/inline_crypto/ch_ktls/chcr_ktls.c
1339
pos += sizeof(*wr);
drivers/net/ethernet/chelsio/inline_crypto/ch_ktls/chcr_ktls.c
1470
struct fw_ulptx_wr *wr;
drivers/net/ethernet/chelsio/inline_crypto/ch_ktls/chcr_ktls.c
1512
wr = pos;
drivers/net/ethernet/chelsio/inline_crypto/ch_ktls/chcr_ktls.c
1513
wr->op_to_compl = htonl(FW_WR_OP_V(FW_ULPTX_WR));
drivers/net/ethernet/chelsio/inline_crypto/ch_ktls/chcr_ktls.c
1514
wr->flowid_len16 = htonl(wr_mid | FW_WR_LEN16_V(len16));
drivers/net/ethernet/chelsio/inline_crypto/ch_ktls/chcr_ktls.c
1515
wr->cookie = 0;
drivers/net/ethernet/chelsio/inline_crypto/ch_ktls/chcr_ktls.c
1517
ulptx = (struct ulp_txpkt *)(wr + 1);
drivers/net/ethernet/chelsio/inline_crypto/ch_ktls/chcr_ktls.c
1571
struct fw_eth_tx_pkt_wr *wr;
drivers/net/ethernet/chelsio/inline_crypto/ch_ktls/chcr_ktls.c
1579
flits = DIV_ROUND_UP(sizeof(*wr) + ctrl, 8);
drivers/net/ethernet/chelsio/inline_crypto/ch_ktls/chcr_ktls.c
1614
wr = pos;
drivers/net/ethernet/chelsio/inline_crypto/ch_ktls/chcr_ktls.c
1617
wr->op_immdlen = htonl(FW_WR_OP_V(FW_ETH_TX_PKT_WR) |
drivers/net/ethernet/chelsio/inline_crypto/ch_ktls/chcr_ktls.c
1620
wr->equiq_to_len16 = htonl(wr_mid | FW_WR_LEN16_V(len16));
drivers/net/ethernet/chelsio/inline_crypto/ch_ktls/chcr_ktls.c
1621
wr->r3 = 0;
drivers/net/ethernet/chelsio/inline_crypto/ch_ktls/chcr_ktls.c
1623
cpl = (void *)(wr + 1);
drivers/net/ethernet/chelsio/inline_crypto/ch_ktls/chcr_ktls.c
845
struct fw_ulptx_wr *wr;
drivers/net/ethernet/chelsio/inline_crypto/ch_ktls/chcr_ktls.c
849
wr_len = sizeof(*wr);
drivers/net/ethernet/chelsio/inline_crypto/ch_ktls/chcr_ktls.c
869
wr = pos;
drivers/net/ethernet/chelsio/inline_crypto/ch_ktls/chcr_ktls.c
916
wr->op_to_compl = htonl(FW_WR_OP_V(FW_ULPTX_WR));
drivers/net/ethernet/chelsio/inline_crypto/ch_ktls/chcr_ktls.c
917
wr->cookie = 0;
drivers/net/ethernet/chelsio/inline_crypto/ch_ktls/chcr_ktls.c
919
wr->flowid_len16 = htonl(wr_mid |
drivers/net/ethernet/chelsio/inline_crypto/ch_ktls/chcr_ktls.c
991
struct fw_eth_tx_pkt_wr *wr;
drivers/net/ethernet/chelsio/inline_crypto/chtls/chtls.h
399
struct tls_key_wr wr;
drivers/net/ethernet/chelsio/inline_crypto/chtls/chtls.h
423
struct wr_skb_cb wr; /* reserve space for write request */
drivers/net/ethernet/chelsio/inline_crypto/chtls/chtls_cm.c
311
req->wr.wr_hi = htonl(FW_WR_OP_V(FW_TP_WR) |
drivers/net/ethernet/chelsio/inline_crypto/chtls/chtls_cm.c
313
sizeof(req->wr)));
drivers/net/ethernet/chelsio/inline_crypto/chtls/chtls_cm.c
314
req->wr.wr_mid = htonl(FW_WR_LEN16_V(DIV_ROUND_UP(sizeof(*req), 16)) |
drivers/net/ethernet/chelsio/inline_crypto/chtls/chtls_hw.c
30
req->wr.wr_mid |= htonl(FW_WR_FLOWID_V(csk->tid));
drivers/net/ethernet/chelsio/inline_crypto/chtls/chtls_hw.c
388
kwr->wr.op_to_compl =
drivers/net/ethernet/chelsio/inline_crypto/chtls/chtls_hw.c
391
kwr->wr.flowid_len16 =
drivers/net/ethernet/chelsio/inline_crypto/chtls/chtls_hw.c
394
kwr->wr.protocol = 0;
drivers/net/ethernet/chelsio/inline_crypto/chtls/chtls_hw.c
395
kwr->wr.mfs = htons(TLS_MFS);
drivers/net/ethernet/chelsio/inline_crypto/chtls/chtls_hw.c
396
kwr->wr.reneg_to_write_rx = optname;
drivers/net/ethernet/chelsio/inline_crypto/chtls/chtls_hw.c
403
DIV_ROUND_UP(len - sizeof(kwr->wr), 16));
drivers/net/ethernet/chelsio/inline_crypto/chtls/chtls_io.c
693
req->wr.wr_hi |= htonl(FW_WR_COMPL_F);
drivers/net/ethernet/netronome/nfp/bpf/jit.c
537
__emit_lcsr(struct nfp_prog *nfp_prog, u16 areg, u16 breg, bool wr, u16 addr,
drivers/net/ethernet/netronome/nfp/bpf/jit.c
545
FIELD_PREP(OP_LCSR_WRITE, wr) |
drivers/net/ethernet/sun/niu.c
5906
u64 rd, wr, val;
drivers/net/ethernet/sun/niu.c
5910
wr = nr64_ipp(IPP_DFIFO_WR_PTR);
drivers/net/ethernet/sun/niu.c
5912
while (--limit >= 0 && (rd != wr)) {
drivers/net/ethernet/sun/niu.c
5914
wr = nr64_ipp(IPP_DFIFO_WR_PTR);
drivers/net/ethernet/sun/niu.c
5917
(rd != 0 && wr != 1)) {
drivers/net/hamradio/hdlcdrv.c
445
s->hdlcrx.hbuf.rd = s->hdlcrx.hbuf.wr = 0;
drivers/net/hamradio/hdlcdrv.c
449
s->hdlctx.hbuf.rd = s->hdlctx.hbuf.wr = 0;
drivers/net/hamradio/hdlcdrv.c
579
if (s->bitbuf_channel.rd == s->bitbuf_channel.wr)
drivers/net/hamradio/hdlcdrv.c
592
if (s->bitbuf_hdlc.rd == s->bitbuf_hdlc.wr)
drivers/net/hamradio/hdlcdrv.c
644
s->hdlcrx.hbuf.rd = s->hdlcrx.hbuf.wr = 0;
drivers/net/hamradio/hdlcdrv.c
649
s->hdlctx.hbuf.rd = s->hdlctx.hbuf.wr = 0;
drivers/net/hamradio/hdlcdrv.c
659
s->bitbuf_channel.rd = s->bitbuf_channel.wr = 0;
drivers/net/hamradio/hdlcdrv.c
662
s->bitbuf_hdlc.rd = s->bitbuf_hdlc.wr = 0;
drivers/net/hamradio/scc.c
1412
wr(scc, R6, 0);
drivers/net/hamradio/scc.c
1413
wr(scc, R7, FLAG);
drivers/net/hamradio/scc.c
1438
wr(scc, R6, 0);
drivers/net/hamradio/scc.c
1439
wr(scc, R7, pattern);
drivers/net/hamradio/scc.c
1504
wr(scc, R2, chip*16); /* interrupt vector */
drivers/net/hamradio/scc.c
1505
wr(scc, R9, VIS); /* vector includes status */
drivers/net/hamradio/scc.c
1608
wr(scc,R1,0); /* disable interrupts */
drivers/net/hamradio/scc.c
1609
wr(scc,R3,0);
drivers/net/hamradio/scc.c
724
wr(scc,R12,tc & 255); /* brg rate LOW */
drivers/net/hamradio/scc.c
725
wr(scc,R13,tc >> 8); /* brg rate HIGH */
drivers/net/hamradio/scc.c
745
wr(scc, R14, BRSRC); /* BRG source = PCLK */
drivers/net/hamradio/scc.c
802
wr(scc,R4,X1CLK|SDLC); /* *1 clock, SDLC mode */
drivers/net/hamradio/scc.c
803
wr(scc,R1,0); /* no W/REQ operation */
drivers/net/hamradio/scc.c
804
wr(scc,R3,Rx8|RxCRC_ENAB); /* RX 8 bits/char, CRC, disabled */
drivers/net/hamradio/scc.c
805
wr(scc,R5,Tx8|DTR|TxCRC_ENAB); /* TX 8 bits/char, disabled, DTR */
drivers/net/hamradio/scc.c
806
wr(scc,R6,0); /* SDLC address zero (not used) */
drivers/net/hamradio/scc.c
807
wr(scc,R7,FLAG); /* SDLC flag value */
drivers/net/hamradio/scc.c
808
wr(scc,R9,VIS); /* vector includes status */
drivers/net/hamradio/scc.c
809
wr(scc,R10,(scc->modem.nrz? NRZ : NRZI)|CRCPS|ABUNDER); /* abort on underrun, preset CRC generator, NRZ(I) */
drivers/net/hamradio/scc.c
810
wr(scc,R14, 0);
drivers/net/hamradio/scc.c
842
wr(scc, R11, RCDPLL|TCDPLL|TRxCOI|TRxCDP);
drivers/net/hamradio/scc.c
847
wr(scc, R11, ((scc->brand & BAYCOM)? TRxCDP : TRxCBR) | RCDPLL|TCRTxCP|TRxCOI);
drivers/net/hamradio/scc.c
852
wr(scc, R11, (scc->brand & BAYCOM)? RCTRxCP|TCRTxCP : RCRTxCP|TCTRxCP);
drivers/net/hamradio/scc.c
863
wr(scc,R7,AUTOEOM);
drivers/net/hamradio/scc.c
874
wr(scc,R15, BRKIE|TxUIE|(scc->kiss.softdcd? SYNCIE:DCDIE));
drivers/net/hamradio/scc.c
932
wr(scc, R11, RCDPLL|TCBR|TRxCOI|TRxCBR);
drivers/net/hamradio/scc.c
948
wr(scc, R11, RCDPLL|TCDPLL|TRxCOI|TRxCDP);
drivers/net/mdio/mdio-xgene.c
55
void __iomem *addr, *wr, *cmd, *cmd_done;
drivers/net/mdio/mdio-xgene.c
60
wr = pdata->mac_csr_addr + MAC_WRITE_REG_OFFSET;
drivers/net/mdio/mdio-xgene.c
66
iowrite32(data, wr);
drivers/net/wireless/intel/iwlwifi/mei/main.c
1036
u32 *_rd, u32 wr,
drivers/net/wireless/intel/iwlwifi/mei/main.c
1060
u32 rd, u32 wr, ssize_t valid_rx_sz,
drivers/net/wireless/intel/iwlwifi/mei/main.c
1077
iwl_mei_read_from_q(q_head, q_sz, &rd, wr, &hdr, sizeof(hdr));
drivers/net/wireless/intel/iwlwifi/mei/main.c
1110
iwl_mei_read_from_q(q_head, q_sz, &rd, wr,
drivers/net/wireless/intel/iwlwifi/mei/main.c
1119
iwl_mei_read_from_q(q_head, q_sz, &rd, wr, data, len);
drivers/net/wireless/intel/iwlwifi/mei/main.c
1134
u32 rd, u32 wr, ssize_t valid_rx_sz)
drivers/net/wireless/intel/iwlwifi/mei/main.c
1147
iwl_mei_read_from_q(q_head, q_sz, &rd, wr, hdr, sizeof(*hdr));
drivers/net/wireless/intel/iwlwifi/mei/main.c
1154
iwl_mei_read_from_q(q_head, q_sz, &rd, wr, hdr + 1, len);
drivers/net/wireless/intel/iwlwifi/mei/main.c
1176
u32 wr = le32_to_cpu(READ_ONCE(notif_q->wr_ptr));
drivers/net/wireless/intel/iwlwifi/mei/main.c
1179
if (rd > q_sz || wr > q_sz) {
drivers/net/wireless/intel/iwlwifi/mei/main.c
1185
if (rd == wr)
drivers/net/wireless/intel/iwlwifi/mei/main.c
1188
valid_rx_sz = wr > rd ? wr - rd : q_sz - rd + wr;
drivers/net/wireless/intel/iwlwifi/mei/main.c
1191
iwl_mei_handle_sap_data(cldev, q_head, q_sz, rd, wr,
drivers/net/wireless/intel/iwlwifi/mei/main.c
1194
iwl_mei_handle_sap_rx_cmd(cldev, q_head, q_sz, rd, wr,
drivers/net/wireless/intel/iwlwifi/mei/main.c
1198
WRITE_ONCE(notif_q->rd_ptr, cpu_to_le32(wr));
drivers/net/wireless/intel/iwlwifi/mei/main.c
338
u32 wr = le32_to_cpu(READ_ONCE(notif_q->wr_ptr));
drivers/net/wireless/intel/iwlwifi/mei/main.c
342
if (rd > q_sz || wr > q_sz) {
drivers/net/wireless/intel/iwlwifi/mei/main.c
348
room_in_buf = wr >= rd ? q_sz - wr + rd : rd - wr;
drivers/net/wireless/intel/iwlwifi/mei/main.c
357
if (wr + tx_sz <= q_sz) {
drivers/net/wireless/intel/iwlwifi/mei/main.c
358
memcpy(q_head + wr, hdr, tx_sz);
drivers/net/wireless/intel/iwlwifi/mei/main.c
360
memcpy(q_head + wr, hdr, q_sz - wr);
drivers/net/wireless/intel/iwlwifi/mei/main.c
361
memcpy(q_head, (const u8 *)hdr + q_sz - wr, tx_sz - (q_sz - wr));
drivers/net/wireless/intel/iwlwifi/mei/main.c
364
WRITE_ONCE(notif_q->wr_ptr, cpu_to_le32((wr + tx_sz) % q_sz));
drivers/net/wireless/intel/iwlwifi/mei/main.c
480
u32 wr;
drivers/net/wireless/intel/iwlwifi/mei/main.c
513
wr = le32_to_cpu(READ_ONCE(notif_q->wr_ptr));
drivers/net/wireless/intel/iwlwifi/mei/main.c
518
if (rd > q_sz || wr > q_sz) {
drivers/net/wireless/intel/iwlwifi/mei/main.c
524
room_in_buf = wr >= rd ? q_sz - wr + rd : rd - wr;
drivers/net/wireless/intel/iwlwifi/mei/main.c
558
if (wr + tx_sz <= q_sz) {
drivers/net/wireless/intel/iwlwifi/mei/main.c
559
skb_copy_bits(skb, 0, q_head + wr, tx_sz);
drivers/net/wireless/intel/iwlwifi/mei/main.c
561
skb_copy_bits(skb, 0, q_head + wr, q_sz - wr);
drivers/net/wireless/intel/iwlwifi/mei/main.c
562
skb_copy_bits(skb, q_sz - wr, q_head, tx_sz - (q_sz - wr));
drivers/net/wireless/intel/iwlwifi/mei/main.c
565
WRITE_ONCE(notif_q->wr_ptr, cpu_to_le32((wr + tx_sz) % q_sz));
drivers/net/wireless/mediatek/mt76/mmio.c
101
.wr = mt76_mmio_wr,
drivers/net/wireless/mediatek/mt76/mt76.h
1171
#define __mt76_wr(dev, ...) (dev)->bus->wr((dev), __VA_ARGS__)
drivers/net/wireless/mediatek/mt76/mt76.h
1180
#define mt76_wr(dev, ...) (dev)->mt76.bus->wr(&((dev)->mt76), __VA_ARGS__)
drivers/net/wireless/mediatek/mt76/mt76.h
95
void (*wr)(struct mt76_dev *dev, u32 offset, u32 val);
drivers/net/wireless/mediatek/mt76/mt7603/core.c
64
dev->bus_ops->wr(&dev->mt76, MT_MCU_PCIE_REMAP_2, base);
drivers/net/wireless/mediatek/mt76/mt7603/init.c
413
dev->bus_ops->wr(mdev, addr, val);
drivers/net/wireless/mediatek/mt76/mt7603/init.c
509
bus_ops->wr = mt7603_wr;
drivers/net/wireless/mediatek/mt76/mt7615/mmio.c
155
dev->bus_ops->wr(mdev, addr, val);
drivers/net/wireless/mediatek/mt76/mt7615/mmio.c
220
bus_ops->wr = mt7615_wr;
drivers/net/wireless/mediatek/mt76/mt7615/sdio.c
95
.wr = mt76s_wr,
drivers/net/wireless/mediatek/mt76/mt7615/usb.c
130
.wr = mt7663u_wr,
drivers/net/wireless/mediatek/mt76/mt7915/mmio.c
556
dev->bus_ops->wr(mdev, addr, val);
drivers/net/wireless/mediatek/mt76/mt7915/mmio.c
561
dev->bus_ops->wr(mdev, __mt7915_reg_remap_addr(dev, offset), val);
drivers/net/wireless/mediatek/mt76/mt7915/mmio.c
782
bus_ops->wr = mt7915_wr;
drivers/net/wireless/mediatek/mt76/mt7921/pci.c
157
dev->bus_ops->wr(mdev, addr, val);
drivers/net/wireless/mediatek/mt76/mt7921/pci.c
343
bus_ops->wr = mt7921_wr;
drivers/net/wireless/mediatek/mt76/mt7921/sdio.c
111
.wr = mt76s_wr,
drivers/net/wireless/mediatek/mt76/mt7921/usb.c
172
.wr = mt792xu_wr,
drivers/net/wireless/mediatek/mt76/mt7925/pci.c
202
dev->bus_ops->wr(mdev, addr, val);
drivers/net/wireless/mediatek/mt76/mt7925/pci.c
377
bus_ops->wr = mt7925_wr;
drivers/net/wireless/mediatek/mt76/mt7925/pci.c
61
dev->bus_ops->wr(&dev->mt76, MT_HIF_REMAP_L1, dev->backup_l1);
drivers/net/wireless/mediatek/mt76/mt7925/pci.c
66
dev->bus_ops->wr(&dev->mt76, MT_HIF_REMAP_L2, dev->backup_l2);
drivers/net/wireless/mediatek/mt76/mt7925/pci.c
98
dev->bus_ops->wr(&dev->mt76, MT_HIF_REMAP_L2, addr);
drivers/net/wireless/mediatek/mt76/mt7925/usb.c
159
.wr = mt792xu_wr,
drivers/net/wireless/mediatek/mt76/mt7996/mmio.c
401
dev->bus_ops->wr(mdev, addr, val);
drivers/net/wireless/mediatek/mt76/mt7996/mmio.c
406
dev->bus_ops->wr(mdev, __mt7996_reg_remap_addr(dev, offset), val);
drivers/net/wireless/mediatek/mt76/mt7996/mmio.c
668
bus_ops->wr = mt7996_wr;
drivers/net/wireless/mediatek/mt76/usb.c
1124
.wr = mt76u_wr,
drivers/nvme/host/rdma.c
1201
struct ib_send_wr wr = {
drivers/nvme/host/rdma.c
1210
wr.wr_cqe = &req->reg_cqe;
drivers/nvme/host/rdma.c
1212
return ib_post_send(queue->qp, &wr, NULL);
drivers/nvme/host/rdma.c
1331
req->reg_wr.wr.opcode = IB_WR_REG_MR;
drivers/nvme/host/rdma.c
1332
req->reg_wr.wr.wr_cqe = &req->reg_cqe;
drivers/nvme/host/rdma.c
1333
req->reg_wr.wr.num_sge = 0;
drivers/nvme/host/rdma.c
1411
struct ib_reg_wr *wr = &req->reg_wr;
drivers/nvme/host/rdma.c
1436
memset(wr, 0, sizeof(*wr));
drivers/nvme/host/rdma.c
1437
wr->wr.opcode = IB_WR_REG_MR_INTEGRITY;
drivers/nvme/host/rdma.c
1438
wr->wr.wr_cqe = &req->reg_cqe;
drivers/nvme/host/rdma.c
1439
wr->wr.num_sge = 0;
drivers/nvme/host/rdma.c
1440
wr->wr.send_flags = 0;
drivers/nvme/host/rdma.c
1441
wr->mr = req->mr;
drivers/nvme/host/rdma.c
1442
wr->key = req->mr->rkey;
drivers/nvme/host/rdma.c
1443
wr->access = IB_ACCESS_LOCAL_WRITE |
drivers/nvme/host/rdma.c
1595
struct ib_send_wr wr;
drivers/nvme/host/rdma.c
1602
wr.next = NULL;
drivers/nvme/host/rdma.c
1603
wr.wr_cqe = &qe->cqe;
drivers/nvme/host/rdma.c
1604
wr.sg_list = sge;
drivers/nvme/host/rdma.c
1605
wr.num_sge = num_sge;
drivers/nvme/host/rdma.c
1606
wr.opcode = IB_WR_SEND;
drivers/nvme/host/rdma.c
1607
wr.send_flags = IB_SEND_SIGNALED;
drivers/nvme/host/rdma.c
1610
first->next = ≀
drivers/nvme/host/rdma.c
1612
first = ≀
drivers/nvme/host/rdma.c
1625
struct ib_recv_wr wr;
drivers/nvme/host/rdma.c
1635
wr.next = NULL;
drivers/nvme/host/rdma.c
1636
wr.wr_cqe = &qe->cqe;
drivers/nvme/host/rdma.c
1637
wr.sg_list = &list;
drivers/nvme/host/rdma.c
1638
wr.num_sge = 1;
drivers/nvme/host/rdma.c
1640
ret = ib_post_recv(queue->qp, &wr, NULL);
drivers/nvme/host/rdma.c
2051
req->mr ? &req->reg_wr.wr : NULL);
drivers/nvme/target/rdma.c
337
c->wr.wr_cqe = &c->cqe;
drivers/nvme/target/rdma.c
338
c->wr.sg_list = c->sge;
drivers/nvme/target/rdma.c
339
c->wr.num_sge = admin ? 1 : ndev->inline_page_count + 1;
drivers/nvme/target/rdma.c
49
struct ib_recv_wr wr;
drivers/nvme/target/rdma.c
503
ret = ib_post_srq_recv(cmd->nsrq->srq, &cmd->wr, NULL);
drivers/nvme/target/rdma.c
505
ret = ib_post_recv(cmd->queue->qp, &cmd->wr, NULL);
drivers/perf/fsl_imx8_ddr_perf.c
286
IMX8_DDR_PMU_EVENT_ATTR(wr-xact-credit, 0x29),
drivers/perf/xgene_pmu.c
331
XGENE_PMU_EVENT_ATTR(wr-cmd-sent, 0x06),
drivers/perf/xgene_pmu.c
338
XGENE_PMU_EVENT_ATTR(wr-wra-cmd-sent, 0x0d),
drivers/perf/xgene_pmu.c
340
XGENE_PMU_EVENT_ATTR(in-wr-collision, 0x0f),
drivers/perf/xgene_pmu.c
346
XGENE_PMU_EVENT_ATTR(mcu-wr-request, 0x15),
drivers/perf/xgene_pmu.c
352
XGENE_PMU_EVENT_ATTR(mcu-wr-proceed-all, 0x1b),
drivers/perf/xgene_pmu.c
353
XGENE_PMU_EVENT_ATTR(mcu-wr-proceed-cancel, 0x1c),
drivers/perf/xgene_pmu.c
424
XGENE_PMU_EVENT_ATTR(pa-req-buf-alloc-wr, 0x03),
drivers/perf/xgene_pmu.c
429
XGENE_PMU_EVENT_ATTR(pa-cp-wr-req, 0x08),
drivers/perf/xgene_pmu.c
432
XGENE_PMU_EVENT_ATTR(ba-wr-req, 0x0b),
drivers/perf/xgene_pmu.c
435
XGENE_PMU_EVENT_ATTR(pa-wr-invalidate-req-issued-stashable, 0x12),
drivers/perf/xgene_pmu.c
436
XGENE_PMU_EVENT_ATTR(pa-wr-invalidate-req-issued-nonstashable, 0x13),
drivers/perf/xgene_pmu.c
437
XGENE_PMU_EVENT_ATTR(pa-wr-back-req-issued-stashable, 0x14),
drivers/perf/xgene_pmu.c
438
XGENE_PMU_EVENT_ATTR(pa-wr-back-req-issued-nonstashable, 0x15),
drivers/perf/xgene_pmu.c
439
XGENE_PMU_EVENT_ATTR(pa-ptl-wr-req, 0x16),
drivers/perf/xgene_pmu.c
441
XGENE_PMU_EVENT_ATTR(pa-wr-back-clean-data, 0x18),
drivers/perf/xgene_pmu.c
442
XGENE_PMU_EVENT_ATTR(pa-wr-back-cancelled-on-SS, 0x1b),
drivers/perf/xgene_pmu.c
450
XGENE_PMU_EVENT_ATTR(pa-rd-wr-invalid-snoop, 0x25),
drivers/perf/xgene_pmu.c
451
XGENE_PMU_EVENT_ATTR(pa-rd-wr-invalid-snoop-hit, 0x26),
drivers/perf/xgene_pmu.c
466
XGENE_PMU_EVENT_ATTR(pa-axi0-wr-req, 0x02),
drivers/perf/xgene_pmu.c
468
XGENE_PMU_EVENT_ATTR(pa-axi1-wr-req, 0x04),
drivers/perf/xgene_pmu.c
471
XGENE_PMU_EVENT_ATTR(ba-axi-wr-req, 0x09),
drivers/perf/xgene_pmu.c
481
XGENE_PMU_EVENT_ATTR(wr-req-recv, 0x04),
drivers/perf/xgene_pmu.c
482
XGENE_PMU_EVENT_ATTR(wr-req-recv-2, 0x05),
drivers/perf/xgene_pmu.c
492
XGENE_PMU_EVENT_ATTR(wr-req-sent-to-mcu, 0x0f),
drivers/perf/xgene_pmu.c
495
XGENE_PMU_EVENT_ATTR(wr-gack-recv, 0x12),
drivers/perf/xgene_pmu.c
497
XGENE_PMU_EVENT_ATTR(cancel-wr-gack, 0x14),
drivers/perf/xgene_pmu.c
505
XGENE_PMU_EVENT_ATTR(mcu-wr-table-full, 0x1c),
drivers/perf/xgene_pmu.c
522
XGENE_PMU_EVENT_ATTR(wr-sent, 0x05),
drivers/perf/xgene_pmu.c
529
XGENE_PMU_EVENT_ATTR(wr-wra-sent, 0x0c),
drivers/perf/xgene_pmu.c
535
XGENE_PMU_EVENT_ATTR(hprd-lprd-wr-req-vld, 0x12),
drivers/perf/xgene_pmu.c
539
XGENE_PMU_EVENT_ATTR(wr-req-vld, 0x16),
drivers/perf/xgene_pmu.c
540
XGENE_PMU_EVENT_ATTR(partial-wr-req-vld, 0x17),
drivers/perf/xgene_pmu.c
542
XGENE_PMU_EVENT_ATTR(wr-retry, 0x19),
drivers/perf/xgene_pmu.c
559
XGENE_PMU_EVENT_ATTR(wr-enq, 0x2a),
drivers/scsi/csiostor/csio_hw.c
3933
csio_process_fwevtq_entry(struct csio_hw *hw, void *wr, uint32_t len,
drivers/scsi/csiostor/csio_hw.c
3941
op = ((struct rss_header *) wr)->opcode;
drivers/scsi/csiostor/csio_hw.c
3956
msg = (void *)((uintptr_t)wr + sizeof(__be64));
drivers/scsi/csiostor/csio_isr.c
131
csio_fwevt_intx_handler(struct csio_hw *hw, void *wr, uint32_t len,
drivers/scsi/csiostor/csio_isr.c
146
csio_process_scsi_cmpl(struct csio_hw *hw, void *wr, uint32_t len,
drivers/scsi/csiostor/csio_isr.c
155
ioreq = csio_scsi_cmpl_handler(hw, wr, len, flb, NULL, &scsiwr);
drivers/scsi/csiostor/csio_isr.c
285
csio_scsi_intx_handler(struct csio_hw *hw, void *wr, uint32_t len,
drivers/scsi/csiostor/csio_lnode.c
1432
csio_ln_mgmt_wr_handler(struct csio_hw *hw, void *wr, uint32_t len)
drivers/scsi/csiostor/csio_lnode.c
1439
wr_cmd = (struct fw_fcoe_els_ct_wr *) wr;
drivers/scsi/csiostor/csio_lnode.c
1489
struct fw_wr_hdr *wr;
drivers/scsi/csiostor/csio_lnode.c
1525
wr = (struct fw_wr_hdr *) (cmd + 4);
drivers/scsi/csiostor/csio_lnode.c
1526
if (FW_WR_OP_G(be32_to_cpu(wr->hi))
drivers/scsi/csiostor/csio_lnode.c
1594
FW_WR_OP_G(be32_to_cpu((wr->hi))));
drivers/scsi/csiostor/csio_lnode.c
1598
wr = (struct fw_wr_hdr *) (cmd);
drivers/scsi/csiostor/csio_lnode.c
1599
if (FW_WR_OP_G(be32_to_cpu(wr->hi)) == FW_FCOE_ELS_CT_WR) {
drivers/scsi/csiostor/csio_lnode.c
1600
csio_ln_mgmt_wr_handler(hw, wr,
drivers/scsi/csiostor/csio_lnode.c
1604
FW_WR_OP_G(be32_to_cpu((wr->hi))));
drivers/scsi/csiostor/csio_lnode.c
1684
struct fw_fcoe_els_ct_wr *wr;
drivers/scsi/csiostor/csio_lnode.c
1687
wr = (struct fw_fcoe_els_ct_wr *)fw_wr;
drivers/scsi/csiostor/csio_lnode.c
1688
wr->op_immdlen = cpu_to_be32(FW_WR_OP_V(FW_FCOE_ELS_CT_WR) |
drivers/scsi/csiostor/csio_lnode.c
1692
wr->flowid_len16 = cpu_to_be32(FW_WR_FLOWID_V(flow_id) |
drivers/scsi/csiostor/csio_lnode.c
1694
wr->els_ct_type = sub_op;
drivers/scsi/csiostor/csio_lnode.c
1695
wr->ctl_pri = 0;
drivers/scsi/csiostor/csio_lnode.c
1696
wr->cp_en_class = 0;
drivers/scsi/csiostor/csio_lnode.c
1697
wr->cookie = io_req->fw_handle;
drivers/scsi/csiostor/csio_lnode.c
1698
wr->iqid = cpu_to_be16(csio_q_physiqid(
drivers/scsi/csiostor/csio_lnode.c
1700
wr->fl_to_sp = FW_FCOE_ELS_CT_WR_SP(1);
drivers/scsi/csiostor/csio_lnode.c
1701
wr->tmo_val = (uint8_t) io_req->tmo;
drivers/scsi/csiostor/csio_lnode.c
1703
memcpy(wr->l_id, PORT_ID_PTR(port_id), 3);
drivers/scsi/csiostor/csio_lnode.c
1705
memcpy(wr->r_id, PORT_ID_PTR(port_id), 3);
drivers/scsi/csiostor/csio_lnode.c
1708
wr->rsp_dmalen = cpu_to_be32(io_req->dma_buf.len);
drivers/scsi/csiostor/csio_lnode.c
1709
wr->rsp_dmaaddr = cpu_to_be64(io_req->dma_buf.paddr);
drivers/scsi/csiostor/csio_mb.c
195
const u32 *params, u32 *val, bool wr,
drivers/scsi/csiostor/csio_mb.c
207
(wr ? FW_CMD_WRITE_F : FW_CMD_READ_F) |
drivers/scsi/csiostor/csio_mb.c
213
if (wr) {
drivers/scsi/csiostor/csio_mb.c
301
bool wr, bool init, bool tgt, bool cofld,
drivers/scsi/csiostor/csio_mb.c
307
CSIO_INIT_MBP(mbp, cmdp, tmo, hw, cbfn, wr ? 0 : 1);
drivers/scsi/csiostor/csio_mb.c
311
(wr ? FW_CMD_WRITE_F : FW_CMD_READ_F));
drivers/scsi/csiostor/csio_mb.c
315
if (!wr)
drivers/scsi/csiostor/csio_mb.c
343
u8 portid, bool wr, uint32_t fc, uint16_t fw_caps,
drivers/scsi/csiostor/csio_mb.c
352
(wr ? FW_CMD_EXEC_F : FW_CMD_READ_F) |
drivers/scsi/csiostor/csio_mb.c
354
if (!wr) {
drivers/scsi/csiostor/csio_scsi.c
1102
csio_scsi_cmpl_handler(struct csio_hw *hw, void *wr, uint32_t len,
drivers/scsi/csiostor/csio_scsi.c
1112
cpl = (struct cpl_fw6_msg *)((uintptr_t)wr + sizeof(__be64));
drivers/scsi/csiostor/csio_scsi.c
205
struct fw_scsi_cmd_wr *wr = (struct fw_scsi_cmd_wr *)addr;
drivers/scsi/csiostor/csio_scsi.c
209
wr->op_immdlen = cpu_to_be32(FW_WR_OP_V(FW_SCSI_CMD_WR) |
drivers/scsi/csiostor/csio_scsi.c
211
wr->flowid_len16 = cpu_to_be32(FW_WR_FLOWID_V(rn->flowid) |
drivers/scsi/csiostor/csio_scsi.c
215
wr->cookie = (uintptr_t) req;
drivers/scsi/csiostor/csio_scsi.c
216
wr->iqid = cpu_to_be16(csio_q_physiqid(hw, req->iq_idx));
drivers/scsi/csiostor/csio_scsi.c
217
wr->tmo_val = (uint8_t) req->tmo;
drivers/scsi/csiostor/csio_scsi.c
218
wr->r3 = 0;
drivers/scsi/csiostor/csio_scsi.c
219
memset(&wr->r5, 0, 8);
drivers/scsi/csiostor/csio_scsi.c
225
wr->rsp_dmalen = cpu_to_be32(dma_buf->len);
drivers/scsi/csiostor/csio_scsi.c
226
wr->rsp_dmaaddr = cpu_to_be64(dma_buf->paddr);
drivers/scsi/csiostor/csio_scsi.c
228
wr->r6 = 0;
drivers/scsi/csiostor/csio_scsi.c
230
wr->u.fcoe.ctl_pri = 0;
drivers/scsi/csiostor/csio_scsi.c
231
wr->u.fcoe.cp_en_class = 0;
drivers/scsi/csiostor/csio_scsi.c
232
wr->u.fcoe.r4_lo[0] = 0;
drivers/scsi/csiostor/csio_scsi.c
233
wr->u.fcoe.r4_lo[1] = 0;
drivers/scsi/csiostor/csio_scsi.c
364
struct fw_scsi_read_wr *wr = (struct fw_scsi_read_wr *)wrp;
drivers/scsi/csiostor/csio_scsi.c
370
wr->op_immdlen = cpu_to_be32(FW_WR_OP_V(FW_SCSI_READ_WR) |
drivers/scsi/csiostor/csio_scsi.c
372
wr->flowid_len16 = cpu_to_be32(FW_WR_FLOWID_V(rn->flowid) |
drivers/scsi/csiostor/csio_scsi.c
374
wr->cookie = (uintptr_t)req;
drivers/scsi/csiostor/csio_scsi.c
375
wr->iqid = cpu_to_be16(csio_q_physiqid(hw, req->iq_idx));
drivers/scsi/csiostor/csio_scsi.c
376
wr->tmo_val = (uint8_t)(req->tmo);
drivers/scsi/csiostor/csio_scsi.c
377
wr->use_xfer_cnt = 1;
drivers/scsi/csiostor/csio_scsi.c
378
wr->xfer_cnt = cpu_to_be32(scsi_bufflen(scmnd));
drivers/scsi/csiostor/csio_scsi.c
379
wr->ini_xfer_cnt = cpu_to_be32(scsi_bufflen(scmnd));
drivers/scsi/csiostor/csio_scsi.c
384
wr->rsp_dmalen = cpu_to_be32(dma_buf->len);
drivers/scsi/csiostor/csio_scsi.c
385
wr->rsp_dmaaddr = cpu_to_be64(dma_buf->paddr);
drivers/scsi/csiostor/csio_scsi.c
387
wr->r4 = 0;
drivers/scsi/csiostor/csio_scsi.c
389
wr->u.fcoe.ctl_pri = 0;
drivers/scsi/csiostor/csio_scsi.c
390
wr->u.fcoe.cp_en_class = 0;
drivers/scsi/csiostor/csio_scsi.c
391
wr->u.fcoe.r3_lo[0] = 0;
drivers/scsi/csiostor/csio_scsi.c
392
wr->u.fcoe.r3_lo[1] = 0;
drivers/scsi/csiostor/csio_scsi.c
417
struct fw_scsi_write_wr *wr = (struct fw_scsi_write_wr *)wrp;
drivers/scsi/csiostor/csio_scsi.c
423
wr->op_immdlen = cpu_to_be32(FW_WR_OP_V(FW_SCSI_WRITE_WR) |
drivers/scsi/csiostor/csio_scsi.c
425
wr->flowid_len16 = cpu_to_be32(FW_WR_FLOWID_V(rn->flowid) |
drivers/scsi/csiostor/csio_scsi.c
427
wr->cookie = (uintptr_t)req;
drivers/scsi/csiostor/csio_scsi.c
428
wr->iqid = cpu_to_be16(csio_q_physiqid(hw, req->iq_idx));
drivers/scsi/csiostor/csio_scsi.c
429
wr->tmo_val = (uint8_t)(req->tmo);
drivers/scsi/csiostor/csio_scsi.c
430
wr->use_xfer_cnt = 1;
drivers/scsi/csiostor/csio_scsi.c
431
wr->xfer_cnt = cpu_to_be32(scsi_bufflen(scmnd));
drivers/scsi/csiostor/csio_scsi.c
432
wr->ini_xfer_cnt = cpu_to_be32(scsi_bufflen(scmnd));
drivers/scsi/csiostor/csio_scsi.c
437
wr->rsp_dmalen = cpu_to_be32(dma_buf->len);
drivers/scsi/csiostor/csio_scsi.c
438
wr->rsp_dmaaddr = cpu_to_be64(dma_buf->paddr);
drivers/scsi/csiostor/csio_scsi.c
440
wr->r4 = 0;
drivers/scsi/csiostor/csio_scsi.c
442
wr->u.fcoe.ctl_pri = 0;
drivers/scsi/csiostor/csio_scsi.c
443
wr->u.fcoe.cp_en_class = 0;
drivers/scsi/csiostor/csio_scsi.c
444
wr->u.fcoe.r3_lo[0] = 0;
drivers/scsi/csiostor/csio_scsi.c
445
wr->u.fcoe.r3_lo[1] = 0;
drivers/scsi/csiostor/csio_scsi.c
651
struct fw_scsi_abrt_cls_wr *wr = (struct fw_scsi_abrt_cls_wr *)addr;
drivers/scsi/csiostor/csio_scsi.c
653
wr->op_immdlen = cpu_to_be32(FW_WR_OP_V(FW_SCSI_ABRT_CLS_WR));
drivers/scsi/csiostor/csio_scsi.c
654
wr->flowid_len16 = cpu_to_be32(FW_WR_FLOWID_V(rn->flowid) |
drivers/scsi/csiostor/csio_scsi.c
658
wr->cookie = (uintptr_t) req;
drivers/scsi/csiostor/csio_scsi.c
659
wr->iqid = cpu_to_be16(csio_q_physiqid(hw, req->iq_idx));
drivers/scsi/csiostor/csio_scsi.c
660
wr->tmo_val = (uint8_t) req->tmo;
drivers/scsi/csiostor/csio_scsi.c
662
wr->sub_opcode_to_chk_all_io =
drivers/scsi/csiostor/csio_scsi.c
665
wr->r3[0] = 0;
drivers/scsi/csiostor/csio_scsi.c
666
wr->r3[1] = 0;
drivers/scsi/csiostor/csio_scsi.c
667
wr->r3[2] = 0;
drivers/scsi/csiostor/csio_scsi.c
668
wr->r3[3] = 0;
drivers/scsi/csiostor/csio_scsi.c
670
wr->t_cookie = (uintptr_t) req;
drivers/scsi/csiostor/csio_wr.c
1042
void *wr, uint32_t len_to_qid,
drivers/scsi/csiostor/csio_wr.c
1091
iq_handler(hw, wr, q->wr_sz - sizeof(struct csio_iqwr_footer),
drivers/scsi/csiostor/csio_wr.c
1134
void *wr = (void *)((uintptr_t)q->vstart + (q->cidx * q->wr_sz));
drivers/scsi/csiostor/csio_wr.c
1143
ftr = (struct csio_iqwr_footer *)((uintptr_t)wr +
drivers/scsi/csiostor/csio_wr.c
1152
CSIO_DB_ASSERT(((uintptr_t)wr + q->wr_sz) <=
drivers/scsi/csiostor/csio_wr.c
1160
iq_handler(hw, wr, q->wr_sz - sizeof(*ftr), NULL, priv);
drivers/scsi/csiostor/csio_wr.c
1163
csio_wr_process_fl(hw, q, wr,
drivers/scsi/csiostor/csio_wr.c
1202
if (((uintptr_t)wr + q->wr_sz) == (uintptr_t)q->vwrap) {
drivers/scsi/csiostor/csio_wr.c
1206
wr = q->vstart;
drivers/scsi/csiostor/csio_wr.c
1214
wr = (void *)((uintptr_t)(q->vstart) +
drivers/scsi/csiostor/csio_wr.c
1218
ftr = (struct csio_iqwr_footer *)((uintptr_t)wr +
drivers/scsi/csiostor/csio_wr.c
765
void *wr;
drivers/scsi/csiostor/csio_wr.c
774
wr = (void *)((uintptr_t)q->vstart +
drivers/scsi/csiostor/csio_wr.c
777
ftr = (struct csio_iqwr_footer *)((uintptr_t)wr +
drivers/scsi/cxgbi/cxgb3i/cxgb3i.c
1084
req->wr.wr_hi = htonl(V_WR_OP(FW_WROPCODE_BYPASS));
drivers/scsi/cxgbi/cxgb3i/cxgb3i.c
1168
req->wr.wr_hi = htonl(V_WR_OP(FW_WROPCODE_FORWARD));
drivers/scsi/cxgbi/cxgb3i/cxgb3i.c
1204
req->wr.wr_hi = htonl(V_WR_OP(FW_WROPCODE_FORWARD));
drivers/scsi/cxgbi/cxgb3i/cxgb3i.c
167
req->wr.wr_hi = htonl(V_WR_OP(FW_WROPCODE_FORWARD));
drivers/scsi/cxgbi/cxgb3i/cxgb3i.c
212
req->wr.wr_hi = htonl(V_WR_OP(FW_WROPCODE_OFLD_CLOSE_CON));
drivers/scsi/cxgbi/cxgb3i/cxgb3i.c
213
req->wr.wr_lo = htonl(V_WR_TID(tid));
drivers/scsi/cxgbi/cxgb3i/cxgb3i.c
256
req->wr.wr_hi = htonl(V_WR_OP(FW_WROPCODE_OFLD_HOST_ABORT_CON_REQ));
drivers/scsi/cxgbi/cxgb3i/cxgb3i.c
257
req->wr.wr_lo = htonl(V_WR_TID(csk->tid));
drivers/scsi/cxgbi/cxgb3i/cxgb3i.c
287
rpl->wr.wr_hi = htonl(V_WR_OP(FW_WROPCODE_OFLD_HOST_ABORT_CON_RPL));
drivers/scsi/cxgbi/cxgb3i/cxgb3i.c
288
rpl->wr.wr_lo = htonl(V_WR_TID(csk->tid));
drivers/scsi/cxgbi/cxgb3i/cxgb3i.c
315
req->wr.wr_hi = htonl(V_WR_OP(FW_WROPCODE_FORWARD));
drivers/scsi/cxgbi/cxgb4i/cxgb4i.c
1979
req->wr.wr_hi = htonl(FW_WR_OP_V(FW_ULPTX_WR) |
drivers/scsi/cxgbi/cxgb4i/cxgb4i.c
1986
req->len16 = htonl(DIV_ROUND_UP(wr_len - sizeof(req->wr), 16));
drivers/scsi/cxgbi/cxgb4i/cxgb4i.c
866
req->wr.wr_hi |= cpu_to_be32(FW_WR_COMPL_F);
drivers/scsi/qla2xxx/qla_mbx.c
3895
qla2x00_disable_fce_trace(scsi_qla_host_t *vha, uint64_t *wr, uint64_t *rd)
drivers/scsi/qla2xxx/qla_mbx.c
3927
if (wr)
drivers/scsi/qla2xxx/qla_mbx.c
3928
*wr = (uint64_t) mcp->mb[5] << 48 |
drivers/spi/spi-bcm-qspi.c
586
u32 wr = 0;
drivers/spi/spi-bcm-qspi.c
590
wr = (rd & ~0xff) | (1 << cs);
drivers/spi/spi-bcm-qspi.c
591
if (rd == wr)
drivers/spi/spi-bcm-qspi.c
593
bcm_qspi_write(qspi, CHIP_SELECT, 0, wr);
drivers/staging/fbtft/fb_agm1264k-fl.c
29
#define EPIN gpio.wr
drivers/staging/fbtft/fbtft-core.c
104
ret = fbtft_request_one_gpio(par, "wr", 0, &par->gpio.wr);
drivers/staging/fbtft/fbtft-core.c
1064
if (!par->gpio.wr) {
drivers/staging/fbtft/fbtft-io.c
145
gpiod_set_value(par->gpio.wr, 1);
drivers/staging/fbtft/fbtft-io.c
150
gpiod_set_value(par->gpio.wr, 1); /* used as delay */
drivers/staging/fbtft/fbtft-io.c
168
gpiod_set_value(par->gpio.wr, 0);
drivers/staging/fbtft/fbtft-io.c
195
gpiod_set_value(par->gpio.wr, 1);
drivers/staging/fbtft/fbtft-io.c
200
gpiod_set_value(par->gpio.wr, 1); /* used as delay */
drivers/staging/fbtft/fbtft-io.c
218
gpiod_set_value(par->gpio.wr, 0);
drivers/staging/fbtft/fbtft.h
213
struct gpio_desc *wr;
drivers/target/iscsi/cxgbit/cxgbit_ddp.c
81
req->wr.wr_hi = htonl(FW_WR_OP_V(FW_ULPTX_WR) |
drivers/target/iscsi/cxgbit/cxgbit_ddp.c
88
req->len16 = htonl(DIV_ROUND_UP(wr_len - sizeof(req->wr), 16));
drivers/target/iscsi/cxgbit/cxgbit_target.c
271
req->wr.wr_hi |= htonl(FW_WR_COMPL_F);
fs/autofs/waitq.c
51
ssize_t wr = 0;
fs/autofs/waitq.c
57
wr = __kernel_write(file, data, bytes, NULL);
fs/autofs/waitq.c
58
if (wr <= 0)
fs/autofs/waitq.c
60
data += wr;
fs/autofs/waitq.c
61
bytes -= wr;
fs/autofs/waitq.c
68
if (wr == -EPIPE && !sigpipe) {
fs/autofs/waitq.c
76
return bytes == 0 ? 0 : wr < 0 ? wr : -EIO;
fs/ntfs3/fsntfs.c
1513
void *buf, u64 vbo, size_t bytes, int wr)
fs/ntfs3/fsntfs.c
1555
if (wr) {
fs/ntfs3/ntfs_fs.h
687
void *buf, u64 vbo, size_t bytes, int wr);
fs/orangefs/file.c
51
loff_t readahead_size, struct orangefs_write_range *wr,
fs/orangefs/file.c
93
if (type == ORANGEFS_IO_WRITE && wr) {
fs/orangefs/file.c
94
new_op->upcall.uid = from_kuid(&init_user_ns, wr->uid);
fs/orangefs/file.c
95
new_op->upcall.gid = from_kgid(&init_user_ns, wr->gid);
fs/orangefs/inode.c
105
wr.uid = ow->uid;
fs/orangefs/inode.c
106
wr.gid = ow->gid;
fs/orangefs/inode.c
108
0, &wr, NULL, NULL);
fs/orangefs/inode.c
127
struct orangefs_write_range *wr = folio->private;
fs/orangefs/inode.c
130
if (!wr) {
fs/orangefs/inode.c
140
ow->off = wr->pos;
fs/orangefs/inode.c
141
ow->len = wr->len;
fs/orangefs/inode.c
142
ow->uid = wr->uid;
fs/orangefs/inode.c
143
ow->gid = wr->gid;
fs/orangefs/inode.c
148
if (!uid_eq(ow->uid, wr->uid) || !gid_eq(ow->gid, wr->gid)) {
fs/orangefs/inode.c
154
if (ow->off + ow->len == wr->pos) {
fs/orangefs/inode.c
155
ow->len += wr->len;
fs/orangefs/inode.c
23
struct orangefs_write_range *wr = NULL;
fs/orangefs/inode.c
293
struct orangefs_write_range *wr;
fs/orangefs/inode.c
315
struct orangefs_write_range *wr;
fs/orangefs/inode.c
316
wr = folio_get_private(folio);
fs/orangefs/inode.c
317
if (wr->pos + wr->len == pos &&
fs/orangefs/inode.c
318
uid_eq(wr->uid, current_fsuid()) &&
fs/orangefs/inode.c
319
gid_eq(wr->gid, current_fsgid())) {
fs/orangefs/inode.c
320
wr->len += len;
fs/orangefs/inode.c
323
wr->pos = pos;
fs/orangefs/inode.c
324
wr->len = len;
fs/orangefs/inode.c
331
wr = kmalloc_obj(*wr);
fs/orangefs/inode.c
332
if (!wr)
fs/orangefs/inode.c
335
wr->pos = pos;
fs/orangefs/inode.c
336
wr->len = len;
fs/orangefs/inode.c
337
wr->uid = current_fsuid();
fs/orangefs/inode.c
338
wr->gid = current_fsgid();
fs/orangefs/inode.c
339
folio_attach_private(folio, wr);
fs/orangefs/inode.c
34
wr = folio->private;
fs/orangefs/inode.c
35
off = wr->pos;
fs/orangefs/inode.c
36
if ((off + wr->len > len) && (off <= len))
fs/orangefs/inode.c
384
struct orangefs_write_range *wr = folio_get_private(folio);
fs/orangefs/inode.c
39
wlen = wr->len;
fs/orangefs/inode.c
390
} else if (folio_pos(folio) + offset <= wr->pos &&
fs/orangefs/inode.c
391
wr->pos + wr->len <= folio_pos(folio) + offset + length) {
fs/orangefs/inode.c
397
} else if (wr->pos < folio_pos(folio) + offset &&
fs/orangefs/inode.c
398
wr->pos + wr->len <= folio_pos(folio) + offset + length &&
fs/orangefs/inode.c
399
folio_pos(folio) + offset < wr->pos + wr->len) {
fs/orangefs/inode.c
401
x = wr->pos + wr->len - (folio_pos(folio) + offset);
fs/orangefs/inode.c
402
WARN_ON(x > wr->len);
fs/orangefs/inode.c
403
wr->len -= x;
fs/orangefs/inode.c
404
wr->uid = current_fsuid();
fs/orangefs/inode.c
405
wr->gid = current_fsgid();
fs/orangefs/inode.c
407
} else if (folio_pos(folio) + offset <= wr->pos &&
fs/orangefs/inode.c
408
folio_pos(folio) + offset + length < wr->pos + wr->len &&
fs/orangefs/inode.c
409
wr->pos < folio_pos(folio) + offset + length) {
fs/orangefs/inode.c
41
wlen = wr->len;
fs/orangefs/inode.c
411
x = folio_pos(folio) + offset + length - wr->pos;
fs/orangefs/inode.c
412
WARN_ON(x > wr->len);
fs/orangefs/inode.c
413
wr->pos += x;
fs/orangefs/inode.c
414
wr->len -= x;
fs/orangefs/inode.c
415
wr->uid = current_fsuid();
fs/orangefs/inode.c
416
wr->gid = current_fsgid();
fs/orangefs/inode.c
418
} else if (wr->pos < folio_pos(folio) + offset &&
fs/orangefs/inode.c
419
folio_pos(folio) + offset + length < wr->pos + wr->len) {
fs/orangefs/inode.c
431
if (!((folio_pos(folio) + offset + length <= wr->pos) ^
fs/orangefs/inode.c
432
(wr->pos + wr->len <= folio_pos(folio) + offset))) {
fs/orangefs/inode.c
437
wr->pos, wr->len);
fs/orangefs/inode.c
56
len, wr, NULL, NULL);
fs/orangefs/inode.c
612
struct orangefs_write_range *wr;
fs/orangefs/inode.c
634
wr = folio_get_private(folio);
fs/orangefs/inode.c
635
if (uid_eq(wr->uid, current_fsuid()) &&
fs/orangefs/inode.c
636
gid_eq(wr->gid, current_fsgid())) {
fs/orangefs/inode.c
637
wr->pos = page_offset(vmf->page);
fs/orangefs/inode.c
638
wr->len = PAGE_SIZE;
fs/orangefs/inode.c
647
wr = kmalloc_obj(*wr);
fs/orangefs/inode.c
648
if (!wr) {
fs/orangefs/inode.c
652
wr->pos = page_offset(vmf->page);
fs/orangefs/inode.c
653
wr->len = PAGE_SIZE;
fs/orangefs/inode.c
654
wr->uid = current_fsuid();
fs/orangefs/inode.c
655
wr->gid = current_fsgid();
fs/orangefs/inode.c
656
folio_attach_private(folio, wr);
fs/orangefs/inode.c
82
struct orangefs_write_range *wrp, wr;
fs/smb/client/smbdirect.c
1210
struct ib_send_wr *wr)
fs/smb/client/smbdirect.c
1215
ret = ib_post_send(sc->ib.qp, wr, NULL);
fs/smb/client/smbdirect.c
1243
request->wr.next = NULL;
fs/smb/client/smbdirect.c
1244
request->wr.sg_list = request->sge;
fs/smb/client/smbdirect.c
1245
request->wr.num_sge = request->num_sge;
fs/smb/client/smbdirect.c
1246
request->wr.opcode = IB_WR_SEND;
fs/smb/client/smbdirect.c
1249
request->wr.wr_cqe = NULL;
fs/smb/client/smbdirect.c
1250
request->wr.send_flags = 0;
fs/smb/client/smbdirect.c
1257
last->wr.next = &request->wr;
fs/smb/client/smbdirect.c
1264
request->wr.wr_cqe = &request->cqe;
fs/smb/client/smbdirect.c
1265
request->wr.send_flags = IB_SEND_SIGNALED;
fs/smb/client/smbdirect.c
1266
return smbd_ib_post_send(sc, &request->wr);
fs/smb/client/smbdirect.c
1298
first->wr.opcode = IB_WR_SEND_WITH_INV;
fs/smb/client/smbdirect.c
1299
first->wr.ex.invalidate_rkey = batch->remote_key;
fs/smb/client/smbdirect.c
1304
last->wr.send_flags = IB_SEND_SIGNALED;
fs/smb/client/smbdirect.c
1305
last->wr.wr_cqe = &last->cqe;
fs/smb/client/smbdirect.c
1319
ret = smbd_ib_post_send(sc, &first->wr);
fs/smb/client/smbdirect.c
2959
reg_wr = &mr->wr;
fs/smb/client/smbdirect.c
2960
reg_wr->wr.opcode = IB_WR_REG_MR;
fs/smb/client/smbdirect.c
2962
reg_wr->wr.wr_cqe = &mr->cqe;
fs/smb/client/smbdirect.c
2963
reg_wr->wr.num_sge = 0;
fs/smb/client/smbdirect.c
2964
reg_wr->wr.send_flags = IB_SEND_SIGNALED;
fs/smb/client/smbdirect.c
2976
rc = ib_post_send(sc->ib.qp, ®_wr->wr, NULL);
fs/smb/client/smbdirect.c
3060
struct ib_send_wr *wr = &mr->inv_wr;
fs/smb/client/smbdirect.c
3064
wr->opcode = IB_WR_LOCAL_INV;
fs/smb/client/smbdirect.c
3066
wr->wr_cqe = &mr->cqe;
fs/smb/client/smbdirect.c
3067
wr->num_sge = 0;
fs/smb/client/smbdirect.c
3068
wr->ex.invalidate_rkey = mr->mr->rkey;
fs/smb/client/smbdirect.c
3069
wr->send_flags = IB_SEND_SIGNALED;
fs/smb/client/smbdirect.c
3072
rc = ib_post_send(sc->ib.qp, wr, NULL);
fs/smb/client/smbdirect.c
572
if (unlikely(!(request->wr.send_flags & IB_SEND_SIGNALED))) {
fs/smb/common/smbdirect/smbdirect_socket.h
481
struct ib_send_wr wr;
fs/smb/common/smbdirect/smbdirect_socket.h
555
struct ib_reg_wr wr;
fs/smb/server/transport_rdma.c
1075
if (unlikely(!(sendmsg->wr.send_flags & IB_SEND_SIGNALED))) {
fs/smb/server/transport_rdma.c
1183
struct ib_send_wr *wr)
fs/smb/server/transport_rdma.c
1188
ret = ib_post_send(sc->ib.qp, wr, NULL);
fs/smb/server/transport_rdma.c
1225
first->wr.opcode = IB_WR_SEND_WITH_INV;
fs/smb/server/transport_rdma.c
1226
first->wr.ex.invalidate_rkey = send_ctx->remote_key;
fs/smb/server/transport_rdma.c
1231
last->wr.send_flags = IB_SEND_SIGNALED;
fs/smb/server/transport_rdma.c
1232
last->wr.wr_cqe = &last->cqe;
fs/smb/server/transport_rdma.c
1246
ret = smb_direct_post_send(sc, &first->wr);
fs/smb/server/transport_rdma.c
1475
msg->wr.opcode = IB_WR_SEND;
fs/smb/server/transport_rdma.c
1476
msg->wr.sg_list = &msg->sge[0];
fs/smb/server/transport_rdma.c
1477
msg->wr.num_sge = msg->num_sge;
fs/smb/server/transport_rdma.c
1478
msg->wr.next = NULL;
fs/smb/server/transport_rdma.c
1481
msg->wr.wr_cqe = NULL;
fs/smb/server/transport_rdma.c
1482
msg->wr.send_flags = 0;
fs/smb/server/transport_rdma.c
1489
last->wr.next = &msg->wr;
fs/smb/server/transport_rdma.c
1496
msg->wr.wr_cqe = &msg->cqe;
fs/smb/server/transport_rdma.c
1497
msg->wr.send_flags = IB_SEND_SIGNALED;
fs/smb/server/transport_rdma.c
1498
return smb_direct_post_send(sc, &msg->wr);
fs/smb/server/transport_rdma.c
868
struct ib_recv_wr wr;
fs/smb/server/transport_rdma.c
881
wr.wr_cqe = &recvmsg->cqe;
fs/smb/server/transport_rdma.c
882
wr.next = NULL;
fs/smb/server/transport_rdma.c
883
wr.sg_list = &recvmsg->sge;
fs/smb/server/transport_rdma.c
884
wr.num_sge = 1;
fs/smb/server/transport_rdma.c
886
ret = ib_post_recv(sc->ib.qp, &wr, NULL);
fs/ubifs/lpt.c
1889
int ubifs_lpt_init(struct ubifs_info *c, int rd, int wr)
fs/ubifs/lpt.c
1899
if (wr) {
fs/ubifs/lpt.c
1908
if (wr)
fs/ubifs/ubifs.h
1958
int ubifs_lpt_init(struct ubifs_info *c, int rd, int wr);
include/linux/hdlcdrv.h
164
ret = !((HDLCDRV_HDLCBUFFER - 1 + hb->rd - hb->wr) % HDLCDRV_HDLCBUFFER);
include/linux/hdlcdrv.h
177
ret = (hb->rd == hb->wr);
include/linux/hdlcdrv.h
191
if (hb->rd == hb->wr)
include/linux/hdlcdrv.h
211
newp = (hb->wr+1) % HDLCDRV_HDLCBUFFER;
include/linux/hdlcdrv.h
213
hb->buf[hb->wr] = val & 0xffff;
include/linux/hdlcdrv.h
214
hb->wr = newp;
include/linux/hdlcdrv.h
28
unsigned rd, wr;
include/linux/hdlcdrv.h
35
unsigned int wr;
include/linux/hdlcdrv.h
49
buf->buffer[buf->wr] = buf->shreg;
include/linux/hdlcdrv.h
50
buf->wr = (buf->wr+1) % sizeof(buf->buffer);
include/linux/hdlcdrv.h
58
buf->buffer[buf->wr] = bits & 0xff;
include/linux/hdlcdrv.h
59
buf->wr = (buf->wr+1) % sizeof(buf->buffer);
include/linux/hdlcdrv.h
60
buf->buffer[buf->wr] = (bits >> 8) & 0xff;
include/linux/hdlcdrv.h
61
buf->wr = (buf->wr+1) % sizeof(buf->buffer);
include/rdma/ib_verbs.h
1432
struct ib_send_wr wr;
include/rdma/ib_verbs.h
1437
static inline const struct ib_rdma_wr *rdma_wr(const struct ib_send_wr *wr)
include/rdma/ib_verbs.h
1439
return container_of(wr, struct ib_rdma_wr, wr);
include/rdma/ib_verbs.h
1443
struct ib_send_wr wr;
include/rdma/ib_verbs.h
1452
static inline const struct ib_atomic_wr *atomic_wr(const struct ib_send_wr *wr)
include/rdma/ib_verbs.h
1454
return container_of(wr, struct ib_atomic_wr, wr);
include/rdma/ib_verbs.h
1458
struct ib_send_wr wr;
include/rdma/ib_verbs.h
1469
static inline const struct ib_ud_wr *ud_wr(const struct ib_send_wr *wr)
include/rdma/ib_verbs.h
1471
return container_of(wr, struct ib_ud_wr, wr);
include/rdma/ib_verbs.h
1475
struct ib_send_wr wr;
include/rdma/ib_verbs.h
1481
static inline const struct ib_reg_wr *reg_wr(const struct ib_send_wr *wr)
include/rdma/ib_verbs.h
1483
return container_of(wr, struct ib_reg_wr, wr);
include/rdma/rdmavt_qp.h
158
struct ib_ud_wr wr;
include/rdma/rdmavt_qp.h
169
struct ib_send_wr wr; /* don't use wr.sg_list */
include/rdma/rdmavt_qp.h
215
return ibah_to_rvtah(swqe->ud_wr.wr.ah);
include/rdma/rdmavt_qp.h
235
return swqe->ud_wr.wr.remote_qpn;
include/rdma/rdmavt_qp.h
245
return swqe->ud_wr.wr.remote_qkey;
include/rdma/rdmavt_qp.h
255
return swqe->ud_wr.wr.pkey_index;
include/rdma/rdmavt_qp.h
591
for (i = 0; i < wqe->wr.num_sge; i++) {
include/rdma/rdmavt_qp.h
839
int flags = wqe->wr.send_flags;
include/rdma/rdmavt_qp.h
850
wr_id = wqe->wr.wr_id;
include/rdma/rw.h
26
struct ib_rdma_wr wr;
include/rdma/rw.h
39
struct ib_rdma_wr wr;
include/rdma/rw.h
46
struct ib_rdma_wr wr;
include/trace/events/ib_mad.h
108
TP_PROTO(struct ib_mad_send_wr_private *wr,
include/trace/events/ib_mad.h
110
TP_ARGS(wr, qp_info));
include/trace/events/ib_mad.h
112
TP_PROTO(struct ib_mad_send_wr_private *wr,
include/trace/events/ib_mad.h
114
TP_ARGS(wr, qp_info));
include/trace/events/ib_mad.h
116
TP_PROTO(struct ib_mad_send_wr_private *wr,
include/trace/events/ib_mad.h
118
TP_ARGS(wr, qp_info));
include/trace/events/ib_mad.h
121
TP_PROTO(struct ib_mad_send_wr_private *wr, struct ib_wc *wc),
include/trace/events/ib_mad.h
122
TP_ARGS(wr, wc),
include/trace/events/ib_mad.h
144
__entry->dev_index = wr->mad_agent_priv->agent.device->index;
include/trace/events/ib_mad.h
145
__entry->port_num = wr->mad_agent_priv->agent.port_num;
include/trace/events/ib_mad.h
146
__entry->qp_num = wr->mad_agent_priv->qp_info->qp->qp_num;
include/trace/events/ib_mad.h
147
__entry->agent_priv = wr->mad_agent_priv;
include/trace/events/ib_mad.h
148
__entry->wrtid = wr->tid;
include/trace/events/ib_mad.h
149
__entry->max_retries = wr->max_retries;
include/trace/events/ib_mad.h
150
__entry->retries_left = wr->retries_left;
include/trace/events/ib_mad.h
151
__entry->retry = wr->retry;
include/trace/events/ib_mad.h
152
__entry->timeout = wr->timeout;
include/trace/events/ib_mad.h
154
((struct ib_mad_hdr *)wr->send_buf.mad)->base_version;
include/trace/events/ib_mad.h
156
((struct ib_mad_hdr *)wr->send_buf.mad)->mgmt_class;
include/trace/events/ib_mad.h
158
((struct ib_mad_hdr *)wr->send_buf.mad)->class_version;
include/trace/events/ib_mad.h
160
((struct ib_mad_hdr *)wr->send_buf.mad)->method;
include/trace/events/ib_mad.h
162
((struct ib_mad_hdr *)wr->send_buf.mad)->status;
include/trace/events/ib_mad.h
24
TP_PROTO(struct ib_mad_send_wr_private *wr,
include/trace/events/ib_mad.h
26
TP_ARGS(wr, qp_info),
include/trace/events/ib_mad.h
55
__entry->dev_index = wr->mad_agent_priv->agent.device->index;
include/trace/events/ib_mad.h
56
__entry->port_num = wr->mad_agent_priv->agent.port_num;
include/trace/events/ib_mad.h
57
__entry->qp_num = wr->mad_agent_priv->qp_info->qp->qp_num;
include/trace/events/ib_mad.h
58
__entry->agent_priv = wr->mad_agent_priv;
include/trace/events/ib_mad.h
59
__entry->wrtid = wr->tid;
include/trace/events/ib_mad.h
60
__entry->max_retries = wr->max_retries;
include/trace/events/ib_mad.h
61
__entry->retries_left = wr->retries_left;
include/trace/events/ib_mad.h
62
__entry->retry = wr->retry;
include/trace/events/ib_mad.h
63
__entry->timeout = wr->timeout;
include/trace/events/ib_mad.h
64
__entry->length = wr->send_buf.hdr_len +
include/trace/events/ib_mad.h
65
wr->send_buf.data_len;
include/trace/events/ib_mad.h
67
((struct ib_mad_hdr *)wr->send_buf.mad)->base_version;
include/trace/events/ib_mad.h
69
((struct ib_mad_hdr *)wr->send_buf.mad)->mgmt_class;
include/trace/events/ib_mad.h
71
((struct ib_mad_hdr *)wr->send_buf.mad)->class_version;
include/trace/events/ib_mad.h
73
((struct ib_mad_hdr *)wr->send_buf.mad)->method;
include/trace/events/ib_mad.h
75
((struct ib_mad_hdr *)wr->send_buf.mad)->status;
include/trace/events/ib_mad.h
77
((struct ib_mad_hdr *)wr->send_buf.mad)->class_specific;
include/trace/events/ib_mad.h
78
__entry->tid = ((struct ib_mad_hdr *)wr->send_buf.mad)->tid;
include/trace/events/ib_mad.h
80
((struct ib_mad_hdr *)wr->send_buf.mad)->attr_id;
include/trace/events/ib_mad.h
82
((struct ib_mad_hdr *)wr->send_buf.mad)->attr_mod;
include/trace/events/ib_mad.h
83
create_mad_addr_info(wr, qp_info, __entry);
include/trace/events/rpcrdma.h
2011
const struct ib_send_wr *wr = &ctxt->sc_send_wr;
include/trace/events/rpcrdma.h
2015
__entry->num_sge = wr->num_sge;
include/trace/events/rpcrdma.h
2016
__entry->inv_rkey = (wr->opcode == IB_WR_SEND_WITH_INV) ?
include/trace/events/rpcrdma.h
2017
wr->ex.invalidate_rkey : 0;
include/uapi/rdma/ib_user_verbs.h
850
} wr;
include/uapi/rdma/rdma_user_rxe.h
132
} wr;
include/uapi/rdma/rdma_user_rxe.h
162
struct rxe_send_wr wr;
include/uapi/rdma/vmw_pvrdma-abi.h
285
} wr;
lib/decompress_unlzma.c
294
static inline size_t INIT get_pos(struct writer *wr)
lib/decompress_unlzma.c
297
wr->global_pos + wr->buffer_pos;
lib/decompress_unlzma.c
300
static inline uint8_t INIT peek_old_byte(struct writer *wr,
lib/decompress_unlzma.c
303
if (!wr->flush) {
lib/decompress_unlzma.c
305
while (offs > wr->header->dict_size)
lib/decompress_unlzma.c
306
offs -= wr->header->dict_size;
lib/decompress_unlzma.c
307
pos = wr->buffer_pos - offs;
lib/decompress_unlzma.c
308
return wr->buffer[pos];
lib/decompress_unlzma.c
310
uint32_t pos = wr->buffer_pos - offs;
lib/decompress_unlzma.c
311
while (pos >= wr->header->dict_size)
lib/decompress_unlzma.c
312
pos += wr->header->dict_size;
lib/decompress_unlzma.c
313
return wr->buffer[pos];
lib/decompress_unlzma.c
318
static inline int INIT write_byte(struct writer *wr, uint8_t byte)
lib/decompress_unlzma.c
320
wr->buffer[wr->buffer_pos++] = wr->previous_byte = byte;
lib/decompress_unlzma.c
321
if (wr->flush && wr->buffer_pos == wr->header->dict_size) {
lib/decompress_unlzma.c
322
wr->buffer_pos = 0;
lib/decompress_unlzma.c
323
wr->global_pos += wr->header->dict_size;
lib/decompress_unlzma.c
324
if (wr->flush((char *)wr->buffer, wr->header->dict_size)
lib/decompress_unlzma.c
325
!= wr->header->dict_size)
lib/decompress_unlzma.c
332
static inline int INIT copy_byte(struct writer *wr, uint32_t offs)
lib/decompress_unlzma.c
334
return write_byte(wr, peek_old_byte(wr, offs));
lib/decompress_unlzma.c
337
static inline int INIT copy_bytes(struct writer *wr,
lib/decompress_unlzma.c
341
if (copy_byte(wr, rep0))
lib/decompress_unlzma.c
344
} while (len != 0 && wr->buffer_pos < wr->header->dst_size);
lib/decompress_unlzma.c
349
static inline int INIT process_bit0(struct writer *wr, struct rc *rc,
lib/decompress_unlzma.c
357
* (((get_pos(wr) & literal_pos_mask) << lc)
lib/decompress_unlzma.c
358
+ (wr->previous_byte >> (8 - lc))))
lib/decompress_unlzma.c
362
int match_byte = peek_old_byte(wr, cst->rep0);
lib/decompress_unlzma.c
390
return write_byte(wr, mi);
lib/decompress_unlzma.c
393
static inline int INIT process_bit1(struct writer *wr, struct rc *rc,
lib/decompress_unlzma.c
424
return copy_byte(wr, cst->rep0);
lib/decompress_unlzma.c
527
if (cst->rep0 > wr->header->dict_size
lib/decompress_unlzma.c
528
|| cst->rep0 > get_pos(wr))
lib/decompress_unlzma.c
534
return copy_bytes(wr, cst->rep0, len);
lib/decompress_unlzma.c
555
struct writer wr;
lib/decompress_unlzma.c
574
wr.header = &header;
lib/decompress_unlzma.c
575
wr.flush = flush;
lib/decompress_unlzma.c
576
wr.global_pos = 0;
lib/decompress_unlzma.c
577
wr.previous_byte = 0;
lib/decompress_unlzma.c
578
wr.buffer_pos = 0;
lib/decompress_unlzma.c
615
wr.buffer = output;
lib/decompress_unlzma.c
617
wr.bufsize = MIN(header.dst_size, header.dict_size);
lib/decompress_unlzma.c
618
wr.buffer = large_malloc(wr.bufsize);
lib/decompress_unlzma.c
620
if (wr.buffer == NULL)
lib/decompress_unlzma.c
633
while (get_pos(&wr) < header.dst_size) {
lib/decompress_unlzma.c
634
int pos_state = get_pos(&wr) & pos_state_mask;
lib/decompress_unlzma.c
638
if (process_bit0(&wr, &rc, &cst, p, pos_state, prob,
lib/decompress_unlzma.c
644
if (process_bit1(&wr, &rc, &cst, p, pos_state, prob)) {
lib/decompress_unlzma.c
657
if (!wr.flush || wr.flush(wr.buffer, wr.buffer_pos) == wr.buffer_pos)
lib/decompress_unlzma.c
663
large_free(wr.buffer);
lib/test_bitmap.c
1005
bitmap_set(tmp, 0, wr);
lib/test_bitmap.c
781
unsigned int wr, bit;
lib/test_bitmap.c
792
for (wr = 0; wr < 500; wr++) {
lib/test_bitmap.c
795
for_each_set_bit_wrap(bit, orig, 500, wr)
lib/test_bitmap.c
828
unsigned int wr, bit;
lib/test_bitmap.c
839
for (wr = 0; wr < 500; wr++) {
lib/test_bitmap.c
843
bit = wr;
lib/test_bitmap.c
849
bitmap_clear(tmp, 0, wr);
lib/test_bitmap.c
880
unsigned int wr, bit;
lib/test_bitmap.c
891
for (wr = 0; wr < 500; wr++) {
lib/test_bitmap.c
895
bit = wr;
lib/test_bitmap.c
901
bitmap_set(tmp, 0, wr);
lib/test_bitmap.c
954
unsigned int wr, s, e;
lib/test_bitmap.c
965
for (wr = 0; wr < 500; wr++) {
lib/test_bitmap.c
969
s = wr;
lib/test_bitmap.c
975
bitmap_clear(tmp, 0, wr);
lib/test_bitmap.c
984
unsigned int wr, s, e;
lib/test_bitmap.c
995
for (wr = 0; wr < 500; wr++) {
lib/test_bitmap.c
999
s = wr;
net/9p/trans_fd.c
109
struct file *wr;
net/9p/trans_fd.c
203
if (ts->rd != ts->wr)
net/9p/trans_fd.c
204
ret = (ret & ~EPOLLOUT) | (vfs_poll(ts->wr, pt) & ~EPOLLIN);
net/9p/trans_fd.c
395
if (!(ts->wr->f_flags & O_NONBLOCK))
net/9p/trans_fd.c
398
ret = kernel_write(ts->wr, v, len, &ts->wr->f_pos);
net/9p/trans_fd.c
740
ts->wr = fget(wfd);
net/9p/trans_fd.c
741
if (!ts->wr)
net/9p/trans_fd.c
743
if (!(ts->wr->f_mode & FMODE_WRITE))
net/9p/trans_fd.c
745
data_race(ts->wr->f_flags |= O_NONBLOCK);
net/9p/trans_fd.c
753
fput(ts->wr);
net/9p/trans_fd.c
783
p->wr = p->rd = file;
net/9p/trans_fd.c
844
if (ts->wr)
net/9p/trans_fd.c
845
fput(ts->wr);
net/9p/trans_rdma.c
274
struct ib_recv_wr wr;
net/9p/trans_rdma.c
290
wr.next = NULL;
net/9p/trans_rdma.c
291
wr.wr_cqe = &c->cqe;
net/9p/trans_rdma.c
292
wr.sg_list = &sge;
net/9p/trans_rdma.c
293
wr.num_sge = 1;
net/9p/trans_rdma.c
295
ret = ib_post_recv(rdma->qp, &wr, NULL);
net/9p/trans_rdma.c
309
struct ib_send_wr wr;
net/9p/trans_rdma.c
387
wr.next = NULL;
net/9p/trans_rdma.c
388
wr.wr_cqe = &c->cqe;
net/9p/trans_rdma.c
389
wr.opcode = IB_WR_SEND;
net/9p/trans_rdma.c
390
wr.send_flags = IB_SEND_SIGNALED;
net/9p/trans_rdma.c
391
wr.sg_list = &sge;
net/9p/trans_rdma.c
392
wr.num_sge = 1;
net/9p/trans_rdma.c
404
err = ib_post_send(rdma->qp, &wr, NULL);
net/rds/ib_frmr.c
157
reg_wr.wr.wr_id = (unsigned long)(void *)ibmr;
net/rds/ib_frmr.c
158
reg_wr.wr.opcode = IB_WR_REG_MR;
net/rds/ib_frmr.c
159
reg_wr.wr.num_sge = 0;
net/rds/ib_frmr.c
165
reg_wr.wr.send_flags = IB_SEND_SIGNALED;
net/rds/ib_frmr.c
167
ret = ib_post_send(ibmr->ic->i_cm_id->qp, ®_wr.wr, NULL);
net/rds/ib_recv.c
577
struct ib_send_wr *wr = &ic->i_ack_wr;
net/rds/ib_recv.c
584
wr->sg_list = sge;
net/rds/ib_recv.c
585
wr->num_sge = 1;
net/rds/ib_recv.c
586
wr->opcode = IB_WR_SEND;
net/rds/ib_recv.c
587
wr->wr_id = RDS_IB_ACK_WR_ID;
net/rds/ib_recv.c
588
wr->send_flags = IB_SEND_SIGNALED | IB_SEND_SOLICITED;
net/rds/ib_send.c
1012
failed_wr = &first->s_rdma_wr.wr;
net/rds/ib_send.c
1013
ret = ib_post_send(ic->i_cm_id->qp, &first->s_rdma_wr.wr, &failed_wr);
net/rds/ib_send.c
1015
first, &first->s_rdma_wr.wr, ret, failed_wr);
net/rds/ib_send.c
1016
BUG_ON(failed_wr != &first->s_rdma_wr.wr);
net/rds/ib_send.c
1025
if (unlikely(failed_wr != &first->s_rdma_wr.wr)) {
net/rds/ib_send.c
1027
BUG_ON(failed_wr != &first->s_rdma_wr.wr);
net/rds/ib_send.c
814
send->s_atomic_wr.wr.opcode = IB_WR_MASKED_ATOMIC_CMP_AND_SWP;
net/rds/ib_send.c
820
send->s_atomic_wr.wr.opcode = IB_WR_MASKED_ATOMIC_FETCH_AND_ADD;
net/rds/ib_send.c
828
send->s_atomic_wr.wr.num_sge = 1;
net/rds/ib_send.c
829
send->s_atomic_wr.wr.next = NULL;
net/rds/ib_send.c
856
failed_wr = &send->s_atomic_wr.wr;
net/rds/ib_send.c
857
ret = ib_post_send(ic->i_cm_id->qp, &send->s_atomic_wr.wr, &failed_wr);
net/rds/ib_send.c
860
BUG_ON(failed_wr != &send->s_atomic_wr.wr);
net/rds/ib_send.c
869
if (unlikely(failed_wr != &send->s_atomic_wr.wr)) {
net/rds/ib_send.c
871
BUG_ON(failed_wr != &send->s_atomic_wr.wr);
net/rds/ib_send.c
957
send->s_rdma_wr.wr.num_sge = max_sge;
net/rds/ib_send.c
960
send->s_rdma_wr.wr.num_sge = num_sge;
net/rds/ib_send.c
963
send->s_rdma_wr.wr.next = NULL;
net/rds/ib_send.c
966
prev->s_rdma_wr.wr.next = &send->s_rdma_wr.wr;
net/rds/ib_send.c
968
for (j = 0; j < send->s_rdma_wr.wr.num_sge &&
net/rds/ib_send.c
989
&send->s_rdma_wr.wr,
net/rds/ib_send.c
990
send->s_rdma_wr.wr.num_sge,
net/rds/ib_send.c
991
send->s_rdma_wr.wr.next);
net/smc/smc_tx.c
324
rdma_wr->wr.wr_id = smc_wr_tx_get_next_wr_id(link);
net/smc/smc_tx.c
325
rdma_wr->wr.num_sge = num_sges;
net/smc/smc_tx.c
333
rc = ib_post_send(link->roce_qp, &rdma_wr->wr, NULL);
net/smc/smc_tx.c
373
struct ib_rdma_wr *wr = &wr_rdma_buf->wr_tx_rdma[dstchunk];
net/smc/smc_tx.c
374
struct ib_sge *sge = wr->wr.sg_list;
net/smc/smc_tx.c
379
wr->wr.send_flags |= IB_SEND_INLINE;
net/smc/smc_tx.c
381
wr->wr.send_flags &= ~IB_SEND_INLINE;
net/smc/smc_tx.c
404
rc = smc_tx_rdma_write(conn, dst_off, num_sges, wr);
net/smc/smc_wr.c
373
link->wr_reg.wr.wr_id = (u64)(uintptr_t)mr;
net/smc/smc_wr.c
376
rc = ib_post_send(link->roce_qp, &link->wr_reg.wr, NULL);
net/smc/smc_wr.c
582
lnk->wr_tx_rdmas[i].wr_tx_rdma[0].wr.opcode = IB_WR_RDMA_WRITE;
net/smc/smc_wr.c
583
lnk->wr_tx_rdmas[i].wr_tx_rdma[1].wr.opcode = IB_WR_RDMA_WRITE;
net/smc/smc_wr.c
584
lnk->wr_tx_rdmas[i].wr_tx_rdma[0].wr.sg_list =
net/smc/smc_wr.c
586
lnk->wr_tx_rdmas[i].wr_tx_rdma[1].wr.sg_list =
net/smc/smc_wr.c
629
lnk->wr_reg.wr.next = NULL;
net/smc/smc_wr.c
630
lnk->wr_reg.wr.num_sge = 0;
net/smc/smc_wr.c
631
lnk->wr_reg.wr.send_flags = IB_SEND_SIGNALED;
net/smc/smc_wr.c
632
lnk->wr_reg.wr.opcode = IB_WR_REG_MR;
net/sunrpc/xprtrdma/frwr_ops.c
398
mr->mr_regwr.wr.next = post_wr;
net/sunrpc/xprtrdma/frwr_ops.c
399
mr->mr_regwr.wr.wr_cqe = &mr->mr_cqe;
net/sunrpc/xprtrdma/frwr_ops.c
400
mr->mr_regwr.wr.num_sge = 0;
net/sunrpc/xprtrdma/frwr_ops.c
401
mr->mr_regwr.wr.opcode = IB_WR_REG_MR;
net/sunrpc/xprtrdma/frwr_ops.c
402
mr->mr_regwr.wr.send_flags = 0;
net/sunrpc/xprtrdma/frwr_ops.c
403
post_wr = &mr->mr_regwr.wr;
net/sunrpc/xprtrdma/frwr_ops.c
690
mr->mr_regwr.wr.next = NULL;
net/sunrpc/xprtrdma/frwr_ops.c
691
mr->mr_regwr.wr.wr_cqe = &mr->mr_cqe;
net/sunrpc/xprtrdma/frwr_ops.c
692
mr->mr_regwr.wr.num_sge = 0;
net/sunrpc/xprtrdma/frwr_ops.c
693
mr->mr_regwr.wr.opcode = IB_WR_REG_MR;
net/sunrpc/xprtrdma/frwr_ops.c
694
mr->mr_regwr.wr.send_flags = 0;
net/sunrpc/xprtrdma/frwr_ops.c
696
return ib_post_send(ep->re_id->qp, &mr->mr_regwr.wr, NULL);
net/sunrpc/xprtrdma/verbs.c
1352
struct ib_recv_wr *wr, *bad_wr;
net/sunrpc/xprtrdma/verbs.c
1368
wr = NULL;
net/sunrpc/xprtrdma/verbs.c
1382
rep->rr_recv_wr.next = wr;
net/sunrpc/xprtrdma/verbs.c
1383
wr = &rep->rr_recv_wr;
net/sunrpc/xprtrdma/verbs.c
1387
if (!wr)
net/sunrpc/xprtrdma/verbs.c
1390
rc = ib_post_recv(ep->re_id->qp, wr,
net/sunrpc/xprtrdma/verbs.c
1394
for (wr = bad_wr; wr;) {
net/sunrpc/xprtrdma/verbs.c
1397
rep = container_of(wr, struct rpcrdma_rep, rr_recv_wr);
net/sunrpc/xprtrdma/verbs.c
1398
wr = wr->next;
net/wireless/reg.c
2139
const struct ieee80211_regdomain *wr = get_wiphy_regdom(wiphy);
net/wireless/reg.c
2142
if (is_world_regdom(cr->alpha2) || (wr && is_world_regdom(wr->alpha2)))
sound/pci/ctxfi/cthardware.h
94
int (*src_set_wr)(void *blk, unsigned int wr);
sound/pci/ctxfi/cthw20k1.c
212
static int src_set_wr(void *blk, unsigned int wr)
sound/pci/ctxfi/cthw20k1.c
216
set_field(&ctl->ctl, SRCCTL_WR, wr);
sound/pci/ctxfi/cthw20k2.c
212
static int src_set_wr(void *blk, unsigned int wr)
sound/pci/ctxfi/cthw20k2.c
216
set_field(&ctl->ctl, SRCCTL_WR, wr);
sound/soc/codecs/wm_adsp.c
505
unsigned int out, rd, wr, vol;
sound/soc/codecs/wm_adsp.c
509
wr = SNDRV_CTL_ELEM_ACCESS_TLV_WRITE;
sound/soc/codecs/wm_adsp.c
515
wr = SNDRV_CTL_ELEM_ACCESS_WRITE;
sound/soc/codecs/wm_adsp.c
524
out |= wr;
sound/soc/codecs/wm_adsp.c
528
out |= rd | wr | vol;
sound/soc/uniphier/aio-core.c
19
static u64 rb_cnt(u64 wr, u64 rd, u64 len)
sound/soc/uniphier/aio-core.c
21
if (rd <= wr)
sound/soc/uniphier/aio-core.c
22
return wr - rd;
sound/soc/uniphier/aio-core.c
24
return len - (rd - wr);
sound/soc/uniphier/aio-core.c
27
static u64 rb_cnt_to_end(u64 wr, u64 rd, u64 len)
sound/soc/uniphier/aio-core.c
29
if (rd <= wr)
sound/soc/uniphier/aio-core.c
30
return wr - rd;
sound/soc/uniphier/aio-core.c
35
static u64 rb_space(u64 wr, u64 rd, u64 len)
sound/soc/uniphier/aio-core.c
37
if (rd <= wr)
sound/soc/uniphier/aio-core.c
38
return len - (wr - rd) - 8;
sound/soc/uniphier/aio-core.c
40
return rd - wr - 8;
sound/soc/uniphier/aio-core.c
43
static u64 rb_space_to_end(u64 wr, u64 rd, u64 len)
sound/soc/uniphier/aio-core.c
45
if (rd > wr)
sound/soc/uniphier/aio-core.c
46
return rd - wr - 8;
sound/soc/uniphier/aio-core.c
48
return len - wr;
sound/soc/uniphier/aio-core.c
50
return len - wr - 8;
tools/bpf/bpftool/json_writer.c
311
json_writer_t *wr = jsonw_new(stdout);
tools/bpf/bpftool/json_writer.c
313
jsonw_start_object(wr);
tools/bpf/bpftool/json_writer.c
314
jsonw_pretty(wr, true);
tools/bpf/bpftool/json_writer.c
315
jsonw_name(wr, "Vyatta");
tools/bpf/bpftool/json_writer.c
316
jsonw_start_object(wr);
tools/bpf/bpftool/json_writer.c
317
jsonw_string_field(wr, "url", "http://vyatta.com");
tools/bpf/bpftool/json_writer.c
318
jsonw_uint_field(wr, "downloads", 2000000ul);
tools/bpf/bpftool/json_writer.c
319
jsonw_float_field(wr, "stock", 8.16);
tools/bpf/bpftool/json_writer.c
321
jsonw_name(wr, "ARGV");
tools/bpf/bpftool/json_writer.c
322
jsonw_start_array(wr);
tools/bpf/bpftool/json_writer.c
324
jsonw_string(wr, *++argv);
tools/bpf/bpftool/json_writer.c
325
jsonw_end_array(wr);
tools/bpf/bpftool/json_writer.c
327
jsonw_name(wr, "empty");
tools/bpf/bpftool/json_writer.c
328
jsonw_start_array(wr);
tools/bpf/bpftool/json_writer.c
329
jsonw_end_array(wr);
tools/bpf/bpftool/json_writer.c
331
jsonw_name(wr, "NIL");
tools/bpf/bpftool/json_writer.c
332
jsonw_start_object(wr);
tools/bpf/bpftool/json_writer.c
333
jsonw_end_object(wr);
tools/bpf/bpftool/json_writer.c
335
jsonw_null_field(wr, "my_null");
tools/bpf/bpftool/json_writer.c
337
jsonw_name(wr, "special chars");
tools/bpf/bpftool/json_writer.c
338
jsonw_start_array(wr);
tools/bpf/bpftool/json_writer.c
339
jsonw_string_field(wr, "slash", "/");
tools/bpf/bpftool/json_writer.c
340
jsonw_string_field(wr, "newline", "\n");
tools/bpf/bpftool/json_writer.c
341
jsonw_string_field(wr, "tab", "\t");
tools/bpf/bpftool/json_writer.c
342
jsonw_string_field(wr, "ff", "\f");
tools/bpf/bpftool/json_writer.c
343
jsonw_string_field(wr, "quote", "\"");
tools/bpf/bpftool/json_writer.c
344
jsonw_string_field(wr, "tick", "\'");
tools/bpf/bpftool/json_writer.c
345
jsonw_string_field(wr, "backslash", "\\");
tools/bpf/bpftool/json_writer.c
346
jsonw_end_array(wr);
tools/bpf/bpftool/json_writer.c
348
jsonw_end_object(wr);
tools/bpf/bpftool/json_writer.c
350
jsonw_end_object(wr);
tools/bpf/bpftool/json_writer.c
351
jsonw_destroy(&wr);
tools/testing/selftests/bpf/json_writer.c
311
json_writer_t *wr = jsonw_new(stdout);
tools/testing/selftests/bpf/json_writer.c
313
jsonw_start_object(wr);
tools/testing/selftests/bpf/json_writer.c
314
jsonw_pretty(wr, true);
tools/testing/selftests/bpf/json_writer.c
315
jsonw_name(wr, "Vyatta");
tools/testing/selftests/bpf/json_writer.c
316
jsonw_start_object(wr);
tools/testing/selftests/bpf/json_writer.c
317
jsonw_string_field(wr, "url", "http://vyatta.com");
tools/testing/selftests/bpf/json_writer.c
318
jsonw_uint_field(wr, "downloads", 2000000ul);
tools/testing/selftests/bpf/json_writer.c
319
jsonw_float_field(wr, "stock", 8.16);
tools/testing/selftests/bpf/json_writer.c
321
jsonw_name(wr, "ARGV");
tools/testing/selftests/bpf/json_writer.c
322
jsonw_start_array(wr);
tools/testing/selftests/bpf/json_writer.c
324
jsonw_string(wr, *++argv);
tools/testing/selftests/bpf/json_writer.c
325
jsonw_end_array(wr);
tools/testing/selftests/bpf/json_writer.c
327
jsonw_name(wr, "empty");
tools/testing/selftests/bpf/json_writer.c
328
jsonw_start_array(wr);
tools/testing/selftests/bpf/json_writer.c
329
jsonw_end_array(wr);
tools/testing/selftests/bpf/json_writer.c
331
jsonw_name(wr, "NIL");
tools/testing/selftests/bpf/json_writer.c
332
jsonw_start_object(wr);
tools/testing/selftests/bpf/json_writer.c
333
jsonw_end_object(wr);
tools/testing/selftests/bpf/json_writer.c
335
jsonw_null_field(wr, "my_null");
tools/testing/selftests/bpf/json_writer.c
337
jsonw_name(wr, "special chars");
tools/testing/selftests/bpf/json_writer.c
338
jsonw_start_array(wr);
tools/testing/selftests/bpf/json_writer.c
339
jsonw_string_field(wr, "slash", "/");
tools/testing/selftests/bpf/json_writer.c
340
jsonw_string_field(wr, "newline", "\n");
tools/testing/selftests/bpf/json_writer.c
341
jsonw_string_field(wr, "tab", "\t");
tools/testing/selftests/bpf/json_writer.c
342
jsonw_string_field(wr, "ff", "\f");
tools/testing/selftests/bpf/json_writer.c
343
jsonw_string_field(wr, "quote", "\"");
tools/testing/selftests/bpf/json_writer.c
344
jsonw_string_field(wr, "tick", "\'");
tools/testing/selftests/bpf/json_writer.c
345
jsonw_string_field(wr, "backslash", "\\");
tools/testing/selftests/bpf/json_writer.c
346
jsonw_end_array(wr);
tools/testing/selftests/bpf/json_writer.c
348
jsonw_end_object(wr);
tools/testing/selftests/bpf/json_writer.c
350
jsonw_end_object(wr);
tools/testing/selftests/bpf/json_writer.c
351
jsonw_destroy(&wr);
tools/testing/selftests/breakpoints/breakpoint_test_arm64.c
112
static bool run_test(int wr_size, int wp_size, int wr, int wp)
tools/testing/selftests/breakpoints/breakpoint_test_arm64.c
125
child(wr_size, wr);
tools/testing/selftests/breakpoints/breakpoint_test_arm64.c
204
int wr, wp, size;
tools/testing/selftests/breakpoints/breakpoint_test_arm64.c
215
for (wr = 0; wr <= 32; wr = wr + size) {
tools/testing/selftests/breakpoints/breakpoint_test_arm64.c
216
for (wp = wr - size; wp <= wr + size; wp = wp + size) {
tools/testing/selftests/breakpoints/breakpoint_test_arm64.c
217
result = run_test(size, MIN(size, 8), wr, wp);
tools/testing/selftests/breakpoints/breakpoint_test_arm64.c
218
if ((result && wr == wp) ||
tools/testing/selftests/breakpoints/breakpoint_test_arm64.c
219
(!result && wr != wp))
tools/testing/selftests/breakpoints/breakpoint_test_arm64.c
222
size, wr, wp);
tools/testing/selftests/breakpoints/breakpoint_test_arm64.c
226
size, wr, wp);
tools/testing/selftests/breakpoints/breakpoint_test_arm64.c
33
static void child(int size, int wr)
tools/testing/selftests/breakpoints/breakpoint_test_arm64.c
35
volatile uint8_t *addr = &var[32 + wr];
tools/testing/selftests/net/tcp_mmap.c
592
int64_t wr = FILE_SZ - total;
tools/testing/selftests/net/tcp_mmap.c
594
if (wr > chunk_size - offset)
tools/testing/selftests/net/tcp_mmap.c
595
wr = chunk_size - offset;
tools/testing/selftests/net/tcp_mmap.c
597
wr = send(fd, buffer + offset,
tools/testing/selftests/net/tcp_mmap.c
598
(size_t)wr, zflg ? MSG_ZEROCOPY : 0);
tools/testing/selftests/net/tcp_mmap.c
599
if (wr <= 0)
tools/testing/selftests/net/tcp_mmap.c
602
EVP_DigestUpdate(ctx, buffer + offset, wr);
tools/testing/selftests/net/tcp_mmap.c
603
total += wr;
tools/testing/selftests/powerpc/nx-gzip/gunz_test.c
173
int wr)
tools/testing/selftests/powerpc/nx-gzip/gunz_test.c
199
nxu_touch_pages((void *)buf_addr, buf_len, page_sz, wr);
tools/testing/selftests/powerpc/nx-gzip/gunz_test.c
202
buf_sz), page_sz, wr);
tools/testing/selftests/powerpc/nx-gzip/gunz_test.c
230
nxu_touch_pages((void *)buf_addr, buf_len, page_sz, wr);
tools/testing/selftests/powerpc/nx-gzip/gunz_test.c
236
nxu_touch_pages((void *)buf_addr, buf_len, page_sz, wr);
tools/testing/selftests/powerpc/nx-gzip/gzip_vas.c
289
int nxu_touch_pages(void *buf, long buf_len, long page_len, int wr)
tools/testing/selftests/powerpc/nx-gzip/gzip_vas.c
298
(buf + buf_len), buf_len, wr));
tools/testing/selftests/powerpc/nx-gzip/gzip_vas.c
305
if (wr)
tools/testing/selftests/powerpc/nx-gzip/gzip_vas.c
312
if (wr)
tools/testing/selftests/powerpc/nx-gzip/include/nxu.h
576
extern int nxu_touch_pages(void *buf, long buf_len, long page_len, int wr);