Symbol: asid
arch/arc/include/asm/mmu-arcv2.h
82
static inline void mmu_setup_asid(struct mm_struct *mm, unsigned long asid)
arch/arc/include/asm/mmu-arcv2.h
84
write_aux_reg(ARC_REG_PID, asid | MMU_ENABLE);
arch/arc/include/asm/mmu.h
14
unsigned long asid[NR_CPUS]; /* 8 bit MMU PID + Generation cycle */
arch/arc/include/asm/mmu_context.h
49
#define asid_mm(mm, cpu) mm->context.asid[cpu]
arch/arc/kernel/asm-offsets.c
45
DEFINE(MM_CTXT_ASID, offsetof(mm_context_t, asid));
arch/arc/mm/tlb.c
548
unsigned int asid = hw_pid(vma->vm_mm, cpu);
arch/arc/mm/tlb.c
551
tlb_entry_erase(start | _PAGE_HW_SZ | asid);
arch/arm/include/asm/tlbflush.h
363
const int asid = ASID(mm);
arch/arm/include/asm/tlbflush.h
374
tlb_op(TLB_V6_U_ASID, "c8, c7, 2", asid);
arch/arm/include/asm/tlbflush.h
375
tlb_op(TLB_V6_D_ASID, "c8, c6, 2", asid);
arch/arm/include/asm/tlbflush.h
376
tlb_op(TLB_V6_I_ASID, "c8, c5, 2", asid);
arch/arm/include/asm/tlbflush.h
381
const int asid = ASID(mm);
arch/arm/include/asm/tlbflush.h
388
tlb_op(TLB_V7_UIS_ASID, "c8, c7, 2", asid);
arch/arm/mm/context.c
139
u64 asid;
arch/arm/mm/context.c
144
asid = atomic64_xchg(&per_cpu(active_asids, i), 0);
arch/arm/mm/context.c
152
if (asid == 0)
arch/arm/mm/context.c
153
asid = per_cpu(reserved_asids, i);
arch/arm/mm/context.c
154
__set_bit(asid & ~ASID_MASK, asid_map);
arch/arm/mm/context.c
155
per_cpu(reserved_asids, i) = asid;
arch/arm/mm/context.c
165
static bool check_update_reserved_asid(u64 asid, u64 newasid)
arch/arm/mm/context.c
180
if (per_cpu(reserved_asids, cpu) == asid) {
arch/arm/mm/context.c
192
u64 asid = atomic64_read(&mm->context.id);
arch/arm/mm/context.c
195
if (asid != 0) {
arch/arm/mm/context.c
196
u64 newasid = generation | (asid & ~ASID_MASK);
arch/arm/mm/context.c
202
if (check_update_reserved_asid(asid, newasid))
arch/arm/mm/context.c
209
asid &= ~ASID_MASK;
arch/arm/mm/context.c
210
if (!__test_and_set_bit(asid, asid_map))
arch/arm/mm/context.c
223
asid = find_next_zero_bit(asid_map, NUM_USER_ASIDS, cur_idx);
arch/arm/mm/context.c
224
if (asid == NUM_USER_ASIDS) {
arch/arm/mm/context.c
228
asid = find_next_zero_bit(asid_map, NUM_USER_ASIDS, 1);
arch/arm/mm/context.c
231
__set_bit(asid, asid_map);
arch/arm/mm/context.c
232
cur_idx = asid;
arch/arm/mm/context.c
234
return asid | generation;
arch/arm/mm/context.c
241
u64 asid;
arch/arm/mm/context.c
252
asid = atomic64_read(&mm->context.id);
arch/arm/mm/context.c
253
if (!((asid ^ atomic64_read(&asid_generation)) >> ASID_BITS)
arch/arm/mm/context.c
254
&& atomic64_xchg(&per_cpu(active_asids, cpu), asid))
arch/arm/mm/context.c
259
asid = atomic64_read(&mm->context.id);
arch/arm/mm/context.c
260
if ((asid ^ atomic64_read(&asid_generation)) >> ASID_BITS) {
arch/arm/mm/context.c
261
asid = new_context(mm, cpu);
arch/arm/mm/context.c
262
atomic64_set(&mm->context.id, asid);
arch/arm/mm/context.c
270
atomic64_set(&per_cpu(active_asids, cpu), asid);
arch/arm/mm/context.c
56
u64 context_id, asid;
arch/arm/mm/context.c
67
asid = per_cpu(active_asids, cpu).counter;
arch/arm/mm/context.c
68
if (asid == 0)
arch/arm/mm/context.c
69
asid = per_cpu(reserved_asids, cpu);
arch/arm/mm/context.c
70
if (context_id == asid)
arch/arm64/include/asm/kvm_nested.h
271
static inline u64 decode_range_tlbi(u64 val, u64 *range, u16 *asid)
arch/arm64/include/asm/kvm_nested.h
293
if (asid)
arch/arm64/include/asm/kvm_nested.h
294
*asid = FIELD_GET(TLBIR_ASID_MASK, val);
arch/arm64/include/asm/kvm_nested.h
367
u16 asid;
arch/arm64/include/asm/tlbflush.h
144
#define __TLBI_VADDR_RANGE(baddr, asid, scale, num, ttl) \
arch/arm64/include/asm/tlbflush.h
153
__ta |= FIELD_PREP(TLBIR_ASID_MASK, asid); \
arch/arm64/include/asm/tlbflush.h
308
unsigned long asid;
arch/arm64/include/asm/tlbflush.h
311
asid = __TLBI_VADDR(0, ASID(mm));
arch/arm64/include/asm/tlbflush.h
312
__tlbi(aside1is, asid);
arch/arm64/include/asm/tlbflush.h
313
__tlbi_user(aside1is, asid);
arch/arm64/include/asm/tlbflush.h
431
asid, tlb_level, tlbi_user, lpa2) \
arch/arm64/include/asm/tlbflush.h
444
addr = __TLBI_VADDR(__flush_start, asid); \
arch/arm64/include/asm/tlbflush.h
455
addr = __TLBI_VADDR_RANGE(__flush_start >> shift, asid, \
arch/arm64/include/asm/tlbflush.h
492
unsigned long asid, pages;
arch/arm64/include/asm/tlbflush.h
50
#define __TLBI_VADDR(addr, asid) \
arch/arm64/include/asm/tlbflush.h
504
asid = ASID(mm);
arch/arm64/include/asm/tlbflush.h
507
__flush_tlb_range_op(vale1is, start, pages, stride, asid,
arch/arm64/include/asm/tlbflush.h
510
__flush_tlb_range_op(vae1is, start, pages, stride, asid,
arch/arm64/include/asm/tlbflush.h
529
unsigned long asid;
arch/arm64/include/asm/tlbflush.h
534
asid = ASID(vma->vm_mm);
arch/arm64/include/asm/tlbflush.h
535
__flush_tlb_range_op(vale1, addr, CONT_PTES, PAGE_SIZE, asid,
arch/arm64/include/asm/tlbflush.h
54
__ta |= (unsigned long)(asid) << 48; \
arch/arm64/kvm/at.c
544
wr->asid = get_asid_by_regime(vcpu, wi->regime);
arch/arm64/kvm/nested.c
1046
scope->asid = FIELD_GET(TLBIR_ASID_MASK, val);
arch/arm64/kvm/nested.c
1055
scope->asid = FIELD_GET(TLBIR_ASID_MASK, val);
arch/arm64/kvm/nested.c
1100
scope->va = decode_range_tlbi(val, &scope->size, &scope->asid);
arch/arm64/kvm/nested.c
1369
return get_asid_by_regime(vcpu, TR_EL20) == vt->wr.asid;
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
866
u16 asid;
arch/arm64/kvm/nested.c
881
asid = FIELD_GET(TTBRx_EL1_ASID, vcpu_read_sys_reg(vcpu, ttbr_elx));
arch/arm64/kvm/nested.c
884
asid &= GENMASK(7, 0);
arch/arm64/kvm/nested.c
886
return asid;
arch/arm64/kvm/nested.c
944
u16 asid;
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/mm/context.c
101
#define asid_gen_match(asid) \
arch/arm64/mm/context.c
102
(!(((asid) ^ atomic64_read(&asid_generation)) >> asid_bits))
arch/arm64/mm/context.c
107
u64 asid;
arch/arm64/mm/context.c
113
asid = atomic64_xchg_relaxed(&per_cpu(active_asids, i), 0);
arch/arm64/mm/context.c
121
if (asid == 0)
arch/arm64/mm/context.c
122
asid = per_cpu(reserved_asids, i);
arch/arm64/mm/context.c
123
__set_bit(ctxid2asid(asid), asid_map);
arch/arm64/mm/context.c
124
per_cpu(reserved_asids, i) = asid;
arch/arm64/mm/context.c
134
static bool check_update_reserved_asid(u64 asid, u64 newasid)
arch/arm64/mm/context.c
149
if (per_cpu(reserved_asids, cpu) == asid) {
arch/arm64/mm/context.c
161
u64 asid = atomic64_read(&mm->context.id);
arch/arm64/mm/context.c
164
if (asid != 0) {
arch/arm64/mm/context.c
165
u64 newasid = asid2ctxid(ctxid2asid(asid), generation);
arch/arm64/mm/context.c
171
if (check_update_reserved_asid(asid, newasid))
arch/arm64/mm/context.c
186
if (!__test_and_set_bit(ctxid2asid(asid), asid_map))
arch/arm64/mm/context.c
197
asid = find_next_zero_bit(asid_map, NUM_USER_ASIDS, cur_idx);
arch/arm64/mm/context.c
198
if (asid != NUM_USER_ASIDS)
arch/arm64/mm/context.c
207
asid = find_next_zero_bit(asid_map, NUM_USER_ASIDS, 1);
arch/arm64/mm/context.c
210
__set_bit(asid, asid_map);
arch/arm64/mm/context.c
211
cur_idx = asid;
arch/arm64/mm/context.c
212
return asid2ctxid(asid, generation);
arch/arm64/mm/context.c
219
u64 asid, old_active_asid;
arch/arm64/mm/context.c
224
asid = atomic64_read(&mm->context.id);
arch/arm64/mm/context.c
241
if (old_active_asid && asid_gen_match(asid) &&
arch/arm64/mm/context.c
243
old_active_asid, asid))
arch/arm64/mm/context.c
248
asid = atomic64_read(&mm->context.id);
arch/arm64/mm/context.c
249
if (!asid_gen_match(asid)) {
arch/arm64/mm/context.c
250
asid = new_context(mm);
arch/arm64/mm/context.c
251
atomic64_set(&mm->context.id, asid);
arch/arm64/mm/context.c
258
atomic64_set(this_cpu_ptr(&active_asids), asid);
arch/arm64/mm/context.c
276
u64 asid;
arch/arm64/mm/context.c
283
asid = atomic64_read(&mm->context.id);
arch/arm64/mm/context.c
289
asid = 0;
arch/arm64/mm/context.c
293
if (!asid_gen_match(asid)) {
arch/arm64/mm/context.c
298
asid = new_context(mm);
arch/arm64/mm/context.c
299
atomic64_set(&mm->context.id, asid);
arch/arm64/mm/context.c
303
__set_bit(ctxid2asid(asid), pinned_asid_map);
arch/arm64/mm/context.c
309
asid = ctxid2asid(asid);
arch/arm64/mm/context.c
312
if (asid && arm64_kernel_unmapped_at_el0())
arch/arm64/mm/context.c
313
asid |= 1;
arch/arm64/mm/context.c
315
return asid;
arch/arm64/mm/context.c
322
u64 asid = atomic64_read(&mm->context.id);
arch/arm64/mm/context.c
330
__clear_bit(ctxid2asid(asid), pinned_asid_map);
arch/arm64/mm/context.c
352
unsigned long asid = ASID(mm);
arch/arm64/mm/context.c
356
if (system_supports_cnp() && asid)
arch/arm64/mm/context.c
361
ttbr0 |= FIELD_PREP(TTBR_ASID_MASK, asid);
arch/arm64/mm/context.c
365
ttbr1 |= FIELD_PREP(TTBR_ASID_MASK, asid);
arch/arm64/mm/context.c
38
#define ctxid2asid(asid) ((asid) & ~ASID_MASK)
arch/arm64/mm/context.c
39
#define asid2ctxid(asid, genid) ((asid) | (genid))
arch/arm64/mm/context.c
44
u32 asid;
arch/arm64/mm/context.c
54
asid = 8;
arch/arm64/mm/context.c
57
asid = 16;
arch/arm64/mm/context.c
60
return asid;
arch/arm64/mm/context.c
66
u32 asid = get_cpu_asid_bits();
arch/arm64/mm/context.c
68
if (asid < asid_bits) {
arch/arm64/mm/context.c
74
smp_processor_id(), asid, asid_bits);
arch/csky/abiv1/inc/abi/ckmmu.h
91
static inline void setup_pgd(pgd_t *pgd, int asid)
arch/csky/abiv1/inc/abi/ckmmu.h
94
write_mmu_entryhi(asid);
arch/csky/abiv2/inc/abi/ckmmu.h
114
static inline void setup_pgd(pgd_t *pgd, int asid)
arch/csky/abiv2/inc/abi/ckmmu.h
131
:"r"(asid), "r"(__pa(pgd) | BIT(0))
arch/csky/include/asm/asid.h
46
u64 asid, old_active_asid;
arch/csky/include/asm/asid.h
48
asid = atomic64_read(pasid);
arch/csky/include/asm/asid.h
66
!((asid ^ atomic64_read(&info->generation)) >> info->bits) &&
arch/csky/include/asm/asid.h
68
old_active_asid, asid))
arch/csky/include/asm/mmu.h
7
atomic64_t asid;
arch/csky/include/asm/mmu_context.h
17
#define cpu_asid(mm) (atomic64_read(&mm->context.asid) & ASID_MASK)
arch/csky/include/asm/mmu_context.h
19
#define init_new_context(tsk,mm) ({ atomic64_set(&(mm)->context.asid, 0); 0; })
arch/csky/include/asm/mmu_context.h
32
setup_pgd(next->pgd, next->context.asid.counter);
arch/csky/mm/asid.c
100
if (!__test_and_set_bit(asid2idx(info, asid), info->map))
arch/csky/mm/asid.c
111
asid = find_next_zero_bit(info->map, NUM_CTXT_ASIDS(info), cur_idx);
arch/csky/mm/asid.c
112
if (asid != NUM_CTXT_ASIDS(info))
arch/csky/mm/asid.c
121
asid = find_next_zero_bit(info->map, NUM_CTXT_ASIDS(info), 1);
arch/csky/mm/asid.c
124
__set_bit(asid, info->map);
arch/csky/mm/asid.c
125
cur_idx = asid;
arch/csky/mm/asid.c
127
return idx2asid(info, asid) | generation;
arch/csky/mm/asid.c
141
u64 asid;
arch/csky/mm/asid.c
145
asid = atomic64_read(pasid);
arch/csky/mm/asid.c
146
if ((asid ^ atomic64_read(&info->generation)) >> info->bits) {
arch/csky/mm/asid.c
147
asid = new_context(info, pasid, mm);
arch/csky/mm/asid.c
148
atomic64_set(pasid, asid);
arch/csky/mm/asid.c
154
atomic64_set(&active_asid(info, cpu), asid);
arch/csky/mm/asid.c
21
#define asid2idx(info, asid) (((asid) & ~ASID_MASK(info)) >> (info)->ctxt_shift)
arch/csky/mm/asid.c
27
u64 asid;
arch/csky/mm/asid.c
33
asid = atomic64_xchg_relaxed(&active_asid(info, i), 0);
arch/csky/mm/asid.c
41
if (asid == 0)
arch/csky/mm/asid.c
42
asid = reserved_asid(info, i);
arch/csky/mm/asid.c
43
__set_bit(asid2idx(info, asid), info->map);
arch/csky/mm/asid.c
44
reserved_asid(info, i) = asid;
arch/csky/mm/asid.c
54
static bool check_update_reserved_asid(struct asid_info *info, u64 asid,
arch/csky/mm/asid.c
70
if (reserved_asid(info, cpu) == asid) {
arch/csky/mm/asid.c
83
u64 asid = atomic64_read(pasid);
arch/csky/mm/asid.c
86
if (asid != 0) {
arch/csky/mm/asid.c
87
u64 newasid = generation | (asid & ~ASID_MASK(info));
arch/csky/mm/asid.c
93
if (check_update_reserved_asid(info, asid, newasid))
arch/csky/mm/context.c
21
asid_check_context(&asid_info, &mm->context.asid, cpu, mm);
arch/loongarch/include/asm/mmu.h
12
u64 asid[NR_CPUS];
arch/loongarch/include/asm/mmu_context.h
143
int asid;
arch/loongarch/include/asm/mmu_context.h
148
asid = read_csr_asid() & cpu_asid_mask(&current_cpu_data);
arch/loongarch/include/asm/mmu_context.h
150
if (asid == cpu_asid(cpu, mm)) {
arch/loongarch/include/asm/mmu_context.h
34
#define cpu_context(cpu, mm) ((mm)->context.asid[cpu])
arch/loongarch/include/asm/mmu_context.h
54
u64 asid = asid_cache(cpu);
arch/loongarch/include/asm/mmu_context.h
56
if (!((++asid) & cpu_asid_mask(&cpu_data[cpu])))
arch/loongarch/include/asm/mmu_context.h
59
cpu_context(cpu, mm) = asid_cache(cpu) = asid;
arch/loongarch/include/asm/mmu_context.h
77
static inline void atomic_update_pgd_asid(unsigned long asid, unsigned long pgdl)
arch/loongarch/include/asm/mmu_context.h
82
: [asid_val] "+r" (asid), [pgdl_val] "+r" (pgdl)
arch/loongarch/lib/dump_tlb.c
30
unsigned long s_entryhi, entryhi, asid;
arch/loongarch/lib/dump_tlb.c
52
asid = read_csr_asid();
arch/loongarch/lib/dump_tlb.c
61
asid != s_asid)
arch/loongarch/lib/dump_tlb.c
73
vwidth, (entryhi & ~0x1fffUL), asidwidth, asid & asidmask);
arch/loongarch/mm/tlb.c
73
int asid = cpu_asid(cpu, mm);
arch/loongarch/mm/tlb.c
76
invtlb(INVTLB_ADDR_GFALSE_AND_ASID, asid, start);
arch/m68k/include/asm/mmu_context.h
146
asid = mm->context & 0xff;
arch/m68k/include/asm/mmu_context.h
150
mmu_write(MMUTR, (mmuar & PAGE_MASK) | (asid << MMUTR_IDN) |
arch/m68k/include/asm/mmu_context.h
97
int asid;
arch/m68k/mm/mcfmmu.c
126
asid = mm->context & 0xff;
arch/m68k/mm/mcfmmu.c
130
mmutr = (mmuar & PAGE_MASK) | (asid << MMUTR_IDN) | MMUTR_V;
arch/m68k/mm/mcfmmu.c
87
int asid;
arch/mips/dec/kn01-berr.c
109
asid = read_c0_entryhi();
arch/mips/dec/kn01-berr.c
110
entryhi = asid & (PAGE_SIZE - 1);
arch/mips/dec/kn01-berr.c
118
write_c0_entryhi(asid);
arch/mips/dec/kn01-berr.c
79
long asid, entryhi, vaddr;
arch/mips/include/asm/mmu.h
11
u64 asid[NR_CPUS];
arch/mips/include/asm/mmu_context.h
111
return mm->context.asid[cpu];
arch/mips/include/asm/mmu_context.h
120
mm->context.asid[cpu] = ctx;
arch/mips/kvm/entry.c
309
offsetof(struct kvm, arch.gpa_mm.context.asid));
arch/mips/lib/dump_tlb.c
131
if (!((entrylo0 | entrylo1) & ENTRYLO_G) && (mmid != asid))
arch/mips/lib/dump_tlb.c
68
unsigned long s_entryhi, entryhi, asid, mmid;
arch/mips/lib/dump_tlb.c
90
asid = s_mmid = read_c0_memorymapid();
arch/mips/lib/dump_tlb.c
92
asid = s_entryhi & asidmask;
arch/mips/lib/r3k_dump_tlb.c
27
unsigned int asid;
arch/mips/lib/r3k_dump_tlb.c
31
asid = read_c0_entryhi() & asid_mask;
arch/mips/lib/r3k_dump_tlb.c
46
(entryhi & asid_mask) == asid)) {
arch/mips/lib/r3k_dump_tlb.c
65
write_c0_entryhi(asid);
arch/mips/mm/context.c
24
u64 asid;
arch/mips/mm/context.c
34
asid = asid_cache(cpu);
arch/mips/mm/context.c
36
if (!((asid += cpu_asid_inc()) & cpu_asid_mask(&cpu_data[cpu]))) {
arch/mips/mm/context.c
42
set_cpu_context(cpu, mm, asid);
arch/mips/mm/context.c
43
asid_cache(cpu) = asid;
arch/mips/mm/tlb-r4k.c
538
unsigned long long asid:10;
arch/mips/mm/tlb-r4k.c
569
else if (ea.asid < eb.asid)
arch/mips/mm/tlb-r4k.c
571
else if (ea.asid > eb.asid)
arch/mips/mm/tlb-r4k.c
597
unsigned long long entryhi, vpn, mask, asid;
arch/mips/mm/tlb-r4k.c
609
asid = entryhi & cpu_asid_mask(&current_cpu_data);
arch/mips/mm/tlb-r4k.c
614
tlb_vpns[i].asid = global ? 0 : asid;
arch/mips/mm/tlb-r4k.c
644
unsigned long long asid, vpn, vpn_size, pagesz;
arch/mips/mm/tlb-r4k.c
654
asid = 0;
arch/mips/mm/tlb-r4k.c
678
asid = 0;
arch/mips/mm/tlb-r4k.c
687
asid = 0;
arch/mips/mm/tlb-r4k.c
693
asid == tlb_vpns[idx].asid) {
arch/mips/mm/tlb-r4k.c
702
asid == tlb_vpns[idx].asid);
arch/mips/mm/tlb-r4k.c
703
asid++;
arch/mips/mm/tlb-r4k.c
704
if (asid > cpu_asid_mask(&current_cpu_data)) {
arch/mips/mm/tlb-r4k.c
706
asid = 0;
arch/mips/mm/tlb-r4k.c
716
asid = 0;
arch/mips/mm/tlb-r4k.c
723
entryhi = (vpn << VPN2_SHIFT) | asid;
arch/mips/mm/tlb-r4k.c
729
tlb_vpns[i].asid = asid;
arch/mips/mm/tlb-r4k.c
733
asid++;
arch/mips/mm/tlb-r4k.c
734
if (asid > cpu_asid_mask(&current_cpu_data)) {
arch/mips/mm/tlb-r4k.c
736
asid = 0;
arch/riscv/include/asm/errata_list.h
30
#define ALT_SFENCE_VMA_ASID(asid) \
arch/riscv/include/asm/errata_list.h
33
: : "r" (asid) : "memory")
arch/riscv/include/asm/errata_list.h
40
#define ALT_SFENCE_VMA_ADDR_ASID(addr, asid) \
arch/riscv/include/asm/errata_list.h
43
: : "r" (addr), "r" (asid) : "memory")
arch/riscv/include/asm/insn-def.h
187
#define HFENCE_VVMA(vaddr, asid) \
arch/riscv/include/asm/insn-def.h
189
__RD(0), RS1(vaddr), RS2(asid))
arch/riscv/include/asm/insn-def.h
290
#define SINVAL_VMA(vaddr, asid) \
arch/riscv/include/asm/insn-def.h
292
__RD(0), RS1(vaddr), RS2(asid))
arch/riscv/include/asm/insn-def.h
302
#define HINVAL_VVMA(vaddr, asid) \
arch/riscv/include/asm/insn-def.h
304
__RD(0), RS1(vaddr), RS2(asid))
arch/riscv/include/asm/kvm_tlb.h
23
unsigned long asid;
arch/riscv/include/asm/kvm_tlb.h
42
unsigned long asid,
arch/riscv/include/asm/kvm_tlb.h
47
unsigned long asid);
arch/riscv/include/asm/kvm_tlb.h
72
unsigned long order, unsigned long asid,
arch/riscv/include/asm/kvm_tlb.h
76
unsigned long asid, unsigned long vmid);
arch/riscv/include/asm/sbi.h
593
unsigned long asid);
arch/riscv/include/asm/sbi.h
607
unsigned long asid);
arch/riscv/include/asm/tlbflush.h
23
static inline void local_flush_tlb_all_asid(unsigned long asid)
arch/riscv/include/asm/tlbflush.h
25
if (asid != FLUSH_TLB_NO_ASID)
arch/riscv/include/asm/tlbflush.h
26
ALT_SFENCE_VMA_ASID(asid);
arch/riscv/include/asm/tlbflush.h
38
unsigned long asid)
arch/riscv/include/asm/tlbflush.h
40
if (asid != FLUSH_TLB_NO_ASID)
arch/riscv/include/asm/tlbflush.h
41
ALT_SFENCE_VMA_ADDR_ASID(addr, asid);
arch/riscv/kernel/sbi.c
421
unsigned long asid)
arch/riscv/kernel/sbi.c
423
if (asid == FLUSH_TLB_NO_ASID)
arch/riscv/kernel/sbi.c
428
cpu_mask, start, size, asid, 0);
arch/riscv/kernel/sbi.c
504
unsigned long asid)
arch/riscv/kernel/sbi.c
507
cpu_mask, start, size, asid, 0);
arch/riscv/kvm/tlb.c
104
: : "r" (pos), "r" (asid) : "memory");
arch/riscv/kvm/tlb.c
111
unsigned long asid)
arch/riscv/kvm/tlb.c
117
asm volatile(HFENCE_VVMA(zero, %0) : : "r" (asid) : "memory");
arch/riscv/kvm/tlb.c
293
nacl_hfence_vvma_asid(nacl_shmem(), d.vmid, d.asid,
arch/riscv/kvm/tlb.c
296
kvm_riscv_local_hfence_vvma_asid_gva(d.vmid, d.asid, d.addr,
arch/riscv/kvm/tlb.c
302
nacl_hfence_vvma_asid_all(nacl_shmem(), d.vmid, d.asid);
arch/riscv/kvm/tlb.c
304
kvm_riscv_local_hfence_vvma_asid_all(d.vmid, d.asid);
arch/riscv/kvm/tlb.c
379
data.asid = 0;
arch/riscv/kvm/tlb.c
403
unsigned long order, unsigned long asid,
arch/riscv/kvm/tlb.c
409
data.asid = asid;
arch/riscv/kvm/tlb.c
420
unsigned long asid, unsigned long vmid)
arch/riscv/kvm/tlb.c
425
data.asid = asid;
arch/riscv/kvm/tlb.c
439
data.asid = 0;
arch/riscv/kvm/tlb.c
81
unsigned long asid,
arch/riscv/kvm/tlb.c
89
kvm_riscv_local_hfence_vvma_asid_all(vmid, asid);
arch/riscv/kvm/tlb.c
99
: : "r" (pos), "r" (asid) : "memory");
arch/riscv/mm/context.c
125
asid = find_next_zero_bit(context_asid_map, num_asids, cur_idx);
arch/riscv/mm/context.c
126
if (asid != num_asids)
arch/riscv/mm/context.c
136
asid = find_next_zero_bit(context_asid_map, num_asids, 1);
arch/riscv/mm/context.c
139
__set_bit(asid, context_asid_map);
arch/riscv/mm/context.c
140
cur_idx = asid;
arch/riscv/mm/context.c
141
return asid | ver;
arch/riscv/mm/context.c
98
unsigned long asid, ver = atomic_long_read(&current_version);
arch/riscv/mm/tlbflush.c
100
unsigned long asid;
arch/riscv/mm/tlbflush.c
110
local_flush_tlb_range_asid(d->start, d->size, d->stride, d->asid);
arch/riscv/mm/tlbflush.c
123
unsigned long asid = get_mm_asid(mm);
arch/riscv/mm/tlbflush.c
133
local_flush_tlb_range_asid(start, size, stride, asid);
arch/riscv/mm/tlbflush.c
135
sbi_remote_sfence_vma_asid(cmask, start, size, asid);
arch/riscv/mm/tlbflush.c
139
ftd.asid = asid;
arch/riscv/mm/tlbflush.c
24
static inline void local_sinval_vma(unsigned long vma, unsigned long asid)
arch/riscv/mm/tlbflush.c
26
if (asid != FLUSH_TLB_NO_ASID)
arch/riscv/mm/tlbflush.c
27
asm volatile(SINVAL_VMA(%0, %1) : : "r" (vma), "r" (asid) : "memory");
arch/riscv/mm/tlbflush.c
41
unsigned long asid)
arch/riscv/mm/tlbflush.c
47
local_flush_tlb_all_asid(asid);
arch/riscv/mm/tlbflush.c
54
local_sinval_vma(start, asid);
arch/riscv/mm/tlbflush.c
62
local_flush_tlb_page_asid(start, asid);
arch/riscv/mm/tlbflush.c
68
unsigned long size, unsigned long stride, unsigned long asid)
arch/riscv/mm/tlbflush.c
71
local_flush_tlb_page_asid(start, asid);
arch/riscv/mm/tlbflush.c
73
local_flush_tlb_all_asid(asid);
arch/riscv/mm/tlbflush.c
75
local_flush_tlb_range_threshold_asid(start, size, stride, asid);
arch/sh/include/asm/mmu_context.h
128
#define set_asid(asid) do { } while (0)
arch/sh/include/asm/mmu_context.h
131
#define switch_and_save_asid(asid) (0)
arch/sh/include/asm/mmu_context.h
57
unsigned long asid = asid_cache(cpu);
arch/sh/include/asm/mmu_context.h
60
if (((cpu_context(cpu, mm) ^ asid) & MMU_CONTEXT_VERSION_MASK) == 0)
arch/sh/include/asm/mmu_context.h
65
if (!(++asid & MMU_CONTEXT_ASID_MASK)) {
arch/sh/include/asm/mmu_context.h
76
if (!asid)
arch/sh/include/asm/mmu_context.h
77
asid = MMU_CONTEXT_FIRST_VERSION;
arch/sh/include/asm/mmu_context.h
80
cpu_context(cpu, mm) = asid_cache(cpu) = asid;
arch/sh/include/asm/mmu_context_32.h
16
static inline void set_asid(unsigned long asid)
arch/sh/include/asm/mmu_context_32.h
25
: "r" (asid), "m" (__m(MMU_PTEH)),
arch/sh/include/asm/mmu_context_32.h
31
unsigned long asid;
arch/sh/include/asm/mmu_context_32.h
34
: "=r" (asid)
arch/sh/include/asm/mmu_context_32.h
36
asid &= MMU_CONTEXT_ASID_MASK;
arch/sh/include/asm/mmu_context_32.h
37
return asid;
arch/sh/include/asm/mmu_context_32.h
6
static inline void set_asid(unsigned long asid)
arch/sh/include/asm/mmu_context_32.h
8
__raw_writel(asid, MMU_PTEAEX);
arch/sh/include/asm/tlbflush.h
23
extern void local_flush_tlb_one(unsigned long asid, unsigned long page);
arch/sh/include/asm/tlbflush.h
35
extern void flush_tlb_one(unsigned long asid, unsigned long page);
arch/sh/include/asm/tlbflush.h
42
#define flush_tlb_one(asid, page) local_flush_tlb_one(asid, page)
arch/sh/kernel/smp.c
464
void flush_tlb_one(unsigned long asid, unsigned long vaddr)
arch/sh/kernel/smp.c
468
fd.addr1 = asid;
arch/sh/kernel/smp.c
472
local_flush_tlb_one(asid, vaddr);
arch/sh/mm/nommu.c
60
void local_flush_tlb_one(unsigned long asid, unsigned long page)
arch/sh/mm/tlb-debugfs.c
107
asid = val & MMU_CONTEXT_ASID_MASK;
arch/sh/mm/tlb-debugfs.c
126
entry, vpn, ppn, asid,
arch/sh/mm/tlb-debugfs.c
94
unsigned long vpn, ppn, asid, size;
arch/sh/mm/tlb-pteaex.c
70
void local_flush_tlb_one(unsigned long asid, unsigned long page)
arch/sh/mm/tlb-pteaex.c
74
__raw_writel(asid, MMU_UTLB_ADDRESS_ARRAY2 | MMU_PAGE_ASSOC_BIT);
arch/sh/mm/tlb-pteaex.c
76
__raw_writel(asid, MMU_ITLB_ADDRESS_ARRAY2 | MMU_PAGE_ASSOC_BIT);
arch/sh/mm/tlb-sh3.c
55
void local_flush_tlb_one(unsigned long asid, unsigned long page)
arch/sh/mm/tlb-sh3.c
67
data = (page & 0xfffe0000) | asid; /* VALID bit is off */
arch/sh/mm/tlb-sh4.c
65
void local_flush_tlb_one(unsigned long asid, unsigned long page)
arch/sh/mm/tlb-sh4.c
76
data = page | asid; /* VALID bit is off */
arch/sh/mm/tlbflush_32.c
21
unsigned long asid;
arch/sh/mm/tlbflush_32.c
24
asid = cpu_asid(cpu, vma->vm_mm);
arch/sh/mm/tlbflush_32.c
30
set_asid(asid);
arch/sh/mm/tlbflush_32.c
32
local_flush_tlb_one(asid, page);
arch/sh/mm/tlbflush_32.c
56
unsigned long asid;
arch/sh/mm/tlbflush_32.c
59
asid = cpu_asid(cpu, mm);
arch/sh/mm/tlbflush_32.c
65
set_asid(asid);
arch/sh/mm/tlbflush_32.c
68
local_flush_tlb_one(asid, start);
arch/sh/mm/tlbflush_32.c
89
unsigned long asid;
arch/sh/mm/tlbflush_32.c
92
asid = cpu_asid(cpu, &init_mm);
arch/sh/mm/tlbflush_32.c
96
set_asid(asid);
arch/sh/mm/tlbflush_32.c
98
local_flush_tlb_one(asid, start);
arch/x86/include/asm/sev.h
141
u32 asid;
arch/x86/include/asm/sev.h
655
int rmp_make_private(u64 pfn, u64 gpa, enum pg_level level, u32 asid, bool immutable);
arch/x86/include/asm/sev.h
670
static inline int rmp_make_private(u64 pfn, u64 gpa, enum pg_level level, u32 asid,
arch/x86/include/asm/svm.h
132
u32 asid;
arch/x86/include/asm/tlb.h
116
static inline void __invlpgb(unsigned long asid, unsigned long pcid,
arch/x86/include/asm/tlb.h
119
static inline void __invlpgb_all(unsigned long asid, unsigned long pcid, u8 flags) { }
arch/x86/include/asm/tlb.h
81
static inline void __invlpgb(unsigned long asid, unsigned long pcid,
arch/x86/include/asm/tlb.h
87
u32 edx = (pcid << 16) | asid;
arch/x86/include/asm/tlb.h
96
static inline void __invlpgb_all(unsigned long asid, unsigned long pcid, u8 flags)
arch/x86/include/asm/tlb.h
98
__invlpgb(asid, pcid, 0, 1, 0, flags);
arch/x86/include/asm/tlbflush.h
238
static inline bool is_dyn_asid(u16 asid)
arch/x86/include/asm/tlbflush.h
240
return asid < TLB_NR_DYN_ASIDS;
arch/x86/include/asm/tlbflush.h
243
static inline bool is_global_asid(u16 asid)
arch/x86/include/asm/tlbflush.h
245
return !is_dyn_asid(asid);
arch/x86/include/asm/tlbflush.h
251
u16 asid;
arch/x86/include/asm/tlbflush.h
256
asid = smp_load_acquire(&mm->context.global_asid);
arch/x86/include/asm/tlbflush.h
259
VM_WARN_ON_ONCE(asid && is_dyn_asid(asid));
arch/x86/include/asm/tlbflush.h
261
return asid;
arch/x86/include/asm/tlbflush.h
272
static inline void mm_assign_global_asid(struct mm_struct *mm, u16 asid)
arch/x86/include/asm/tlbflush.h
280
smp_store_release(&mm->context.global_asid, asid);
arch/x86/include/asm/tlbflush.h
301
static inline void mm_assign_global_asid(struct mm_struct *mm, u16 asid) { }
arch/x86/kvm/svm/nested.c
1721
dst->asid = from->asid;
arch/x86/kvm/svm/nested.c
348
if (CC(control->asid == 0))
arch/x86/kvm/svm/nested.c
482
to->asid = from->asid;
arch/x86/kvm/svm/sev.c
124
unsigned int asid;
arch/x86/kvm/svm/sev.c
127
asid = find_next_bit(sev_reclaim_asid_bitmap, nr_asids, min_asid);
arch/x86/kvm/svm/sev.c
128
if (asid > max_asid)
arch/x86/kvm/svm/sev.c
1974
dst->asid = src->asid;
arch/x86/kvm/svm/sev.c
1981
src->asid = 0;
arch/x86/kvm/svm/sev.c
207
unsigned int min_asid, max_asid, asid;
arch/x86/kvm/svm/sev.c
2204
data.asid = sev_get_asid(kvm);
arch/x86/kvm/svm/sev.c
244
asid = find_next_zero_bit(sev_asid_bitmap, max_asid + 1, min_asid);
arch/x86/kvm/svm/sev.c
245
if (asid > max_asid) {
arch/x86/kvm/svm/sev.c
2462
ret = rmp_make_private(pfn, INITIAL_VMSA_GPA, PG_LEVEL_4K, sev->asid, true);
arch/x86/kvm/svm/sev.c
255
__set_bit(asid, sev_asid_bitmap);
arch/x86/kvm/svm/sev.c
259
sev->asid = asid;
arch/x86/kvm/svm/sev.c
270
return to_kvm_sev_info(kvm)->asid;
arch/x86/kvm/svm/sev.c
280
__set_bit(sev->asid, sev_reclaim_asid_bitmap);
arch/x86/kvm/svm/sev.c
284
sd->sev_vmcbs[sev->asid] = NULL;
arch/x86/kvm/svm/sev.c
2856
mirror_sev->asid = source_sev->asid;
arch/x86/kvm/svm/sev.c
3207
unsigned int asid = sev_get_asid(vcpu->kvm);
arch/x86/kvm/svm/sev.c
3232
if (WARN_ON_ONCE(wrmsrq_safe(MSR_AMD64_VM_PAGE_FLUSH, addr | asid)))
arch/x86/kvm/svm/sev.c
3563
unsigned int asid = sev_get_asid(kvm);
arch/x86/kvm/svm/sev.c
3583
svm->asid = asid;
arch/x86/kvm/svm/sev.c
3591
if (sd->sev_vmcbs[asid] == svm->vmcb &&
arch/x86/kvm/svm/sev.c
3595
sd->sev_vmcbs[asid] = svm->vmcb;
arch/x86/kvm/svm/sev.c
5021
rc = rmp_make_private(pfn_aligned, gfn_to_gpa(gfn_aligned), level, sev->asid, false);
arch/x86/kvm/svm/sev.c
523
sev->asid = 0;
arch/x86/kvm/svm/sev.c
574
unsigned int asid = sev_get_asid(kvm);
arch/x86/kvm/svm/sev.c
580
activate.asid = asid;
arch/x86/kvm/svm/svm.c
1174
svm->asid = 0;
arch/x86/kvm/svm/svm.c
1854
svm->asid = sd->next_asid++;
arch/x86/kvm/svm/svm.c
2367
u32 asid = kvm_rcx_read(vcpu);
arch/x86/kvm/svm/svm.c
2373
trace_kvm_invlpga(to_svm(vcpu)->vmcb->save.rip, asid, gva);
arch/x86/kvm/svm/svm.c
3346
pr_err("%-20s%d\n", "asid:", control->asid);
arch/x86/kvm/svm/svm.c
4066
invlpga(gva, svm->vmcb->control.asid);
arch/x86/kvm/svm/svm.c
4328
if (unlikely(svm->asid != svm->vmcb->control.asid)) {
arch/x86/kvm/svm/svm.c
4329
svm->vmcb->control.asid = svm->asid;
arch/x86/kvm/svm/svm.h
158
u32 asid;
arch/x86/kvm/svm/svm.h
258
u32 asid;
arch/x86/kvm/svm/svm.h
99
unsigned int asid; /* ASID used for this guest */
arch/x86/kvm/svm/svm_ops.h
49
static inline void invlpga(unsigned long addr, u32 asid)
arch/x86/kvm/svm/svm_ops.h
51
svm_asm2(invlpga, "c"(asid), "a"(addr));
arch/x86/kvm/trace.h
837
TP_PROTO(__u64 rip, unsigned int asid, u64 address),
arch/x86/kvm/trace.h
838
TP_ARGS(rip, asid, address),
arch/x86/kvm/trace.h
842
__field( unsigned int, asid )
arch/x86/kvm/trace.h
848
__entry->asid = asid;
arch/x86/kvm/trace.h
853
__entry->rip, __entry->asid, __entry->address)
arch/x86/mm/tlb.c
116
static inline u16 kern_pcid(u16 asid)
arch/x86/mm/tlb.c
118
VM_WARN_ON_ONCE(asid > MAX_ASID_AVAILABLE);
arch/x86/mm/tlb.c
131
VM_WARN_ON_ONCE(asid & (1 << X86_CR3_PTI_PCID_USER_BIT));
arch/x86/mm/tlb.c
146
return asid + 1;
arch/x86/mm/tlb.c
152
static inline u16 user_pcid(u16 asid)
arch/x86/mm/tlb.c
154
u16 ret = kern_pcid(asid);
arch/x86/mm/tlb.c
161
static inline unsigned long build_cr3(pgd_t *pgd, u16 asid, unsigned long lam)
arch/x86/mm/tlb.c
166
cr3 |= kern_pcid(asid);
arch/x86/mm/tlb.c
168
VM_WARN_ON_ONCE(asid != 0);
arch/x86/mm/tlb.c
174
static inline unsigned long build_cr3_noflush(pgd_t *pgd, u16 asid,
arch/x86/mm/tlb.c
183
return build_cr3(pgd, asid, lam) | CR3_NOFLUSH;
arch/x86/mm/tlb.c
194
u16 asid;
arch/x86/mm/tlb.c
205
for (asid = 0; asid < TLB_NR_DYN_ASIDS; asid++) {
arch/x86/mm/tlb.c
207
if (asid == this_cpu_read(cpu_tlbstate.loaded_mm_asid))
arch/x86/mm/tlb.c
213
this_cpu_write(cpu_tlbstate.ctxs[asid].ctx_id, 0);
arch/x86/mm/tlb.c
221
unsigned int asid : 16;
arch/x86/mm/tlb.c
228
u16 asid;
arch/x86/mm/tlb.c
231
ns.asid = 0;
arch/x86/mm/tlb.c
244
ns.asid = global_asid;
arch/x86/mm/tlb.c
253
for (asid = 0; asid < TLB_NR_DYN_ASIDS; asid++) {
arch/x86/mm/tlb.c
254
if (this_cpu_read(cpu_tlbstate.ctxs[asid].ctx_id) !=
arch/x86/mm/tlb.c
258
ns.asid = asid;
arch/x86/mm/tlb.c
259
ns.need_flush = (this_cpu_read(cpu_tlbstate.ctxs[asid].tlb_gen) < next_tlb_gen);
arch/x86/mm/tlb.c
267
ns.asid = this_cpu_add_return(cpu_tlbstate.next_asid, 1) - 1;
arch/x86/mm/tlb.c
268
if (ns.asid >= TLB_NR_DYN_ASIDS) {
arch/x86/mm/tlb.c
269
ns.asid = 0;
arch/x86/mm/tlb.c
319
u16 asid;
arch/x86/mm/tlb.c
327
asid = find_next_zero_bit(global_asid_used, MAX_ASID_AVAILABLE, last_global_asid);
arch/x86/mm/tlb.c
329
if (asid >= MAX_ASID_AVAILABLE && !global_asid_available) {
arch/x86/mm/tlb.c
337
__set_bit(asid, global_asid_used);
arch/x86/mm/tlb.c
338
last_global_asid = asid;
arch/x86/mm/tlb.c
340
return asid;
arch/x86/mm/tlb.c
378
u16 asid;
arch/x86/mm/tlb.c
397
asid = allocate_global_asid();
arch/x86/mm/tlb.c
398
if (!asid)
arch/x86/mm/tlb.c
401
mm_assign_global_asid(mm, asid);
arch/x86/mm/tlb.c
426
static bool mm_needs_global_asid(struct mm_struct *mm, u16 asid)
arch/x86/mm/tlb.c
434
if (global_asid && asid != global_asid)
arch/x86/mm/tlb.c
505
unsigned long asid = mm_global_asid(info->mm);
arch/x86/mm/tlb.c
514
invlpgb_flush_single_pcid_nosync(kern_pcid(asid));
arch/x86/mm/tlb.c
517
invlpgb_flush_single_pcid_nosync(user_pcid(asid));
arch/x86/mm/tlb.c
526
invlpgb_flush_user_nr_nosync(kern_pcid(asid), addr, nr, pmd);
arch/x86/mm/tlb.c
528
invlpgb_flush_user_nr_nosync(user_pcid(asid), addr, nr, pmd);
arch/x86/mm/tlb.c
545
static inline void invalidate_user_asid(u16 asid)
arch/x86/mm/tlb.c
561
__set_bit(kern_pcid(asid),
arch/x86/mm/tlb.c
900
ns.asid = prev_asid;
arch/x86/mm/tlb.c
948
VM_WARN_ON_ONCE(is_global_asid(ns.asid));
arch/x86/mm/tlb.c
949
this_cpu_write(cpu_tlbstate.ctxs[ns.asid].ctx_id, next->context.ctx_id);
arch/x86/mm/tlb.c
950
this_cpu_write(cpu_tlbstate.ctxs[ns.asid].tlb_gen, next_tlb_gen);
arch/x86/mm/tlb.c
951
load_new_mm_cr3(next->pgd, ns.asid, new_lam, true);
arch/x86/mm/tlb.c
956
load_new_mm_cr3(next->pgd, ns.asid, new_lam, false);
arch/x86/mm/tlb.c
965
this_cpu_write(cpu_tlbstate.loaded_mm_asid, ns.asid);
arch/x86/virt/svm/sev.c
1005
int rmp_make_private(u64 pfn, u64 gpa, enum pg_level level, u32 asid, bool immutable)
arch/x86/virt/svm/sev.c
1011
state.asid = asid;
arch/x86/virt/svm/sev.c
48
u32 asid;
arch/x86/virt/svm/sev.c
66
asid : 10,
arch/x86/virt/svm/sev.c
729
e->asid = e_raw->asid;
arch/xtensa/include/asm/mmu.h
17
unsigned long asid[NR_CPUS];
arch/xtensa/include/asm/mmu_context.h
104
set_rasid_register(ASID_INSERT(mm->context.asid[cpu]));
arch/xtensa/include/asm/mmu_context.h
120
mm->context.asid[cpu] = NO_CONTEXT;
arch/xtensa/include/asm/mmu_context.h
72
unsigned long asid = cpu_asid_cache(cpu);
arch/xtensa/include/asm/mmu_context.h
73
if ((++asid & ASID_MASK) == 0) {
arch/xtensa/include/asm/mmu_context.h
79
asid += ASID_USER_FIRST;
arch/xtensa/include/asm/mmu_context.h
81
cpu_asid_cache(cpu) = asid;
arch/xtensa/include/asm/mmu_context.h
82
mm->context.asid[cpu] = asid;
arch/xtensa/include/asm/mmu_context.h
93
unsigned long asid = mm->context.asid[cpu];
arch/xtensa/include/asm/mmu_context.h
95
if (asid == NO_CONTEXT ||
arch/xtensa/include/asm/mmu_context.h
96
((asid ^ cpu_asid_cache(cpu)) & ~ASID_MASK))
arch/xtensa/mm/tlb.c
100
(unsigned long)mm->context.asid[cpu], start, end);
arch/xtensa/mm/tlb.c
106
set_rasid_register(ASID_INSERT(mm->context.asid[cpu]));
arch/xtensa/mm/tlb.c
134
if (mm->context.asid[cpu] == NO_CONTEXT)
arch/xtensa/mm/tlb.c
140
set_rasid_register(ASID_INSERT(mm->context.asid[cpu]));
arch/xtensa/mm/tlb.c
71
mm->context.asid[cpu] = NO_CONTEXT;
arch/xtensa/mm/tlb.c
75
mm->context.asid[cpu] = NO_CONTEXT;
arch/xtensa/mm/tlb.c
96
if (mm->context.asid[cpu] == NO_CONTEXT)
drivers/accel/habanalabs/common/asid.c
50
void hl_asid_free(struct hl_device *hdev, unsigned long asid)
drivers/accel/habanalabs/common/asid.c
52
if (asid == HL_KERNEL_ASID_ID || asid >= hdev->asic_prop.max_asid) {
drivers/accel/habanalabs/common/asid.c
53
dev_crit(hdev->dev, "Invalid ASID %lu", asid);
drivers/accel/habanalabs/common/asid.c
57
clear_bit(asid, hdev->asid_bitmap);
drivers/accel/habanalabs/common/command_buffer.c
186
int rc, ctx_id = cb_args->ctx->asid;
drivers/accel/habanalabs/common/command_buffer.c
278
int ctx_id = ctx->asid;
drivers/accel/habanalabs/common/command_submission.c
1086
cs->ctx->asid, cs->sequence);
drivers/accel/habanalabs/common/command_submission.c
1377
ctx->asid);
drivers/accel/habanalabs/common/command_submission.c
1394
dev_err(hdev->dev, "Got execute CS with 0 chunks, context %d\n", ctx->asid);
drivers/accel/habanalabs/common/command_submission.c
1400
ctx->asid);
drivers/accel/habanalabs/common/command_submission.c
1627
cs->ctx->asid, cs->sequence, job->id, rc);
drivers/accel/habanalabs/common/command_submission.c
1640
cs->ctx->asid, cs->sequence);
drivers/accel/habanalabs/common/command_submission.c
1660
cs->ctx->asid, cs->sequence, rc);
drivers/accel/habanalabs/common/command_submission.c
1704
rc = hdev->asic_funcs->context_switch(hdev, ctx->asid);
drivers/accel/habanalabs/common/command_submission.c
1708
ctx->asid, rc);
drivers/accel/habanalabs/common/command_submission.c
1744
ctx->asid, rc);
drivers/accel/habanalabs/common/command_submission.c
1758
ctx->asid, ret);
drivers/accel/habanalabs/common/command_submission.c
2433
ctx->asid, cs->sequence, rc);
drivers/accel/habanalabs/common/command_submission.c
322
parser.ctx_id = job->cs->ctx->asid;
drivers/accel/habanalabs/common/context.c
104
if (ctx->asid != HL_KERNEL_ASID_ID) {
drivers/accel/habanalabs/common/context.c
105
dev_dbg(hdev->dev, "closing user context, asid=%u\n", ctx->asid);
drivers/accel/habanalabs/common/context.c
120
hl_asid_free(hdev, ctx->asid);
drivers/accel/habanalabs/common/context.c
227
ctx->asid = HL_KERNEL_ASID_ID; /* Kernel driver gets ASID 0 */
drivers/accel/habanalabs/common/context.c
241
ctx->asid = hl_asid_alloc(hdev);
drivers/accel/habanalabs/common/context.c
242
if (!ctx->asid) {
drivers/accel/habanalabs/common/context.c
273
current->comm, ctx->asid);
drivers/accel/habanalabs/common/context.c
283
if (ctx->asid != HL_KERNEL_ASID_ID)
drivers/accel/habanalabs/common/context.c
284
hl_asid_free(hdev, ctx->asid);
drivers/accel/habanalabs/common/debugfs.c
123
cb->buf->handle, cb->ctx->asid, cb->size,
drivers/accel/habanalabs/common/debugfs.c
154
cs->sequence, cs->type, cs->ctx->asid,
drivers/accel/habanalabs/common/debugfs.c
187
job->cs->ctx->asid, kref_read(&job->refcount),
drivers/accel/habanalabs/common/debugfs.c
258
seq_printf(s, "ctx asid: %u\n", ctx->asid);
drivers/accel/habanalabs/common/debugfs.c
282
if (ctx->asid != HL_KERNEL_ASID_ID &&
drivers/accel/habanalabs/common/debugfs.c
306
if (phys_pg_pack->asid != ctx->asid)
drivers/accel/habanalabs/common/firmware_if.c
1348
int hl_fw_cpucp_engine_core_asid_set(struct hl_device *hdev, u32 asid)
drivers/accel/habanalabs/common/firmware_if.c
1356
pkt.value = cpu_to_le64(asid);
drivers/accel/habanalabs/common/habanalabs.h
1690
int (*context_switch)(struct hl_device *hdev, u32 asid);
drivers/accel/habanalabs/common/habanalabs.h
1705
u32 flags, u32 asid, u64 va, u64 size);
drivers/accel/habanalabs/common/habanalabs.h
1706
int (*mmu_prefetch_cache_range)(struct hl_ctx *ctx, u32 flags, u32 asid, u64 va, u64 size);
drivers/accel/habanalabs/common/habanalabs.h
1958
u32 asid;
drivers/accel/habanalabs/common/habanalabs.h
2241
u32 asid;
drivers/accel/habanalabs/common/habanalabs.h
2966
u32 asid;
drivers/accel/habanalabs/common/habanalabs.h
3825
void hl_asid_free(struct hl_device *hdev, unsigned long asid);
drivers/accel/habanalabs/common/habanalabs.h
3933
u32 flags, u32 asid, u64 va, u64 size);
drivers/accel/habanalabs/common/habanalabs.h
3934
int hl_mmu_prefetch_cache_range(struct hl_ctx *ctx, u32 flags, u32 asid, u64 va, u64 size);
drivers/accel/habanalabs/common/habanalabs.h
4039
int hl_fw_cpucp_engine_core_asid_set(struct hl_device *hdev, u32 asid);
drivers/accel/habanalabs/common/hw_queue.c
714
ctx->asid, cs->sequence);
drivers/accel/habanalabs/common/memory.c
1147
phys_pg_pack->asid != ctx->asid) {
drivers/accel/habanalabs/common/memory.c
1196
ctx->asid, ret_vaddr, phys_pg_pack->total_size);
drivers/accel/habanalabs/common/memory.c
1206
rc = hl_mmu_prefetch_cache_range(ctx, *vm_type, ctx->asid, ret_vaddr,
drivers/accel/habanalabs/common/memory.c
135
phys_pg_pack->asid = ctx->asid;
drivers/accel/habanalabs/common/memory.c
1362
rc = hl_mmu_invalidate_cache_range(hdev, true, *vm_type, ctx->asid, vaddr,
drivers/accel/habanalabs/common/memory.c
2623
dev_err(hdev->dev, "failed to init context %d\n", ctx->asid);
drivers/accel/habanalabs/common/memory.c
2775
hnode->vaddr, ctx->asid);
drivers/accel/habanalabs/common/memory.c
2792
if (phys_pg_list->asid == ctx->asid) {
drivers/accel/habanalabs/common/memory.c
2795
phys_pg_list, ctx->asid);
drivers/accel/habanalabs/common/memory.c
2819
if (ctx->asid != HL_KERNEL_ASID_ID &&
drivers/accel/habanalabs/common/memory.c
859
phys_pg_pack->asid = ctx->asid;
drivers/accel/habanalabs/common/mmu/mmu.c
1252
(ctx->asid * ctx->hdev->asic_prop.dmmu.hop_table_size);
drivers/accel/habanalabs/common/mmu/mmu.c
1258
(ctx->asid * ctx->hdev->asic_prop.dmmu.hop_table_size);
drivers/accel/habanalabs/common/mmu/mmu.c
657
u32 flags, u32 asid, u64 va, u64 size)
drivers/accel/habanalabs/common/mmu/mmu.c
662
asid, va, size);
drivers/accel/habanalabs/common/mmu/mmu.c
683
hdev->asic_funcs->mmu_prefetch_cache_range(ctx, pfw->flags, pfw->asid, pfw->va, pfw->size);
drivers/accel/habanalabs/common/mmu/mmu.c
696
int hl_mmu_prefetch_cache_range(struct hl_ctx *ctx, u32 flags, u32 asid, u64 va, u64 size)
drivers/accel/habanalabs/common/mmu/mmu.c
709
handle_prefetch_work->asid = asid;
drivers/accel/habanalabs/common/mmu/mmu.c
785
int asid;
drivers/accel/habanalabs/common/mmu/mmu.c
792
for (asid = 0 ; asid < prop->max_asid ; asid++) {
drivers/accel/habanalabs/common/mmu/mmu.c
793
hop0_pgt = &hr_priv->mmu_asid_hop0[asid];
drivers/accel/habanalabs/common/mmu/mmu_v1.c
136
(ctx->asid == HL_KERNEL_ASID_ID))
drivers/accel/habanalabs/common/mmu/mmu_v1.c
209
ctx->asid);
drivers/accel/habanalabs/common/mmu/mmu_v1.c
214
pgt_info->phys_addr, ctx->asid, pgt_info->num_of_ptes);
drivers/accel/habanalabs/common/mmu/mmu_v1.c
36
(ctx->asid == HL_KERNEL_ASID_ID))
drivers/accel/habanalabs/common/mmu/mmu_v2.c
48
ctx->asid);
drivers/accel/habanalabs/common/mmu/mmu_v2.c
53
pgt_info->phys_addr, ctx->asid, pgt_info->num_of_ptes);
drivers/accel/habanalabs/common/mmu/mmu_v2_hr.c
104
ctx->asid);
drivers/accel/habanalabs/common/mmu/mmu_v2_hr.c
109
pgt_info->phys_addr, ctx->asid, pgt_info->num_of_ptes);
drivers/accel/habanalabs/common/mmu/mmu_v2_hr.c
33
return &ctx->hdev->mmu_priv.hr.mmu_asid_hop0[ctx->asid];
drivers/accel/habanalabs/gaudi/gaudi.c
479
static int gaudi_mmu_update_asid_hop0_addr(struct hl_device *hdev, u32 asid,
drivers/accel/habanalabs/gaudi/gaudi.c
492
static void gaudi_mmu_prepare(struct hl_device *hdev, u32 asid);
drivers/accel/habanalabs/gaudi/gaudi.c
5865
static int gaudi_context_switch(struct hl_device *hdev, u32 asid)
drivers/accel/habanalabs/gaudi/gaudi.c
6062
void gaudi_mmu_prepare_reg(struct hl_device *hdev, u64 reg, u32 asid)
drivers/accel/habanalabs/gaudi/gaudi.c
6066
WREG32_OR(reg, asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6069
static void gaudi_mmu_prepare(struct hl_device *hdev, u32 asid)
drivers/accel/habanalabs/gaudi/gaudi.c
6076
if (asid & ~DMA0_QM_GLBL_NON_SECURE_PROPS_0_ASID_MASK) {
drivers/accel/habanalabs/gaudi/gaudi.c
6077
dev_crit(hdev->dev, "asid %u is too big\n", asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6081
gaudi_mmu_prepare_reg(hdev, mmDMA0_QM_GLBL_NON_SECURE_PROPS_0, asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6082
gaudi_mmu_prepare_reg(hdev, mmDMA0_QM_GLBL_NON_SECURE_PROPS_1, asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6083
gaudi_mmu_prepare_reg(hdev, mmDMA0_QM_GLBL_NON_SECURE_PROPS_2, asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6084
gaudi_mmu_prepare_reg(hdev, mmDMA0_QM_GLBL_NON_SECURE_PROPS_3, asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6085
gaudi_mmu_prepare_reg(hdev, mmDMA0_QM_GLBL_NON_SECURE_PROPS_4, asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6087
gaudi_mmu_prepare_reg(hdev, mmDMA1_QM_GLBL_NON_SECURE_PROPS_0, asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6088
gaudi_mmu_prepare_reg(hdev, mmDMA1_QM_GLBL_NON_SECURE_PROPS_1, asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6089
gaudi_mmu_prepare_reg(hdev, mmDMA1_QM_GLBL_NON_SECURE_PROPS_2, asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6090
gaudi_mmu_prepare_reg(hdev, mmDMA1_QM_GLBL_NON_SECURE_PROPS_3, asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6091
gaudi_mmu_prepare_reg(hdev, mmDMA1_QM_GLBL_NON_SECURE_PROPS_4, asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6093
gaudi_mmu_prepare_reg(hdev, mmDMA2_QM_GLBL_NON_SECURE_PROPS_0, asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6094
gaudi_mmu_prepare_reg(hdev, mmDMA2_QM_GLBL_NON_SECURE_PROPS_1, asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6095
gaudi_mmu_prepare_reg(hdev, mmDMA2_QM_GLBL_NON_SECURE_PROPS_2, asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6096
gaudi_mmu_prepare_reg(hdev, mmDMA2_QM_GLBL_NON_SECURE_PROPS_3, asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6097
gaudi_mmu_prepare_reg(hdev, mmDMA2_QM_GLBL_NON_SECURE_PROPS_4, asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6099
gaudi_mmu_prepare_reg(hdev, mmDMA3_QM_GLBL_NON_SECURE_PROPS_0, asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6100
gaudi_mmu_prepare_reg(hdev, mmDMA3_QM_GLBL_NON_SECURE_PROPS_1, asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6101
gaudi_mmu_prepare_reg(hdev, mmDMA3_QM_GLBL_NON_SECURE_PROPS_2, asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6102
gaudi_mmu_prepare_reg(hdev, mmDMA3_QM_GLBL_NON_SECURE_PROPS_3, asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6103
gaudi_mmu_prepare_reg(hdev, mmDMA3_QM_GLBL_NON_SECURE_PROPS_4, asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6105
gaudi_mmu_prepare_reg(hdev, mmDMA4_QM_GLBL_NON_SECURE_PROPS_0, asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6106
gaudi_mmu_prepare_reg(hdev, mmDMA4_QM_GLBL_NON_SECURE_PROPS_1, asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6107
gaudi_mmu_prepare_reg(hdev, mmDMA4_QM_GLBL_NON_SECURE_PROPS_2, asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6108
gaudi_mmu_prepare_reg(hdev, mmDMA4_QM_GLBL_NON_SECURE_PROPS_3, asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6109
gaudi_mmu_prepare_reg(hdev, mmDMA4_QM_GLBL_NON_SECURE_PROPS_4, asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6111
gaudi_mmu_prepare_reg(hdev, mmDMA5_QM_GLBL_NON_SECURE_PROPS_0, asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6112
gaudi_mmu_prepare_reg(hdev, mmDMA5_QM_GLBL_NON_SECURE_PROPS_1, asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6113
gaudi_mmu_prepare_reg(hdev, mmDMA5_QM_GLBL_NON_SECURE_PROPS_2, asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6114
gaudi_mmu_prepare_reg(hdev, mmDMA5_QM_GLBL_NON_SECURE_PROPS_3, asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6115
gaudi_mmu_prepare_reg(hdev, mmDMA5_QM_GLBL_NON_SECURE_PROPS_4, asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6117
gaudi_mmu_prepare_reg(hdev, mmDMA6_QM_GLBL_NON_SECURE_PROPS_0, asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6118
gaudi_mmu_prepare_reg(hdev, mmDMA6_QM_GLBL_NON_SECURE_PROPS_1, asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6119
gaudi_mmu_prepare_reg(hdev, mmDMA6_QM_GLBL_NON_SECURE_PROPS_2, asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6120
gaudi_mmu_prepare_reg(hdev, mmDMA6_QM_GLBL_NON_SECURE_PROPS_3, asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6121
gaudi_mmu_prepare_reg(hdev, mmDMA6_QM_GLBL_NON_SECURE_PROPS_4, asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6123
gaudi_mmu_prepare_reg(hdev, mmDMA7_QM_GLBL_NON_SECURE_PROPS_0, asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6124
gaudi_mmu_prepare_reg(hdev, mmDMA7_QM_GLBL_NON_SECURE_PROPS_1, asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6125
gaudi_mmu_prepare_reg(hdev, mmDMA7_QM_GLBL_NON_SECURE_PROPS_2, asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6126
gaudi_mmu_prepare_reg(hdev, mmDMA7_QM_GLBL_NON_SECURE_PROPS_3, asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6127
gaudi_mmu_prepare_reg(hdev, mmDMA7_QM_GLBL_NON_SECURE_PROPS_4, asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6129
gaudi_mmu_prepare_reg(hdev, mmDMA0_CORE_NON_SECURE_PROPS, asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6130
gaudi_mmu_prepare_reg(hdev, mmDMA1_CORE_NON_SECURE_PROPS, asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6131
gaudi_mmu_prepare_reg(hdev, mmDMA2_CORE_NON_SECURE_PROPS, asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6132
gaudi_mmu_prepare_reg(hdev, mmDMA3_CORE_NON_SECURE_PROPS, asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6133
gaudi_mmu_prepare_reg(hdev, mmDMA4_CORE_NON_SECURE_PROPS, asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6134
gaudi_mmu_prepare_reg(hdev, mmDMA5_CORE_NON_SECURE_PROPS, asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6135
gaudi_mmu_prepare_reg(hdev, mmDMA6_CORE_NON_SECURE_PROPS, asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6136
gaudi_mmu_prepare_reg(hdev, mmDMA7_CORE_NON_SECURE_PROPS, asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6138
gaudi_mmu_prepare_reg(hdev, mmTPC0_QM_GLBL_NON_SECURE_PROPS_0, asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6139
gaudi_mmu_prepare_reg(hdev, mmTPC0_QM_GLBL_NON_SECURE_PROPS_1, asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6140
gaudi_mmu_prepare_reg(hdev, mmTPC0_QM_GLBL_NON_SECURE_PROPS_2, asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6141
gaudi_mmu_prepare_reg(hdev, mmTPC0_QM_GLBL_NON_SECURE_PROPS_3, asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6142
gaudi_mmu_prepare_reg(hdev, mmTPC0_QM_GLBL_NON_SECURE_PROPS_4, asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6143
gaudi_mmu_prepare_reg(hdev, mmTPC0_CFG_ARUSER_LO, asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6144
gaudi_mmu_prepare_reg(hdev, mmTPC0_CFG_AWUSER_LO, asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6146
gaudi_mmu_prepare_reg(hdev, mmTPC1_QM_GLBL_NON_SECURE_PROPS_0, asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6147
gaudi_mmu_prepare_reg(hdev, mmTPC1_QM_GLBL_NON_SECURE_PROPS_1, asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6148
gaudi_mmu_prepare_reg(hdev, mmTPC1_QM_GLBL_NON_SECURE_PROPS_2, asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6149
gaudi_mmu_prepare_reg(hdev, mmTPC1_QM_GLBL_NON_SECURE_PROPS_3, asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6150
gaudi_mmu_prepare_reg(hdev, mmTPC1_QM_GLBL_NON_SECURE_PROPS_4, asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6151
gaudi_mmu_prepare_reg(hdev, mmTPC1_CFG_ARUSER_LO, asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6152
gaudi_mmu_prepare_reg(hdev, mmTPC1_CFG_AWUSER_LO, asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6154
gaudi_mmu_prepare_reg(hdev, mmTPC2_QM_GLBL_NON_SECURE_PROPS_0, asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6155
gaudi_mmu_prepare_reg(hdev, mmTPC2_QM_GLBL_NON_SECURE_PROPS_1, asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6156
gaudi_mmu_prepare_reg(hdev, mmTPC2_QM_GLBL_NON_SECURE_PROPS_2, asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6157
gaudi_mmu_prepare_reg(hdev, mmTPC2_QM_GLBL_NON_SECURE_PROPS_3, asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6158
gaudi_mmu_prepare_reg(hdev, mmTPC2_QM_GLBL_NON_SECURE_PROPS_4, asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6159
gaudi_mmu_prepare_reg(hdev, mmTPC2_CFG_ARUSER_LO, asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6160
gaudi_mmu_prepare_reg(hdev, mmTPC2_CFG_AWUSER_LO, asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6162
gaudi_mmu_prepare_reg(hdev, mmTPC3_QM_GLBL_NON_SECURE_PROPS_0, asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6163
gaudi_mmu_prepare_reg(hdev, mmTPC3_QM_GLBL_NON_SECURE_PROPS_1, asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6164
gaudi_mmu_prepare_reg(hdev, mmTPC3_QM_GLBL_NON_SECURE_PROPS_2, asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6165
gaudi_mmu_prepare_reg(hdev, mmTPC3_QM_GLBL_NON_SECURE_PROPS_3, asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6166
gaudi_mmu_prepare_reg(hdev, mmTPC3_QM_GLBL_NON_SECURE_PROPS_4, asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6167
gaudi_mmu_prepare_reg(hdev, mmTPC3_CFG_ARUSER_LO, asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6168
gaudi_mmu_prepare_reg(hdev, mmTPC3_CFG_AWUSER_LO, asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6170
gaudi_mmu_prepare_reg(hdev, mmTPC4_QM_GLBL_NON_SECURE_PROPS_0, asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6171
gaudi_mmu_prepare_reg(hdev, mmTPC4_QM_GLBL_NON_SECURE_PROPS_1, asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6172
gaudi_mmu_prepare_reg(hdev, mmTPC4_QM_GLBL_NON_SECURE_PROPS_2, asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6173
gaudi_mmu_prepare_reg(hdev, mmTPC4_QM_GLBL_NON_SECURE_PROPS_3, asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6174
gaudi_mmu_prepare_reg(hdev, mmTPC4_QM_GLBL_NON_SECURE_PROPS_4, asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6175
gaudi_mmu_prepare_reg(hdev, mmTPC4_CFG_ARUSER_LO, asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6176
gaudi_mmu_prepare_reg(hdev, mmTPC4_CFG_AWUSER_LO, asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6178
gaudi_mmu_prepare_reg(hdev, mmTPC5_QM_GLBL_NON_SECURE_PROPS_0, asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6179
gaudi_mmu_prepare_reg(hdev, mmTPC5_QM_GLBL_NON_SECURE_PROPS_1, asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6180
gaudi_mmu_prepare_reg(hdev, mmTPC5_QM_GLBL_NON_SECURE_PROPS_2, asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6181
gaudi_mmu_prepare_reg(hdev, mmTPC5_QM_GLBL_NON_SECURE_PROPS_3, asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6182
gaudi_mmu_prepare_reg(hdev, mmTPC5_QM_GLBL_NON_SECURE_PROPS_4, asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6183
gaudi_mmu_prepare_reg(hdev, mmTPC5_CFG_ARUSER_LO, asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6184
gaudi_mmu_prepare_reg(hdev, mmTPC5_CFG_AWUSER_LO, asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6186
gaudi_mmu_prepare_reg(hdev, mmTPC6_QM_GLBL_NON_SECURE_PROPS_0, asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6187
gaudi_mmu_prepare_reg(hdev, mmTPC6_QM_GLBL_NON_SECURE_PROPS_1, asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6188
gaudi_mmu_prepare_reg(hdev, mmTPC6_QM_GLBL_NON_SECURE_PROPS_2, asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6189
gaudi_mmu_prepare_reg(hdev, mmTPC6_QM_GLBL_NON_SECURE_PROPS_3, asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6190
gaudi_mmu_prepare_reg(hdev, mmTPC6_QM_GLBL_NON_SECURE_PROPS_4, asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6191
gaudi_mmu_prepare_reg(hdev, mmTPC6_CFG_ARUSER_LO, asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6192
gaudi_mmu_prepare_reg(hdev, mmTPC6_CFG_AWUSER_LO, asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6194
gaudi_mmu_prepare_reg(hdev, mmTPC7_QM_GLBL_NON_SECURE_PROPS_0, asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6195
gaudi_mmu_prepare_reg(hdev, mmTPC7_QM_GLBL_NON_SECURE_PROPS_1, asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6196
gaudi_mmu_prepare_reg(hdev, mmTPC7_QM_GLBL_NON_SECURE_PROPS_2, asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6197
gaudi_mmu_prepare_reg(hdev, mmTPC7_QM_GLBL_NON_SECURE_PROPS_3, asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6198
gaudi_mmu_prepare_reg(hdev, mmTPC7_QM_GLBL_NON_SECURE_PROPS_4, asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6199
gaudi_mmu_prepare_reg(hdev, mmTPC7_CFG_ARUSER_LO, asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6200
gaudi_mmu_prepare_reg(hdev, mmTPC7_CFG_AWUSER_LO, asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6202
gaudi_mmu_prepare_reg(hdev, mmMME0_QM_GLBL_NON_SECURE_PROPS_0, asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6203
gaudi_mmu_prepare_reg(hdev, mmMME0_QM_GLBL_NON_SECURE_PROPS_1, asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6204
gaudi_mmu_prepare_reg(hdev, mmMME0_QM_GLBL_NON_SECURE_PROPS_2, asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6205
gaudi_mmu_prepare_reg(hdev, mmMME0_QM_GLBL_NON_SECURE_PROPS_3, asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6206
gaudi_mmu_prepare_reg(hdev, mmMME0_QM_GLBL_NON_SECURE_PROPS_4, asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6207
gaudi_mmu_prepare_reg(hdev, mmMME2_QM_GLBL_NON_SECURE_PROPS_0, asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6208
gaudi_mmu_prepare_reg(hdev, mmMME2_QM_GLBL_NON_SECURE_PROPS_1, asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6209
gaudi_mmu_prepare_reg(hdev, mmMME2_QM_GLBL_NON_SECURE_PROPS_2, asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6210
gaudi_mmu_prepare_reg(hdev, mmMME2_QM_GLBL_NON_SECURE_PROPS_3, asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6211
gaudi_mmu_prepare_reg(hdev, mmMME2_QM_GLBL_NON_SECURE_PROPS_4, asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6213
gaudi_mmu_prepare_reg(hdev, mmMME0_SBAB_ARUSER0, asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6214
gaudi_mmu_prepare_reg(hdev, mmMME0_SBAB_ARUSER1, asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6215
gaudi_mmu_prepare_reg(hdev, mmMME1_SBAB_ARUSER0, asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6216
gaudi_mmu_prepare_reg(hdev, mmMME1_SBAB_ARUSER1, asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6217
gaudi_mmu_prepare_reg(hdev, mmMME2_SBAB_ARUSER0, asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6218
gaudi_mmu_prepare_reg(hdev, mmMME2_SBAB_ARUSER1, asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6219
gaudi_mmu_prepare_reg(hdev, mmMME3_SBAB_ARUSER0, asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6220
gaudi_mmu_prepare_reg(hdev, mmMME3_SBAB_ARUSER1, asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6221
gaudi_mmu_prepare_reg(hdev, mmMME0_ACC_WBC, asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6222
gaudi_mmu_prepare_reg(hdev, mmMME1_ACC_WBC, asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6223
gaudi_mmu_prepare_reg(hdev, mmMME2_ACC_WBC, asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6224
gaudi_mmu_prepare_reg(hdev, mmMME3_ACC_WBC, asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6228
asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6230
asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6232
asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6234
asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6236
asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6241
asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6243
asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6245
asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6247
asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6249
asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6254
asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6256
asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6258
asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6260
asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6262
asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6267
asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6269
asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6271
asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6273
asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6275
asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6280
asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6282
asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6284
asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6286
asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6288
asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6293
asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6295
asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6297
asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6299
asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6301
asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6306
asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6308
asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6310
asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6312
asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6314
asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6319
asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6321
asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6323
asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6325
asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6327
asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6332
asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6334
asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6336
asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6338
asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6340
asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6345
asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6347
asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6349
asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6351
asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6353
asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6356
gaudi_mmu_prepare_reg(hdev, mmPSOC_GLOBAL_CONF_TRACE_ARUSER, asid);
drivers/accel/habanalabs/gaudi/gaudi.c
6357
gaudi_mmu_prepare_reg(hdev, mmPSOC_GLOBAL_CONF_TRACE_AWUSER, asid);
drivers/accel/habanalabs/gaudi/gaudi.c
7949
u32 asid, u64 va, u64 size)
drivers/accel/habanalabs/gaudi/gaudi.c
7957
static int gaudi_mmu_update_asid_hop0_addr(struct hl_device *hdev, u32 asid, u64 phys_addr)
drivers/accel/habanalabs/gaudi/gaudi.c
7967
WREG32(MMU_ASID, asid);
drivers/accel/habanalabs/gaudi/gaudi.c
7982
"Timeout during MMU hop0 config of asid %d\n", asid);
drivers/accel/habanalabs/gaudi/gaudi.c
8410
if (ctx->asid == HL_KERNEL_ASID_ID)
drivers/accel/habanalabs/gaudi/gaudi.c
8426
if (ctx->asid == HL_KERNEL_ASID_ID)
drivers/accel/habanalabs/gaudi/gaudiP.h
341
void gaudi_mmu_prepare_reg(struct hl_device *hdev, u64 reg, u32 asid);
drivers/accel/habanalabs/gaudi2/gaudi2.c
10983
static int gaudi2_context_switch(struct hl_device *hdev, u32 asid)
drivers/accel/habanalabs/gaudi2/gaudi2.c
11072
ctx->asid, reserved_va_base, SZ_2M);
drivers/accel/habanalabs/gaudi2/gaudi2.c
11081
gaudi2_kdma_set_mmbp_asid(hdev, false, ctx->asid);
drivers/accel/habanalabs/gaudi2/gaudi2.c
11114
ctx->asid, reserved_va_base, SZ_2M);
drivers/accel/habanalabs/gaudi2/gaudi2.c
11256
if (ctx->asid == HL_KERNEL_ASID_ID)
drivers/accel/habanalabs/gaudi2/gaudi2.c
11259
rc = gaudi2_mmu_prepare(ctx->hdev, ctx->asid);
drivers/accel/habanalabs/gaudi2/gaudi2.c
11284
if (ctx->asid == HL_KERNEL_ASID_ID)
drivers/accel/habanalabs/gaudi2/gaudi2.c
5999
u32 stlb_base, u32 asid, u64 phys_addr)
drivers/accel/habanalabs/gaudi2/gaudi2.c
6009
WREG32(stlb_base + STLB_ASID_OFFSET, asid);
drivers/accel/habanalabs/gaudi2/gaudi2.c
6023
dev_err(hdev->dev, "Timeout during MMU hop0 config of asid %d\n", asid);
drivers/accel/habanalabs/gaudi2/gaudi2.c
6224
u32 flags, u32 asid, u64 va, u64 size)
drivers/accel/habanalabs/gaudi2/gaudi2.c
6237
asid << MMU_RANGE_INV_ASID_SHIFT);
drivers/accel/habanalabs/gaudi2/gaudi2.c
6280
u32 asid, max_asid = prop->max_asid;
drivers/accel/habanalabs/gaudi2/gaudi2.c
6287
for (asid = 0 ; asid < max_asid ; asid++) {
drivers/accel/habanalabs/gaudi2/gaudi2.c
6289
hop0_addr = hdev->mmu_priv.hr.mmu_asid_hop0[asid].phys_addr;
drivers/accel/habanalabs/gaudi2/gaudi2.c
6291
hop0_addr = prop->mmu_pgt_addr + (asid * prop->dmmu.hop_table_size);
drivers/accel/habanalabs/gaudi2/gaudi2.c
6293
rc = gaudi2_mmu_update_asid_hop0_addr(hdev, stlb_base, asid, hop0_addr);
drivers/accel/habanalabs/gaudi2/gaudi2.c
6295
dev_err(hdev->dev, "failed to set hop0 addr for asid %d\n", asid);
drivers/accel/habanalabs/gaudi2/gaudi2.c
7219
bool mmu_bypass, u32 asid)
drivers/accel/habanalabs/gaudi2/gaudi2.c
7223
rw_asid = (asid << ARC_FARM_KDMA_CTX_AXUSER_HB_ASID_RD_SHIFT) |
drivers/accel/habanalabs/gaudi2/gaudi2.c
7224
(asid << ARC_FARM_KDMA_CTX_AXUSER_HB_ASID_WR_SHIFT);
drivers/accel/habanalabs/gaudi2/gaudi2.c
7937
static void gaudi2_mmu_dcore_prepare(struct hl_device *hdev, int dcore_id, u32 asid)
drivers/accel/habanalabs/gaudi2/gaudi2.c
7939
u32 rw_asid = (asid << ARC_FARM_KDMA_CTX_AXUSER_HB_ASID_RD_SHIFT) |
drivers/accel/habanalabs/gaudi2/gaudi2.c
7940
(asid << ARC_FARM_KDMA_CTX_AXUSER_HB_ASID_WR_SHIFT);
drivers/accel/habanalabs/gaudi2/gaudi2.c
7963
WREG32(mmDCORE0_SYNC_MNGR_GLBL_ASID_NONE_SEC_PRIV + dcore_offset, asid);
drivers/accel/habanalabs/gaudi2/gaudi2.c
7969
reg_val = (asid << DCORE0_SYNC_MNGR_MSTR_IF_AXUSER_HB_ASID_RD_SHIFT) |
drivers/accel/habanalabs/gaudi2/gaudi2.c
7970
(asid << DCORE0_SYNC_MNGR_MSTR_IF_AXUSER_HB_ASID_WR_SHIFT);
drivers/accel/habanalabs/gaudi2/gaudi2.c
8036
static void gaudi2_arc_mmu_prepare(struct hl_device *hdev, u32 cpu_id, u32 asid)
drivers/accel/habanalabs/gaudi2/gaudi2.c
8044
reg_val |= FIELD_PREP(ARC_FARM_ARC0_AUX_ARC_REGION_CFG_0_ASID_MASK, asid);
drivers/accel/habanalabs/gaudi2/gaudi2.c
8080
static int gaudi2_arc_mmu_prepare_all(struct hl_device *hdev, u32 asid)
drivers/accel/habanalabs/gaudi2/gaudi2.c
8085
return hl_fw_cpucp_engine_core_asid_set(hdev, asid);
drivers/accel/habanalabs/gaudi2/gaudi2.c
8088
gaudi2_arc_mmu_prepare(hdev, i, asid);
drivers/accel/habanalabs/gaudi2/gaudi2.c
8094
gaudi2_arc_mmu_prepare(hdev, gaudi2_queue_id_to_arc_id[i], asid);
drivers/accel/habanalabs/gaudi2/gaudi2.c
8100
static int gaudi2_mmu_shared_prepare(struct hl_device *hdev, u32 asid)
drivers/accel/habanalabs/gaudi2/gaudi2.c
8106
rw_asid = FIELD_PREP(ARC_FARM_KDMA_CTX_AXUSER_HB_ASID_RD_MASK, asid) |
drivers/accel/habanalabs/gaudi2/gaudi2.c
8107
FIELD_PREP(ARC_FARM_KDMA_CTX_AXUSER_HB_ASID_WR_MASK, asid);
drivers/accel/habanalabs/gaudi2/gaudi2.c
8124
RMWREG32(mmROT0_CPL_QUEUE_AWUSER + offset, asid, MMUBP_ASID_MASK);
drivers/accel/habanalabs/gaudi2/gaudi2.c
8125
RMWREG32(mmROT0_DESC_HBW_ARUSER_LO + offset, asid, MMUBP_ASID_MASK);
drivers/accel/habanalabs/gaudi2/gaudi2.c
8126
RMWREG32(mmROT0_DESC_HBW_AWUSER_LO + offset, asid, MMUBP_ASID_MASK);
drivers/accel/habanalabs/gaudi2/gaudi2.c
8140
rc = gaudi2_arc_mmu_prepare_all(hdev, asid);
drivers/accel/habanalabs/gaudi2/gaudi2.c
8159
static int gaudi2_mmu_prepare(struct hl_device *hdev, u32 asid)
drivers/accel/habanalabs/gaudi2/gaudi2.c
8169
if (asid & ~DCORE0_HMMU0_STLB_ASID_ASID_MASK) {
drivers/accel/habanalabs/gaudi2/gaudi2.c
8170
dev_crit(hdev->dev, "asid %u is too big\n", asid);
drivers/accel/habanalabs/gaudi2/gaudi2.c
8177
rc = gaudi2_mmu_shared_prepare(hdev, asid);
drivers/accel/habanalabs/gaudi2/gaudi2.c
8182
tpc_mmu_data.rw_asid = (asid << ARC_FARM_KDMA_CTX_AXUSER_HB_ASID_RD_SHIFT) |
drivers/accel/habanalabs/gaudi2/gaudi2.c
8183
(asid << ARC_FARM_KDMA_CTX_AXUSER_HB_ASID_WR_SHIFT);
drivers/accel/habanalabs/gaudi2/gaudi2.c
8186
gaudi2_mmu_dcore_prepare(hdev, i, asid);
drivers/accel/habanalabs/gaudi2/gaudi2_coresight.c
2247
RMWREG32(mmPSOC_GLOBAL_CONF_TRACE_AWUSER, ctx->asid, MMUBP_ASID_MASK);
drivers/accel/habanalabs/gaudi2/gaudi2_coresight.c
2248
RMWREG32(mmPSOC_GLOBAL_CONF_TRACE_ARUSER, ctx->asid, MMUBP_ASID_MASK);
drivers/accel/habanalabs/goya/goya.c
2629
static int goya_mmu_update_asid_hop0_addr(struct hl_device *hdev, u32 asid,
drivers/accel/habanalabs/goya/goya.c
2642
WREG32(MMU_ASID_BUSY, 0x80000000 | asid);
drivers/accel/habanalabs/goya/goya.c
2654
"Timeout during MMU hop0 config of asid %d\n", asid);
drivers/accel/habanalabs/goya/goya.c
358
static void goya_mmu_prepare(struct hl_device *hdev, u32 asid);
drivers/accel/habanalabs/goya/goya.c
4825
int goya_context_switch(struct hl_device *hdev, u32 asid)
drivers/accel/habanalabs/goya/goya.c
5010
static void goya_mmu_prepare(struct hl_device *hdev, u32 asid)
drivers/accel/habanalabs/goya/goya.c
5018
if (asid & ~MME_QM_GLBL_SECURE_PROPS_ASID_MASK) {
drivers/accel/habanalabs/goya/goya.c
5019
dev_crit(hdev->dev, "asid %u is too big\n", asid);
drivers/accel/habanalabs/goya/goya.c
5025
goya_mmu_prepare_reg(hdev, goya_mmu_regs[i], asid);
drivers/accel/habanalabs/goya/goya.c
5064
u32 asid, u64 va, u64 size)
drivers/accel/habanalabs/goya/goya.c
5237
if (ctx->asid != HL_KERNEL_ASID_ID)
drivers/accel/habanalabs/goya/goya.c
5238
goya_mmu_prepare(ctx->hdev, ctx->asid);
drivers/accel/habanalabs/goya/goya.c
716
static void goya_mmu_prepare_reg(struct hl_device *hdev, u64 reg, u32 asid)
drivers/accel/habanalabs/goya/goya.c
720
WREG32_OR(reg, asid);
drivers/accel/habanalabs/goya/goyaP.h
195
int goya_context_switch(struct hl_device *hdev, u32 asid);
drivers/gpu/drm/msm/adreno/a6xx_gpu.c
209
u32 asid;
drivers/gpu/drm/msm/adreno/a6xx_gpu.c
215
if (msm_iommu_pagetable_params(to_msm_vm(vm)->mmu, &ttbr, &asid))
drivers/gpu/drm/msm/adreno/a6xx_gpu.c
271
CP_SMMU_TABLE_UPDATE_1_ASID(asid));
drivers/gpu/drm/msm/adreno/a6xx_gpu.h
206
u32 asid;
drivers/gpu/drm/msm/adreno/a6xx_preempt.c
363
int asid;
drivers/gpu/drm/msm/adreno/a6xx_preempt.c
400
msm_iommu_pagetable_params(to_msm_vm(gpu->vm)->mmu, &ttbr, &asid);
drivers/gpu/drm/msm/adreno/a6xx_preempt.c
404
smmu_info_ptr->asid = 0xdecafbad;
drivers/gpu/drm/msm/adreno/adreno_gpu.c
963
drm_printf(p, " - asid: %d\n", info->asid);
drivers/gpu/drm/msm/msm_gpu.c
392
&info->asid);
drivers/gpu/drm/msm/msm_gpu.h
112
int asid;
drivers/gpu/drm/msm/msm_iommu.c
249
phys_addr_t *ttbr, int *asid)
drivers/gpu/drm/msm/msm_iommu.c
261
if (asid)
drivers/gpu/drm/msm/msm_iommu.c
262
*asid = pagetable->asid;
drivers/gpu/drm/msm/msm_iommu.c
35
u32 asid;
drivers/gpu/drm/msm/msm_iommu.c
624
pagetable->asid = 0;
drivers/gpu/drm/msm/msm_mmu.h
91
int *asid);
drivers/gpu/drm/xe/xe_device.c
493
u32 asid;
drivers/gpu/drm/xe/xe_device.c
496
err = xa_alloc_cyclic(&xe->usm.asid_to_vm, &asid, NULL,
drivers/gpu/drm/xe/xe_device.c
501
xa_erase(&xe->usm.asid_to_vm, asid);
drivers/gpu/drm/xe/xe_guc_pagefault.c
27
FIELD_PREP(PFR_ASID, pf->consumer.asid),
drivers/gpu/drm/xe/xe_guc_pagefault.c
77
pf.consumer.asid = FIELD_GET(PFD_ASID, msg[1]);
drivers/gpu/drm/xe/xe_guc_tlb_inval.c
122
u64 start, u64 end, u32 asid,
drivers/gpu/drm/xe/xe_guc_tlb_inval.c
179
action[len++] = asid;
drivers/gpu/drm/xe/xe_lrc.c
1558
xe_lrc_write_ctx_reg(lrc, CTX_ASID, vm->usm.asid);
drivers/gpu/drm/xe/xe_pagefault.c
142
static struct xe_vm *xe_pagefault_asid_to_vm(struct xe_device *xe, u32 asid)
drivers/gpu/drm/xe/xe_pagefault.c
147
vm = xa_load(&xe->usm.asid_to_vm, asid);
drivers/gpu/drm/xe/xe_pagefault.c
170
vm = xe_pagefault_asid_to_vm(xe, pf->consumer.asid);
drivers/gpu/drm/xe/xe_pagefault.c
239
pf->consumer.asid,
drivers/gpu/drm/xe/xe_pagefault.c
431
(pf->consumer.asid % XE_PAGEFAULT_QUEUE_COUNT);
drivers/gpu/drm/xe/xe_pagefault.c
445
pf->consumer.asid % XE_PAGEFAULT_QUEUE_COUNT);
drivers/gpu/drm/xe/xe_pagefault_types.h
69
u32 asid;
drivers/gpu/drm/xe/xe_svm.c
1255
vm->usm.asid, ERR_PTR(err));
drivers/gpu/drm/xe/xe_svm.c
1270
vm->usm.asid, ERR_PTR(err));
drivers/gpu/drm/xe/xe_svm.c
1287
vm->usm.asid, &vm->svm.gpusvm, ERR_PTR(err));
drivers/gpu/drm/xe/xe_svm.c
1293
vm->usm.asid, &vm->svm.gpusvm, ERR_PTR(err));
drivers/gpu/drm/xe/xe_svm.c
240
vm->usm.asid, gpusvm, notifier->notifier.invalidate_seq,
drivers/gpu/drm/xe/xe_svm.c
94
(operation__), range_to_vm(&(r__)->base)->usm.asid, \
drivers/gpu/drm/xe/xe_tlb_inval.c
327
u32 asid, struct drm_suballoc *prl_sa)
drivers/gpu/drm/xe/xe_tlb_inval.c
330
start, end, asid, prl_sa);
drivers/gpu/drm/xe/xe_tlb_inval.c
346
xe_tlb_inval_range(tlb_inval, &fence, 0, range, vm->usm.asid, NULL);
drivers/gpu/drm/xe/xe_tlb_inval.h
26
u64 start, u64 end, u32 asid, struct drm_suballoc *prl_sa);
drivers/gpu/drm/xe/xe_tlb_inval_job.c
63
job->end, job->vm->usm.asid, prl_sa);
drivers/gpu/drm/xe/xe_tlb_inval_types.h
50
u64 end, u32 asid, struct drm_suballoc *prl_sa);
drivers/gpu/drm/xe/xe_trace_bo.h
106
__entry->asid = xe_vma_vm(vma)->usm.asid;
drivers/gpu/drm/xe/xe_trace_bo.h
114
__entry->asid, __entry->start,
drivers/gpu/drm/xe/xe_trace_bo.h
195
__field(u32, asid)
drivers/gpu/drm/xe/xe_trace_bo.h
202
__entry->asid = vm->usm.asid;
drivers/gpu/drm/xe/xe_trace_bo.h
207
__get_str(dev), __entry->vm, __entry->asid,
drivers/gpu/drm/xe/xe_trace_bo.h
96
__field(u32, asid)
drivers/gpu/drm/xe/xe_vm.c
1651
u32 asid;
drivers/gpu/drm/xe/xe_vm.c
1654
err = xa_alloc_cyclic(&xe->usm.asid_to_vm, &asid, vm,
drivers/gpu/drm/xe/xe_vm.c
1661
vm->usm.asid = asid;
drivers/gpu/drm/xe/xe_vm.c
1824
if (vm->usm.asid) {
drivers/gpu/drm/xe/xe_vm.c
1830
lookup = xa_erase(&xe->usm.asid_to_vm, vm->usm.asid);
drivers/gpu/drm/xe/xe_vm.c
2958
vm->usm.asid, &vm->svm.gpusvm, ERR_PTR(err));
drivers/gpu/drm/xe/xe_vm.c
2967
vm->usm.asid, &vm->svm.gpusvm, ERR_PTR(err));
drivers/gpu/drm/xe/xe_vm.c
3988
vm->usm.asid, NULL);
drivers/gpu/drm/xe/xe_vm.c
4001
vm->usm.asid, NULL);
drivers/gpu/drm/xe/xe_vm_types.h
304
u32 asid;
drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3-sva.c
158
arm_smmu_tlb_inv_asid(smmu_domain->smmu, smmu_domain->cd.asid);
drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3-sva.c
160
arm_smmu_tlb_inv_range_asid(start, size, smmu_domain->cd.asid,
drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3-sva.c
188
smmu_domain->cd.asid);
drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3-sva.c
194
arm_smmu_tlb_inv_asid(smmu_domain->smmu, smmu_domain->cd.asid);
drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3-sva.c
290
arm_smmu_make_sva_cd(&target, master, domain->mm, smmu_domain->cd.asid);
drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3-sva.c
304
arm_smmu_tlb_inv_asid(smmu_domain->smmu, smmu_domain->cd.asid);
drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3-sva.c
312
xa_erase(&arm_smmu_asid_xa, smmu_domain->cd.asid);
drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3-sva.c
332
u32 asid;
drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3-sva.c
351
ret = xa_alloc(&arm_smmu_asid_xa, &asid, smmu_domain,
drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3-sva.c
356
smmu_domain->cd.asid = asid;
drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3-sva.c
365
xa_erase(&arm_smmu_asid_xa, smmu_domain->cd.asid);
drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3-sva.c
53
u16 asid)
drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3-sva.c
75
FIELD_PREP(CTXDESC_CD_0_ASID, asid));
drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3-test.c
493
static void arm_smmu_test_make_s1_cd(struct arm_smmu_cd *cd, unsigned int asid)
drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3-test.c
502
.asid = asid,
drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3-test.c
543
static void arm_smmu_test_make_sva_cd(struct arm_smmu_cd *cd, unsigned int asid)
drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3-test.c
549
arm_smmu_make_sva_cd(cd, &master, &sva_mm, asid);
drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3-test.c
553
unsigned int asid)
drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3-test.c
559
arm_smmu_make_sva_cd(cd, &master, NULL, asid);
drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c
1030
void arm_smmu_tlb_inv_asid(struct arm_smmu_device *smmu, u16 asid)
drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c
1035
.tlbi.asid = asid,
drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c
1463
FIELD_PREP(CTXDESC_CD_0_ASID, cd->asid)
drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c
2320
arm_smmu_tlb_inv_asid(smmu, smmu_domain->cd.asid);
drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c
2413
cmd.tlbi.asid = smmu_domain->cd.asid;
drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c
2436
void arm_smmu_tlb_inv_range_asid(unsigned long iova, size_t size, int asid,
drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c
2444
.asid = asid,
drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c
2547
xa_erase(&arm_smmu_asid_xa, smmu_domain->cd.asid);
drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c
2562
u32 asid = 0;
drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c
2567
ret = xa_alloc(&arm_smmu_asid_xa, &asid, smmu_domain,
drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c
2569
cd->asid = (u16)asid;
drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c
301
cmd[0] |= FIELD_PREP(CMDQ_TLBI_0_ASID, ent->tlbi.asid);
drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c
317
cmd[0] |= FIELD_PREP(CMDQ_TLBI_0_ASID, ent->tlbi.asid);
drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c
3223
FIELD_PREP(CTXDESC_CD_0_ASID, smmu_domain->cd.asid));
drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c
324
cmd[0] |= FIELD_PREP(CMDQ_TLBI_0_ASID, ent->tlbi.asid);
drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.h
554
u16 asid;
drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.h
663
u16 asid;
drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.h
926
u16 asid);
drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.h
972
void arm_smmu_tlb_inv_asid(struct arm_smmu_device *smmu, u16 asid);
drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.h
973
void arm_smmu_tlb_inv_range_asid(unsigned long iova, size_t size, int asid,
drivers/iommu/arm/arm-smmu/arm-smmu-impl.c
80
smmu_domain->cfg.asid += cs->id_base;
drivers/iommu/arm/arm-smmu/arm-smmu-qcom.c
275
cb->ttbr[0] = FIELD_PREP(ARM_SMMU_TTBRn_ASID, cb->cfg->asid);
drivers/iommu/arm/arm-smmu/arm-smmu-qcom.c
288
cb->ttbr[0] |= FIELD_PREP(ARM_SMMU_TTBRn_ASID, cb->cfg->asid);
drivers/iommu/arm/arm-smmu/arm-smmu.c
266
ARM_SMMU_CB_S1_TLBIASID, smmu_domain->cfg.asid);
drivers/iommu/arm/arm-smmu/arm-smmu.c
294
iova |= cfg->asid;
drivers/iommu/arm/arm-smmu/arm-smmu.c
301
iova |= (u64)cfg->asid << 48;
drivers/iommu/arm/arm-smmu/arm-smmu.c
551
cfg->asid);
drivers/iommu/arm/arm-smmu/arm-smmu.c
553
cfg->asid);
drivers/iommu/arm/arm-smmu/arm-smmu.c
635
arm_smmu_cb_write(smmu, idx, ARM_SMMU_CB_CONTEXTIDR, cfg->asid);
drivers/iommu/arm/arm-smmu/arm-smmu.c
805
cfg->asid = cfg->cbndx;
drivers/iommu/arm/arm-smmu/arm-smmu.h
356
u16 asid;
drivers/iommu/arm/arm-smmu/qcom_iommu.c
141
iommu_writel(ctx, ARM_SMMU_CB_S1_TLBIASID, ctx->asid);
drivers/iommu/arm/arm-smmu/qcom_iommu.c
161
iova |= ctx->asid;
drivers/iommu/arm/arm-smmu/qcom_iommu.c
207
fsr, iova, fsynr, ctx->asid);
drivers/iommu/arm/arm-smmu/qcom_iommu.c
256
ret = qcom_scm_restore_sec_cfg(qcom_iommu->sec_id, ctx->asid);
drivers/iommu/arm/arm-smmu/qcom_iommu.c
280
FIELD_PREP(ARM_SMMU_TTBRn_ASID, ctx->asid));
drivers/iommu/arm/arm-smmu/qcom_iommu.c
554
unsigned asid = args->args[0];
drivers/iommu/arm/arm-smmu/qcom_iommu.c
574
if (WARN_ON(asid > qcom_iommu->max_asid) ||
drivers/iommu/arm/arm-smmu/qcom_iommu.c
575
WARN_ON(qcom_iommu->ctxs[asid] == NULL))
drivers/iommu/arm/arm-smmu/qcom_iommu.c
589
return iommu_fwspec_add_ids(dev, &asid, 1);
drivers/iommu/arm/arm-smmu/qcom_iommu.c
62
u8 asid; /* asid and ctx bank # are 1:1 */
drivers/iommu/arm/arm-smmu/qcom_iommu.c
658
int asid;
drivers/iommu/arm/arm-smmu/qcom_iommu.c
672
asid = val;
drivers/iommu/arm/arm-smmu/qcom_iommu.c
674
asid = reg / 0x1000;
drivers/iommu/arm/arm-smmu/qcom_iommu.c
676
return asid;
drivers/iommu/arm/arm-smmu/qcom_iommu.c
726
ctx->asid = ret;
drivers/iommu/arm/arm-smmu/qcom_iommu.c
728
dev_dbg(dev, "found asid %u\n", ctx->asid);
drivers/iommu/arm/arm-smmu/qcom_iommu.c
730
qcom_iommu->ctxs[ctx->asid] = ctx;
drivers/iommu/arm/arm-smmu/qcom_iommu.c
742
qcom_iommu->ctxs[ctx->asid] = NULL;
drivers/iommu/arm/arm-smmu/qcom_iommu.c
82
static struct qcom_iommu_ctx * to_ctx(struct qcom_iommu_domain *d, unsigned asid)
drivers/iommu/arm/arm-smmu/qcom_iommu.c
87
return qcom_iommu->ctxs[asid];
drivers/iommu/tegra-smmu.c
1042
unsigned int asid;
drivers/iommu/tegra-smmu.c
1051
asid = value & SMMU_ASID_MASK;
drivers/iommu/tegra-smmu.c
1054
asid);
drivers/iommu/tegra-smmu.c
221
unsigned long asid)
drivers/iommu/tegra-smmu.c
226
value = (asid & 0x3) << 29;
drivers/iommu/tegra-smmu.c
228
value = (asid & 0x7f) << 24;
drivers/iommu/tegra-smmu.c
235
unsigned long asid,
drivers/iommu/tegra-smmu.c
241
value = (asid & 0x3) << 29;
drivers/iommu/tegra-smmu.c
243
value = (asid & 0x7f) << 24;
drivers/iommu/tegra-smmu.c
250
unsigned long asid,
drivers/iommu/tegra-smmu.c
256
value = (asid & 0x3) << 29;
drivers/iommu/tegra-smmu.c
258
value = (asid & 0x7f) << 24;
drivers/iommu/tegra-smmu.c
360
unsigned int asid)
drivers/iommu/tegra-smmu.c
370
value |= SMMU_ASID_VALUE(asid);
drivers/iommu/tegra-smmu.c
393
unsigned int asid)
drivers/iommu/tegra-smmu.c
403
value |= SMMU_ASID_VALUE(asid);
drivers/misc/sgi-gru/grufault.c
311
unsigned long fault_vaddr, int asid, int write,
drivers/misc/sgi-gru/grufault.c
333
if (ret || tfh_write_only(tfh, gpa, GAA_RAM, vaddr, asid, write,
drivers/misc/sgi-gru/grufault.c
339
vaddr, asid, write, pageshift, gpa);
drivers/misc/sgi-gru/grufault.c
362
int pageshift = 0, asid, write, ret, atomic = !cbk, indexway;
drivers/misc/sgi-gru/grufault.c
399
asid = tfh->missasid;
drivers/misc/sgi-gru/grufault.c
401
if (asid == 0)
drivers/misc/sgi-gru/grufault.c
428
gru_preload_tlb(gru, gts, atomic, vaddr, asid, write, tlb_preload_count, tfh, cbe);
drivers/misc/sgi-gru/grufault.c
434
tfh_write_restart(tfh, gpa, GAA_RAM, vaddr, asid, write,
drivers/misc/sgi-gru/grufault.c
439
atomic ? "atomic" : "non-atomic", gru->gs_gid, gts, tfh, vaddr, asid,
drivers/misc/sgi-gru/gruhandles.c
135
int asid, int pagesize, int global, int n,
drivers/misc/sgi-gru/gruhandles.c
139
tgh->asid = asid;
drivers/misc/sgi-gru/gruhandles.c
152
unsigned long vaddr, int asid, int dirty,
drivers/misc/sgi-gru/gruhandles.c
155
tfh->fillasid = asid;
drivers/misc/sgi-gru/gruhandles.c
168
unsigned long vaddr, int asid, int dirty,
drivers/misc/sgi-gru/gruhandles.c
171
tfh->fillasid = asid;
drivers/misc/sgi-gru/gruhandles.h
201
unsigned int asid:24; /* DW 2 */
drivers/misc/sgi-gru/gruhandles.h
375
unsigned int asid[8]; /* DW 2 - 5 */
drivers/misc/sgi-gru/gruhandles.h
508
unsigned long vaddrmask, int asid, int pagesize, int global, int n,
drivers/misc/sgi-gru/gruhandles.h
511
int gaa, unsigned long vaddr, int asid, int dirty, int pagesize);
drivers/misc/sgi-gru/gruhandles.h
513
int gaa, unsigned long vaddr, int asid, int dirty, int pagesize);
drivers/misc/sgi-gru/grumain.c
108
if (inuse_asid == asid) {
drivers/misc/sgi-gru/grumain.c
109
asid += ASID_INC;
drivers/misc/sgi-gru/grumain.c
110
if (asid >= limit) {
drivers/misc/sgi-gru/grumain.c
116
if (asid >= MAX_ASID)
drivers/misc/sgi-gru/grumain.c
117
asid = gru_wrap_asid(gru);
drivers/misc/sgi-gru/grumain.c
122
if ((inuse_asid > asid) && (inuse_asid < limit))
drivers/misc/sgi-gru/grumain.c
126
gru->gs_asid = asid;
drivers/misc/sgi-gru/grumain.c
128
asid, limit);
drivers/misc/sgi-gru/grumain.c
129
return asid;
drivers/misc/sgi-gru/grumain.c
135
int asid;
drivers/misc/sgi-gru/grumain.c
138
asid = gru->gs_asid;
drivers/misc/sgi-gru/grumain.c
139
if (asid >= gru->gs_asid_limit)
drivers/misc/sgi-gru/grumain.c
140
asid = gru_reset_asid_limit(gru, asid);
drivers/misc/sgi-gru/grumain.c
142
gru_dbg(grudev, "gid %d, asid 0x%x\n", gru->gs_gid, asid);
drivers/misc/sgi-gru/grumain.c
143
return asid;
drivers/misc/sgi-gru/grumain.c
226
int asid;
drivers/misc/sgi-gru/grumain.c
229
asid = asids->mt_asid;
drivers/misc/sgi-gru/grumain.c
232
if (asid == 0 || (asids->mt_ctxbitmap == 0 && asids->mt_asid_gen !=
drivers/misc/sgi-gru/grumain.c
234
asid = gru_assign_asid(gru);
drivers/misc/sgi-gru/grumain.c
235
asids->mt_asid = asid;
drivers/misc/sgi-gru/grumain.c
251
gru->gs_gid, gts, gms, gts->ts_ctxnum, asid,
drivers/misc/sgi-gru/grumain.c
253
return asid;
drivers/misc/sgi-gru/grumain.c
578
int i, err, asid, ctxnum = gts->ts_ctxnum;
drivers/misc/sgi-gru/grumain.c
609
asid = gru_load_mm_tracker(gru, gts);
drivers/misc/sgi-gru/grumain.c
611
cch->asid[i] = asid + i;
drivers/misc/sgi-gru/grumain.c
89
static int gru_reset_asid_limit(struct gru_state *gru, int asid)
drivers/misc/sgi-gru/grumain.c
93
gru_dbg(grudev, "gid %d, asid 0x%x\n", gru->gs_gid, asid);
drivers/misc/sgi-gru/grumain.c
96
if (asid >= limit)
drivers/misc/sgi-gru/grumain.c
97
asid = gru_wrap_asid(gru);
drivers/misc/sgi-gru/grutables.h
290
#define GRUASID(asid, addr) ((asid) + GRUREGION(addr))
drivers/misc/sgi-gru/grutlbpurge.c
150
int grupagesize, pagesize, pageshift, gid, asid;
drivers/misc/sgi-gru/grutlbpurge.c
167
asid = asids->mt_asid;
drivers/misc/sgi-gru/grutlbpurge.c
168
if (asids->mt_ctxbitmap && asid) {
drivers/misc/sgi-gru/grutlbpurge.c
170
asid = GRUASID(asid, start);
drivers/misc/sgi-gru/grutlbpurge.c
173
gid, asid, start, grupagesize, num, asids->mt_ctxbitmap);
drivers/misc/sgi-gru/grutlbpurge.c
175
tgh_invalidate(tgh, start, ~0, asid, grupagesize, 0,
drivers/misc/sgi-gru/grutlbpurge.c
184
gid, asid, asids->mt_ctxbitmap,
drivers/net/ethernet/hisilicon/hns/hnae.h
175
__le16 asid;
drivers/net/ethernet/hisilicon/hns/hnae.h
203
__le16 asid;
drivers/vdpa/mlx5/core/mlx5_vdpa.h
160
unsigned int asid);
drivers/vdpa/mlx5/core/mlx5_vdpa.h
163
unsigned int asid);
drivers/vdpa/mlx5/core/mlx5_vdpa.h
165
int mlx5_vdpa_reset_mr(struct mlx5_vdpa_dev *mvdev, unsigned int asid);
drivers/vdpa/mlx5/core/mr.c
732
unsigned int asid)
drivers/vdpa/mlx5/core/mr.c
734
struct mlx5_vdpa_mr *old_mr = mvdev->mres.mr[asid];
drivers/vdpa/mlx5/core/mr.c
739
mvdev->mres.mr[asid] = new_mr;
drivers/vdpa/mlx5/core/mr.c
842
unsigned int asid)
drivers/vdpa/mlx5/core/mr.c
846
if (mvdev->mres.group2asid[MLX5_VDPA_CVQ_GROUP] != asid)
drivers/vdpa/mlx5/core/mr.c
872
int mlx5_vdpa_reset_mr(struct mlx5_vdpa_dev *mvdev, unsigned int asid)
drivers/vdpa/mlx5/core/mr.c
874
if (asid >= MLX5_VDPA_NUM_AS)
drivers/vdpa/mlx5/core/mr.c
877
mlx5_vdpa_update_mr(mvdev, NULL, asid);
drivers/vdpa/mlx5/core/mr.c
879
if (asid == 0 && MLX5_CAP_GEN(mvdev->mdev, umem_uid_0)) {
drivers/vdpa/mlx5/core/mr.c
883
mlx5_vdpa_update_cvq_iotlb(mvdev, NULL, asid);
drivers/vdpa/mlx5/net/mlx5_vnet.c
1382
unsigned int asid = mvdev->mres.group2asid[MLX5_VDPA_DATAVQ_GROUP];
drivers/vdpa/mlx5/net/mlx5_vnet.c
1383
struct mlx5_vdpa_mr *vq_mr = mvdev->mres.mr[asid];
drivers/vdpa/mlx5/net/mlx5_vnet.c
1391
unsigned int asid = mvdev->mres.group2asid[MLX5_VDPA_DATAVQ_DESC_GROUP];
drivers/vdpa/mlx5/net/mlx5_vnet.c
1392
struct mlx5_vdpa_mr *desc_mr = mvdev->mres.mr[asid];
drivers/vdpa/mlx5/net/mlx5_vnet.c
3055
unsigned int asid)
drivers/vdpa/mlx5/net/mlx5_vnet.c
3070
mlx5_vdpa_update_mr(mvdev, new_mr, asid);
drivers/vdpa/mlx5/net/mlx5_vnet.c
3345
unsigned int asid)
drivers/vdpa/mlx5/net/mlx5_vnet.c
3350
if (asid >= MLX5_VDPA_NUM_AS)
drivers/vdpa/mlx5/net/mlx5_vnet.c
3365
if (!mvdev->mres.mr[asid]) {
drivers/vdpa/mlx5/net/mlx5_vnet.c
3366
mlx5_vdpa_update_mr(mvdev, new_mr, asid);
drivers/vdpa/mlx5/net/mlx5_vnet.c
3368
err = mlx5_vdpa_change_map(mvdev, new_mr, asid);
drivers/vdpa/mlx5/net/mlx5_vnet.c
3375
return mlx5_vdpa_update_cvq_iotlb(mvdev, iotlb, asid);
drivers/vdpa/mlx5/net/mlx5_vnet.c
3382
static int mlx5_vdpa_set_map(struct vdpa_device *vdev, unsigned int asid,
drivers/vdpa/mlx5/net/mlx5_vnet.c
3390
err = set_map_data(mvdev, iotlb, asid);
drivers/vdpa/mlx5/net/mlx5_vnet.c
3395
static int mlx5_vdpa_reset_map(struct vdpa_device *vdev, unsigned int asid)
drivers/vdpa/mlx5/net/mlx5_vnet.c
3402
err = mlx5_vdpa_reset_mr(mvdev, asid);
drivers/vdpa/mlx5/net/mlx5_vnet.c
3649
unsigned int asid)
drivers/vdpa/mlx5/net/mlx5_vnet.c
3654
mvdev->mres.group2asid[group] = asid;
drivers/vdpa/mlx5/net/mlx5_vnet.c
3657
if (group == MLX5_VDPA_CVQ_GROUP && mvdev->mres.mr[asid])
drivers/vdpa/mlx5/net/mlx5_vnet.c
3658
err = mlx5_vdpa_update_cvq_iotlb(mvdev, mvdev->mres.mr[asid]->iotlb, asid);
drivers/vdpa/vdpa_sim/vdpa_sim.c
601
unsigned int asid)
drivers/vdpa/vdpa_sim/vdpa_sim.c
607
iommu = &vdpasim->iommu[asid];
drivers/vdpa/vdpa_sim/vdpa_sim.c
621
static int vdpasim_set_map(struct vdpa_device *vdpa, unsigned int asid,
drivers/vdpa/vdpa_sim/vdpa_sim.c
630
if (asid >= vdpasim->dev_attr.nas)
drivers/vdpa/vdpa_sim/vdpa_sim.c
635
iommu = &vdpasim->iommu[asid];
drivers/vdpa/vdpa_sim/vdpa_sim.c
637
vdpasim->iommu_pt[asid] = false;
drivers/vdpa/vdpa_sim/vdpa_sim.c
655
static int vdpasim_reset_map(struct vdpa_device *vdpa, unsigned int asid)
drivers/vdpa/vdpa_sim/vdpa_sim.c
659
if (asid >= vdpasim->dev_attr.nas)
drivers/vdpa/vdpa_sim/vdpa_sim.c
663
if (vdpasim->iommu_pt[asid])
drivers/vdpa/vdpa_sim/vdpa_sim.c
665
vhost_iotlb_reset(&vdpasim->iommu[asid]);
drivers/vdpa/vdpa_sim/vdpa_sim.c
666
vhost_iotlb_add_range(&vdpasim->iommu[asid], 0, ULONG_MAX,
drivers/vdpa/vdpa_sim/vdpa_sim.c
668
vdpasim->iommu_pt[asid] = true;
drivers/vdpa/vdpa_sim/vdpa_sim.c
698
static int vdpasim_dma_map(struct vdpa_device *vdpa, unsigned int asid,
drivers/vdpa/vdpa_sim/vdpa_sim.c
705
if (asid >= vdpasim->dev_attr.nas)
drivers/vdpa/vdpa_sim/vdpa_sim.c
709
if (vdpasim->iommu_pt[asid]) {
drivers/vdpa/vdpa_sim/vdpa_sim.c
710
vhost_iotlb_reset(&vdpasim->iommu[asid]);
drivers/vdpa/vdpa_sim/vdpa_sim.c
711
vdpasim->iommu_pt[asid] = false;
drivers/vdpa/vdpa_sim/vdpa_sim.c
713
ret = vhost_iotlb_add_range_ctx(&vdpasim->iommu[asid], iova,
drivers/vdpa/vdpa_sim/vdpa_sim.c
720
static int vdpasim_dma_unmap(struct vdpa_device *vdpa, unsigned int asid,
drivers/vdpa/vdpa_sim/vdpa_sim.c
725
if (asid >= vdpasim->dev_attr.nas)
drivers/vdpa/vdpa_sim/vdpa_sim.c
728
if (vdpasim->iommu_pt[asid]) {
drivers/vdpa/vdpa_sim/vdpa_sim.c
729
vhost_iotlb_reset(&vdpasim->iommu[asid]);
drivers/vdpa/vdpa_sim/vdpa_sim.c
730
vdpasim->iommu_pt[asid] = false;
drivers/vdpa/vdpa_sim/vdpa_sim.c
734
vhost_iotlb_del_range(&vdpasim->iommu[asid], iova, iova + size - 1);
drivers/vdpa/vdpa_user/vduse_dev.c
1180
static int vduse_dev_dereg_umem(struct vduse_dev *dev, u32 asid,
drivers/vdpa/vdpa_user/vduse_dev.c
1185
mutex_lock(&dev->as[asid].mem_lock);
drivers/vdpa/vdpa_user/vduse_dev.c
1187
if (!dev->as[asid].umem)
drivers/vdpa/vdpa_user/vduse_dev.c
1191
if (!dev->as[asid].domain)
drivers/vdpa/vdpa_user/vduse_dev.c
1194
if (dev->as[asid].umem->iova != iova ||
drivers/vdpa/vdpa_user/vduse_dev.c
1195
size != dev->as[asid].domain->bounce_size)
drivers/vdpa/vdpa_user/vduse_dev.c
1198
vduse_domain_remove_user_bounce_pages(dev->as[asid].domain);
drivers/vdpa/vdpa_user/vduse_dev.c
1199
unpin_user_pages_dirty_lock(dev->as[asid].umem->pages,
drivers/vdpa/vdpa_user/vduse_dev.c
1200
dev->as[asid].umem->npages, true);
drivers/vdpa/vdpa_user/vduse_dev.c
1201
atomic64_sub(dev->as[asid].umem->npages, &dev->as[asid].umem->mm->pinned_vm);
drivers/vdpa/vdpa_user/vduse_dev.c
1202
mmdrop(dev->as[asid].umem->mm);
drivers/vdpa/vdpa_user/vduse_dev.c
1203
vfree(dev->as[asid].umem->pages);
drivers/vdpa/vdpa_user/vduse_dev.c
1204
kfree(dev->as[asid].umem);
drivers/vdpa/vdpa_user/vduse_dev.c
1205
dev->as[asid].umem = NULL;
drivers/vdpa/vdpa_user/vduse_dev.c
1208
mutex_unlock(&dev->as[asid].mem_lock);
drivers/vdpa/vdpa_user/vduse_dev.c
1213
u32 asid, u64 iova, u64 uaddr, u64 size)
drivers/vdpa/vdpa_user/vduse_dev.c
1221
if (!dev->as[asid].domain || !dev->as[asid].domain->bounce_map ||
drivers/vdpa/vdpa_user/vduse_dev.c
1222
size != dev->as[asid].domain->bounce_size ||
drivers/vdpa/vdpa_user/vduse_dev.c
1226
mutex_lock(&dev->as[asid].mem_lock);
drivers/vdpa/vdpa_user/vduse_dev.c
1228
if (dev->as[asid].umem)
drivers/vdpa/vdpa_user/vduse_dev.c
1252
ret = vduse_domain_add_user_bounce_pages(dev->as[asid].domain,
drivers/vdpa/vdpa_user/vduse_dev.c
1265
dev->as[asid].umem = umem;
drivers/vdpa/vdpa_user/vduse_dev.c
1276
mutex_unlock(&dev->as[asid].mem_lock);
drivers/vdpa/vdpa_user/vduse_dev.c
1300
u32 asid;
drivers/vdpa/vdpa_user/vduse_dev.c
1304
if (entry->start > entry->last || entry->asid >= dev->nas)
drivers/vdpa/vdpa_user/vduse_dev.c
1307
asid = array_index_nospec(entry->asid, dev->nas);
drivers/vdpa/vdpa_user/vduse_dev.c
1310
if (!dev->as[asid].domain)
drivers/vdpa/vdpa_user/vduse_dev.c
1313
spin_lock(&dev->as[asid].domain->iotlb_lock);
drivers/vdpa/vdpa_user/vduse_dev.c
1314
map = vhost_iotlb_itree_first(dev->as[asid].domain->iotlb,
drivers/vdpa/vdpa_user/vduse_dev.c
1330
if (dev->as[asid].domain->bounce_map && map->start == 0 &&
drivers/vdpa/vdpa_user/vduse_dev.c
1331
map->last == dev->as[asid].domain->bounce_size - 1)
drivers/vdpa/vdpa_user/vduse_dev.c
1337
spin_unlock(&dev->as[asid].domain->iotlb_lock);
drivers/vdpa/vdpa_user/vduse_dev.c
1533
u32 asid;
drivers/vdpa/vdpa_user/vduse_dev.c
1543
umem.asid != 0) || umem.asid >= dev->nas)
drivers/vdpa/vdpa_user/vduse_dev.c
1547
asid = array_index_nospec(umem.asid, dev->nas);
drivers/vdpa/vdpa_user/vduse_dev.c
1548
ret = vduse_dev_reg_umem(dev, asid, umem.iova,
drivers/vdpa/vdpa_user/vduse_dev.c
1555
u32 asid;
drivers/vdpa/vdpa_user/vduse_dev.c
1565
umem.asid != 0) ||
drivers/vdpa/vdpa_user/vduse_dev.c
1566
umem.asid >= dev->nas)
drivers/vdpa/vdpa_user/vduse_dev.c
1570
asid = array_index_nospec(umem.asid, dev->nas);
drivers/vdpa/vdpa_user/vduse_dev.c
1571
ret = vduse_dev_dereg_umem(dev, asid, umem.iova,
drivers/vdpa/vdpa_user/vduse_dev.c
1589
if (info.asid)
drivers/vdpa/vdpa_user/vduse_dev.c
1591
} else if (info.asid >= dev->nas)
drivers/vdpa/vdpa_user/vduse_dev.c
1596
entry.asid = info.asid;
drivers/vdpa/vdpa_user/vduse_dev.c
1604
info.asid = entry.asid;
drivers/vdpa/vdpa_user/vduse_dev.c
335
static int vduse_dev_update_iotlb(struct vduse_dev *dev, u32 asid,
drivers/vdpa/vdpa_user/vduse_dev.c
350
msg.req.iova_v2.asid = asid;
drivers/vdpa/vdpa_user/vduse_dev.c
665
unsigned int asid)
drivers/vdpa/vdpa_user/vduse_dev.c
676
msg.req.vq_group_asid.asid = asid;
drivers/vdpa/vdpa_user/vduse_dev.c
683
dev->groups[group].as = &dev->as[asid];
drivers/vdpa/vdpa_user/vduse_dev.c
853
unsigned int asid,
drivers/vdpa/vdpa_user/vduse_dev.c
859
ret = vduse_domain_set_map(dev->as[asid].domain, iotlb);
drivers/vdpa/vdpa_user/vduse_dev.c
863
ret = vduse_dev_update_iotlb(dev, asid, 0ULL, ULLONG_MAX);
drivers/vdpa/vdpa_user/vduse_dev.c
865
vduse_domain_clear_map(dev->as[asid].domain, iotlb);
drivers/vhost/vdpa.c
1007
r = ops->dma_map(vdpa, asid, iova, size, pa, perm, opaque);
drivers/vhost/vdpa.c
1010
r = ops->set_map(vdpa, asid, iotlb);
drivers/vhost/vdpa.c
102
static struct vhost_vdpa_as *vhost_vdpa_alloc_as(struct vhost_vdpa *v, u32 asid)
drivers/vhost/vdpa.c
1033
u32 asid = iotlb_to_asid(iotlb);
drivers/vhost/vdpa.c
1035
vhost_vdpa_iotlb_unmap(v, iotlb, iova, iova + size - 1, asid);
drivers/vhost/vdpa.c
1039
ops->set_map(vdpa, asid, iotlb);
drivers/vhost/vdpa.c
104
struct hlist_head *head = &v->as[asid % VHOST_VDPA_IOTLB_BUCKETS];
drivers/vhost/vdpa.c
107
if (asid_to_as(v, asid))
drivers/vhost/vdpa.c
110
if (asid >= v->vdpa->nas)
drivers/vhost/vdpa.c
118
as->id = asid;
drivers/vhost/vdpa.c
1243
static int vhost_vdpa_process_iotlb_msg(struct vhost_dev *dev, u32 asid,
drivers/vhost/vdpa.c
125
u32 asid)
drivers/vhost/vdpa.c
1261
as = vhost_vdpa_find_alloc_as(v, asid);
drivers/vhost/vdpa.c
1264
asid);
drivers/vhost/vdpa.c
127
struct vhost_vdpa_as *as = asid_to_as(v, asid);
drivers/vhost/vdpa.c
1270
iotlb = asid_to_iotlb(v, asid);
drivers/vhost/vdpa.c
1272
if ((v->in_batch && v->batch_asid != asid) || !iotlb) {
drivers/vhost/vdpa.c
1273
if (v->in_batch && v->batch_asid != asid) {
drivers/vhost/vdpa.c
1275
v->batch_asid, asid);
drivers/vhost/vdpa.c
1278
dev_err(&v->dev, "no iotlb for asid %d\n", asid);
drivers/vhost/vdpa.c
1291
v->batch_asid = asid;
drivers/vhost/vdpa.c
1296
ops->set_map(vdpa, asid, iotlb);
drivers/vhost/vdpa.c
132
return vhost_vdpa_alloc_as(v, asid);
drivers/vhost/vdpa.c
135
static void vhost_vdpa_reset_map(struct vhost_vdpa *v, u32 asid)
drivers/vhost/vdpa.c
1390
u32 asid;
drivers/vhost/vdpa.c
1392
for (asid = 0; asid < v->vdpa->nas; asid++) {
drivers/vhost/vdpa.c
1393
as = asid_to_as(v, asid);
drivers/vhost/vdpa.c
1395
vhost_vdpa_remove_as(v, asid);
drivers/vhost/vdpa.c
141
ops->reset_map(vdpa, asid);
drivers/vhost/vdpa.c
144
static int vhost_vdpa_remove_as(struct vhost_vdpa *v, u32 asid)
drivers/vhost/vdpa.c
146
struct vhost_vdpa_as *as = asid_to_as(v, asid);
drivers/vhost/vdpa.c
152
vhost_vdpa_iotlb_unmap(v, &as->iotlb, 0ULL, 0ULL - 1, asid);
drivers/vhost/vdpa.c
160
vhost_vdpa_reset_map(v, asid);
drivers/vhost/vdpa.c
71
u64 last, u32 asid);
drivers/vhost/vdpa.c
80
static struct vhost_vdpa_as *asid_to_as(struct vhost_vdpa *v, u32 asid)
drivers/vhost/vdpa.c
82
struct hlist_head *head = &v->as[asid % VHOST_VDPA_IOTLB_BUCKETS];
drivers/vhost/vdpa.c
86
if (as->id == asid)
drivers/vhost/vdpa.c
909
struct vhost_iotlb_map *map, u32 asid)
drivers/vhost/vdpa.c
914
ops->dma_unmap(vdpa, asid, map->start, map->size);
drivers/vhost/vdpa.c
92
static struct vhost_iotlb *asid_to_iotlb(struct vhost_vdpa *v, u32 asid)
drivers/vhost/vdpa.c
921
u64 start, u64 last, u32 asid)
drivers/vhost/vdpa.c
938
vhost_vdpa_general_unmap(v, map, asid);
drivers/vhost/vdpa.c
94
struct vhost_vdpa_as *as = asid_to_as(v, asid);
drivers/vhost/vdpa.c
944
u64 start, u64 last, u32 asid)
drivers/vhost/vdpa.c
953
vhost_vdpa_general_unmap(v, map, asid);
drivers/vhost/vdpa.c
960
u64 last, u32 asid)
drivers/vhost/vdpa.c
965
return vhost_vdpa_va_unmap(v, iotlb, start, last, asid);
drivers/vhost/vdpa.c
967
return vhost_vdpa_pa_unmap(v, iotlb, start, last, asid);
drivers/vhost/vdpa.c
998
u32 asid = iotlb_to_asid(iotlb);
drivers/vhost/vhost.c
1623
static int vhost_process_iotlb_msg(struct vhost_dev *dev, u32 asid,
drivers/vhost/vhost.c
1628
if (asid != 0)
drivers/vhost/vhost.c
1677
u32 asid = 0;
drivers/vhost/vhost.c
1695
ret = copy_from_iter(&asid, sizeof(asid), from);
drivers/vhost/vhost.c
1696
if (ret != sizeof(asid)) {
drivers/vhost/vhost.c
1722
ret = dev->msg_handler(dev, asid, &msg);
drivers/vhost/vhost.c
1724
ret = vhost_process_iotlb_msg(dev, asid, &msg);
drivers/vhost/vhost.c
584
int (*msg_handler)(struct vhost_dev *dev, u32 asid,
drivers/vhost/vhost.h
205
int (*msg_handler)(struct vhost_dev *dev, u32 asid,
drivers/vhost/vhost.h
213
int (*msg_handler)(struct vhost_dev *dev, u32 asid,
include/linux/psp-sev.h
272
u32 asid; /* In */
include/linux/psp-sev.h
295
u32 asid; /* Out */
include/linux/psp-sev.h
616
u32 asid; /* In */
include/linux/vdpa.h
435
int (*set_map)(struct vdpa_device *vdev, unsigned int asid,
include/linux/vdpa.h
437
int (*dma_map)(struct vdpa_device *vdev, unsigned int asid,
include/linux/vdpa.h
439
int (*dma_unmap)(struct vdpa_device *vdev, unsigned int asid,
include/linux/vdpa.h
441
int (*reset_map)(struct vdpa_device *vdev, unsigned int asid);
include/linux/vdpa.h
443
unsigned int asid);
include/uapi/linux/vduse.h
178
__u32 asid;
include/uapi/linux/vduse.h
250
__u32 asid;
include/uapi/linux/vduse.h
276
__u32 asid; /* Only if device API version >= 1 */
include/uapi/linux/vduse.h
301
__u32 asid;
include/uapi/linux/vduse.h
371
__u32 asid;
include/uapi/linux/vhost_types.h
106
__u32 asid;
tools/testing/selftests/kvm/include/x86/svm.h
88
u32 asid;
tools/testing/selftests/kvm/lib/x86/svm.c
109
ctrl->asid = 1;