arch/arm64/include/asm/kvm_arm.h
259
#define ARM64_VTTBR_X(ipa, levels) ((ipa) - ((levels) * (PAGE_SHIFT - 3)))
arch/arm64/include/asm/kvm_asm.h
237
extern void __kvm_tlb_flush_vmid_ipa(struct kvm_s2_mmu *mmu, phys_addr_t ipa,
arch/arm64/include/asm/kvm_asm.h
240
phys_addr_t ipa,
arch/arm64/include/asm/kvm_nested.h
392
int __kvm_find_s1_desc_level(struct kvm_vcpu *vcpu, u64 va, u64 ipa,
arch/arm64/include/asm/kvm_nested.h
409
int __kvm_at_swap_desc(struct kvm *kvm, gpa_t ipa, u64 old, u64 new);
arch/arm64/include/asm/stage2_pgtable.h
23
#define stage2_pgtable_levels(ipa) ARM64_HW_PGTABLE_LEVELS((ipa) - 4)
arch/arm64/kvm/at.c
1528
u64 ipa, par;
arch/arm64/kvm/at.c
1569
ipa = (par & GENMASK_ULL(47, 12)) | (vaddr & GENMASK_ULL(11, 0));
arch/arm64/kvm/at.c
1571
ret = kvm_walk_nested_s2(vcpu, ipa, &out);
arch/arm64/kvm/at.c
1614
u64 ipa;
arch/arm64/kvm/at.c
1621
u64 ipa = dm->ipa;
arch/arm64/kvm/at.c
1624
ipa &= GENMASK(51, ctxt->wi->pgshift);
arch/arm64/kvm/at.c
1627
if (ipa != ctxt->table_ipa)
arch/arm64/kvm/at.c
1635
int __kvm_find_s1_desc_level(struct kvm_vcpu *vcpu, u64 va, u64 ipa, int *level)
arch/arm64/kvm/at.c
1638
.ipa = ipa,
arch/arm64/kvm/at.c
1735
int __kvm_at_swap_desc(struct kvm *kvm, gpa_t ipa, u64 old, u64 new)
arch/arm64/kvm/at.c
1747
gfn = ipa >> PAGE_SHIFT;
arch/arm64/kvm/at.c
1748
offset = offset_in_page(ipa);
arch/arm64/kvm/at.c
29
static bool check_output_size(u64 ipa, struct s1_walk_info *wi)
arch/arm64/kvm/at.c
32
return wi->max_oa_bits < 52 && (ipa & GENMASK_ULL(51, wi->max_oa_bits));
arch/arm64/kvm/at.c
33
return wi->max_oa_bits < 48 && (ipa & GENMASK_ULL(47, wi->max_oa_bits));
arch/arm64/kvm/at.c
405
u64 va_top, va_bottom, baddr, desc, new_desc, ipa;
arch/arm64/kvm/at.c
421
ipa = baddr | index;
arch/arm64/kvm/at.c
424
ret = kvm_walk_nested_s2(vcpu, ipa, &s2_trans);
arch/arm64/kvm/at.c
439
ipa = kvm_s2_trans_output(&s2_trans);
arch/arm64/kvm/at.c
453
ret = kvm_read_s1_desc(vcpu, ipa, &desc, wi);
arch/arm64/kvm/at.c
522
ret = kvm_swap_s1_desc(vcpu, ipa, desc, new_desc, wi);
arch/arm64/kvm/hyp/nvhe/hyp-main.c
392
DECLARE_REG(phys_addr_t, ipa, host_ctxt, 2);
arch/arm64/kvm/hyp/nvhe/hyp-main.c
395
__kvm_tlb_flush_vmid_ipa(kern_hyp_va(mmu), ipa, level);
arch/arm64/kvm/hyp/nvhe/hyp-main.c
401
DECLARE_REG(phys_addr_t, ipa, host_ctxt, 2);
arch/arm64/kvm/hyp/nvhe/hyp-main.c
404
__kvm_tlb_flush_vmid_ipa_nsh(kern_hyp_va(mmu), ipa, level);
arch/arm64/kvm/hyp/nvhe/mem_protect.c
1019
WARN_ON(kvm_pgtable_stage2_map(&vm->pgt, ipa, size, phys,
arch/arm64/kvm/hyp/nvhe/mem_protect.c
1030
static int __check_host_shared_guest(struct pkvm_hyp_vm *vm, u64 *__phys, u64 ipa, u64 size)
arch/arm64/kvm/hyp/nvhe/mem_protect.c
1038
ret = kvm_pgtable_get_leaf(&vm->pgt, ipa, &pte, &level);
arch/arm64/kvm/hyp/nvhe/mem_protect.c
1049
state = guest_get_page_state(pte, ipa);
arch/arm64/kvm/hyp/nvhe/mem_protect.c
1072
u64 ipa = hyp_pfn_to_phys(gfn);
arch/arm64/kvm/hyp/nvhe/mem_protect.c
1076
ret = __guest_check_transition_size(0, ipa, nr_pages, &size);
arch/arm64/kvm/hyp/nvhe/mem_protect.c
1083
ret = __check_host_shared_guest(vm, &phys, ipa, size);
arch/arm64/kvm/hyp/nvhe/mem_protect.c
1087
ret = kvm_pgtable_stage2_unmap(&vm->pgt, ipa, size);
arch/arm64/kvm/hyp/nvhe/mem_protect.c
1105
static void assert_host_shared_guest(struct pkvm_hyp_vm *vm, u64 ipa, u64 size)
arch/arm64/kvm/hyp/nvhe/mem_protect.c
1116
ret = __check_host_shared_guest(vm, &phys, ipa, size);
arch/arm64/kvm/hyp/nvhe/mem_protect.c
1127
u64 ipa = hyp_pfn_to_phys(gfn);
arch/arm64/kvm/hyp/nvhe/mem_protect.c
1136
assert_host_shared_guest(vm, ipa, 0);
arch/arm64/kvm/hyp/nvhe/mem_protect.c
1138
ret = kvm_pgtable_stage2_relax_perms(&vm->pgt, ipa, prot, 0);
arch/arm64/kvm/hyp/nvhe/mem_protect.c
1146
u64 size, ipa = hyp_pfn_to_phys(gfn);
arch/arm64/kvm/hyp/nvhe/mem_protect.c
1152
ret = __guest_check_transition_size(0, ipa, nr_pages, &size);
arch/arm64/kvm/hyp/nvhe/mem_protect.c
1156
assert_host_shared_guest(vm, ipa, size);
arch/arm64/kvm/hyp/nvhe/mem_protect.c
1158
ret = kvm_pgtable_stage2_wrprotect(&vm->pgt, ipa, size);
arch/arm64/kvm/hyp/nvhe/mem_protect.c
1166
u64 size, ipa = hyp_pfn_to_phys(gfn);
arch/arm64/kvm/hyp/nvhe/mem_protect.c
1172
ret = __guest_check_transition_size(0, ipa, nr_pages, &size);
arch/arm64/kvm/hyp/nvhe/mem_protect.c
1176
assert_host_shared_guest(vm, ipa, size);
arch/arm64/kvm/hyp/nvhe/mem_protect.c
1178
ret = kvm_pgtable_stage2_test_clear_young(&vm->pgt, ipa, size, mkold);
arch/arm64/kvm/hyp/nvhe/mem_protect.c
1187
u64 ipa = hyp_pfn_to_phys(gfn);
arch/arm64/kvm/hyp/nvhe/mem_protect.c
1192
assert_host_shared_guest(vm, ipa, 0);
arch/arm64/kvm/hyp/nvhe/mem_protect.c
1194
kvm_pgtable_stage2_mkyoung(&vm->pgt, ipa, 0);
arch/arm64/kvm/hyp/nvhe/mem_protect.c
1257
u64 ipa[2] = { selftest_ipa(), selftest_ipa() + PAGE_SIZE };
arch/arm64/kvm/hyp/nvhe/mem_protect.c
1271
WARN_ON(__guest_check_page_state_range(vm, ipa[0], size, selftest_state.guest[0]));
arch/arm64/kvm/hyp/nvhe/mem_protect.c
1272
WARN_ON(__guest_check_page_state_range(vm, ipa[1], size, selftest_state.guest[1]));
arch/arm64/kvm/hyp/nvhe/mem_protect.c
941
static int __guest_check_transition_size(u64 phys, u64 ipa, u64 nr_pages, u64 *size)
arch/arm64/kvm/hyp/nvhe/mem_protect.c
956
if (!IS_ALIGNED(phys | ipa, block_size))
arch/arm64/kvm/hyp/nvhe/mem_protect.c
968
u64 ipa = hyp_pfn_to_phys(gfn);
arch/arm64/kvm/hyp/nvhe/mem_protect.c
978
ret = __guest_check_transition_size(phys, ipa, nr_pages, &size);
arch/arm64/kvm/hyp/nvhe/mem_protect.c
989
ret = __guest_check_page_state_range(vm, ipa, size, PKVM_NOPAGE);
arch/arm64/kvm/hyp/nvhe/tlb.c
149
phys_addr_t ipa, int level)
arch/arm64/kvm/hyp/nvhe/tlb.c
161
ipa >>= 12;
arch/arm64/kvm/hyp/nvhe/tlb.c
162
__tlbi_level(ipas2e1is, ipa, level);
arch/arm64/kvm/hyp/nvhe/tlb.c
179
phys_addr_t ipa, int level)
arch/arm64/kvm/hyp/nvhe/tlb.c
191
ipa >>= 12;
arch/arm64/kvm/hyp/nvhe/tlb.c
192
__tlbi_level(ipas2e1, ipa, level);
arch/arm64/kvm/hyp/vhe/tlb.c
107
ipa >>= 12;
arch/arm64/kvm/hyp/vhe/tlb.c
108
__tlbi_level(ipas2e1is, ipa, level);
arch/arm64/kvm/hyp/vhe/tlb.c
125
phys_addr_t ipa, int level)
arch/arm64/kvm/hyp/vhe/tlb.c
139
ipa >>= 12;
arch/arm64/kvm/hyp/vhe/tlb.c
140
__tlbi_level(ipas2e1, ipa, level);
arch/arm64/kvm/hyp/vhe/tlb.c
93
phys_addr_t ipa, int level)
arch/arm64/kvm/mmu.c
1653
phys_addr_t ipa = fault_ipa;
arch/arm64/kvm/mmu.c
1734
ipa = kvm_s2_trans_output(nested);
arch/arm64/kvm/mmu.c
1763
ipa = ALIGN_DOWN(ipa, vma_pagesize);
arch/arm64/kvm/mmu.c
1765
gfn = ipa >> PAGE_SHIFT;
arch/arm64/kvm/mmu.c
1999
u64 ipa;
arch/arm64/kvm/mmu.c
2029
ipa = kvm_vcpu_get_fault_ipa(vcpu);
arch/arm64/kvm/mmu.c
2030
if (ipa != INVALID_GPA) {
arch/arm64/kvm/mmu.c
2032
run->arm_sea.gpa = ipa;
arch/arm64/kvm/mmu.c
2054
phys_addr_t ipa; /* Always the IPA in the L1 guest phys space */
arch/arm64/kvm/mmu.c
2070
ipa = fault_ipa = kvm_vcpu_get_fault_ipa(vcpu);
arch/arm64/kvm/mmu.c
2071
if (KVM_BUG_ON(ipa == INVALID_GPA, vcpu->kvm))
arch/arm64/kvm/mmu.c
2144
ipa = kvm_s2_trans_output(&nested_trans);
arch/arm64/kvm/mmu.c
2148
gfn = ipa >> PAGE_SHIFT;
arch/arm64/kvm/mmu.c
2191
ipa |= FAR_TO_FIPA_OFFSET(kvm_vcpu_get_hfar(vcpu));
arch/arm64/kvm/mmu.c
2192
ret = io_mem_abort(vcpu, ipa);
arch/arm64/kvm/mmu.c
2197
VM_BUG_ON(ipa >= kvm_phys_size(vcpu->arch.hw_mmu));
arch/arm64/kvm/nested.c
244
static int walk_nested_s2_pgd(struct kvm_vcpu *vcpu, phys_addr_t ipa,
arch/arm64/kvm/nested.c
294
index = (ipa & GENMASK_ULL(addr_top, addr_bottom))
arch/arm64/kvm/nested.c
371
(ipa & GENMASK_ULL(addr_bottom - 1, 0));
arch/arm64/kvm/pvtime.c
102
vcpu->arch.steal.base = ipa;
arch/arm64/kvm/pvtime.c
111
u64 ipa;
arch/arm64/kvm/pvtime.c
117
ipa = vcpu->arch.steal.base;
arch/arm64/kvm/pvtime.c
119
if (put_user(ipa, user))
arch/arm64/kvm/pvtime.c
80
u64 ipa;
arch/arm64/kvm/pvtime.c
88
if (get_user(ipa, user))
arch/arm64/kvm/pvtime.c
90
if (!IS_ALIGNED(ipa, 64))
arch/arm64/kvm/pvtime.c
97
if (kvm_is_error_hva(gfn_to_hva(kvm, ipa >> PAGE_SHIFT)))
arch/arm64/kvm/sys_regs.c
3895
} ipa;
arch/arm64/kvm/sys_regs.c
4000
base_addr = (info->ipa.addr & GENMASK_ULL(35, 0)) << 12;
arch/arm64/kvm/sys_regs.c
4001
max_size = compute_tlb_inval_range(mmu, info->ipa.addr);
arch/arm64/kvm/sys_regs.c
4022
.ipa = {
arch/arm64/kvm/trace_arm.h
141
unsigned long far, unsigned long ipa),
arch/arm64/kvm/trace_arm.h
142
TP_ARGS(vcpu_pc, esr, far, ipa),
arch/arm64/kvm/trace_arm.h
148
__field( unsigned long, ipa )
arch/arm64/kvm/trace_arm.h
155
__entry->ipa = ipa;
arch/arm64/kvm/trace_arm.h
159
__entry->ipa, __entry->esr,
arch/arm64/kvm/trace_arm.h
56
unsigned long long ipa),
arch/arm64/kvm/trace_arm.h
57
TP_ARGS(vcpu_pc, hsr, hxfar, ipa),
arch/arm64/kvm/trace_arm.h
63
__field( unsigned long long, ipa )
arch/arm64/kvm/trace_arm.h
70
__entry->ipa = ipa;
arch/arm64/kvm/trace_arm.h
74
__entry->ipa, __entry->hsr,
arch/arm64/kvm/trace_arm.h
79
TP_PROTO(unsigned long ipa),
arch/arm64/kvm/trace_arm.h
80
TP_ARGS(ipa),
arch/arm64/kvm/trace_arm.h
83
__field( unsigned long, ipa )
arch/arm64/kvm/trace_arm.h
87
__entry->ipa = ipa;
arch/arm64/kvm/trace_arm.h
90
TP_printk("IPA: %lx", __entry->ipa)
arch/s390/include/asm/kvm_host_types.h
218
__u16 ipa; /* 0x0056 */
arch/s390/kvm/diag.c
192
tid = vcpu->run->s.regs.gprs[(vcpu->arch.sie_block->ipa & 0xf0) >> 4];
arch/s390/kvm/diag.c
234
unsigned int reg = vcpu->arch.sie_block->ipa & 0xf;
arch/s390/kvm/diag.c
43
start = vcpu->run->s.regs.gprs[(vcpu->arch.sie_block->ipa & 0xf0) >> 4];
arch/s390/kvm/diag.c
44
end = vcpu->run->s.regs.gprs[vcpu->arch.sie_block->ipa & 0xf] + PAGE_SIZE;
arch/s390/kvm/diag.c
92
u16 rx = (vcpu->arch.sie_block->ipa & 0xf0) >> 4;
arch/s390/kvm/diag.c
93
u16 ry = (vcpu->arch.sie_block->ipa & 0x0f);
arch/s390/kvm/intercept.c
111
vcpu->arch.sie_block->ipa,
arch/s390/kvm/intercept.c
114
switch (vcpu->arch.sie_block->ipa >> 8) {
arch/s390/kvm/intercept.c
38
ilen = insn_length(vcpu->arch.sie_block->ipa >> 8);
arch/s390/kvm/intercept.c
399
if (vcpu->arch.sie_block->ipa == 0xb254) /* MVPG */
arch/s390/kvm/intercept.c
401
if (vcpu->arch.sie_block->ipa >> 8 == 0xae) /* SIGP */
arch/s390/kvm/intercept.c
475
trace_kvm_s390_handle_operexc(vcpu, vcpu->arch.sie_block->ipa,
arch/s390/kvm/intercept.c
478
if (vcpu->arch.sie_block->ipa == 0xb256)
arch/s390/kvm/intercept.c
484
if (vcpu->arch.sie_block->ipa == 0 && vcpu->kvm->arch.user_instr0)
arch/s390/kvm/intercept.c
576
if (vcpu->arch.sie_block->ipa == 0xb210)
arch/s390/kvm/intercept.c
578
if (vcpu->arch.sie_block->ipa == 0xb220)
arch/s390/kvm/intercept.c
580
if (vcpu->arch.sie_block->ipa == 0xb9a4)
arch/s390/kvm/intercept.c
582
if (vcpu->arch.sie_block->ipa >> 8 == 0xae) {
arch/s390/kvm/kvm-s390.c
4652
vcpu->run->s390_sieic.ipa = vcpu->arch.sie_block->ipa;
arch/s390/kvm/priv.c
1272
switch (vcpu->arch.sie_block->ipa & 0x00ff) {
arch/s390/kvm/priv.c
1290
int reg1 = (vcpu->arch.sie_block->ipa & 0x00f0) >> 4;
arch/s390/kvm/priv.c
1291
int reg3 = vcpu->arch.sie_block->ipa & 0x000f;
arch/s390/kvm/priv.c
1329
int reg1 = (vcpu->arch.sie_block->ipa & 0x00f0) >> 4;
arch/s390/kvm/priv.c
1330
int reg3 = vcpu->arch.sie_block->ipa & 0x000f;
arch/s390/kvm/priv.c
1363
int reg1 = (vcpu->arch.sie_block->ipa & 0x00f0) >> 4;
arch/s390/kvm/priv.c
1364
int reg3 = vcpu->arch.sie_block->ipa & 0x000f;
arch/s390/kvm/priv.c
1401
int reg1 = (vcpu->arch.sie_block->ipa & 0x00f0) >> 4;
arch/s390/kvm/priv.c
1402
int reg3 = vcpu->arch.sie_block->ipa & 0x000f;
arch/s390/kvm/priv.c
1512
switch (vcpu->arch.sie_block->ipa & 0x00ff) {
arch/s390/kvm/priv.c
1550
switch (vcpu->arch.sie_block->ipa & 0x00ff) {
arch/s390/kvm/priv.c
48
if ((vcpu->arch.sie_block->ipa & 0xf) <= 4)
arch/s390/kvm/priv.c
550
if (vcpu->arch.sie_block->ipa == 0xb236)
arch/s390/kvm/priv.c
552
if (vcpu->arch.sie_block->ipa == 0xb235)
arch/s390/kvm/priv.c
954
switch (vcpu->arch.sie_block->ipa & 0x00ff) {
arch/s390/kvm/sigp.c
427
int r1 = (vcpu->arch.sie_block->ipa & 0x00f0) >> 4;
arch/s390/kvm/sigp.c
428
int r3 = vcpu->arch.sie_block->ipa & 0x000f;
arch/s390/kvm/sigp.c
478
int r3 = vcpu->arch.sie_block->ipa & 0x000f;
arch/s390/kvm/trace.h
152
TP_PROTO(VCPU_PROTO_COMMON, __u16 ipa, __u32 ipb),
arch/s390/kvm/trace.h
153
TP_ARGS(VCPU_ARGS_COMMON, ipa, ipb),
arch/s390/kvm/trace.h
162
__entry->instruction = ((__u64)ipa << 48) |
arch/s390/kvm/trace.h
419
TP_PROTO(VCPU_PROTO_COMMON, __u16 ipa, __u32 ipb),
arch/s390/kvm/trace.h
420
TP_ARGS(VCPU_ARGS_COMMON, ipa, ipb),
arch/s390/kvm/trace.h
429
__entry->instruction = ((__u64)ipa << 48) |
arch/s390/kvm/vsie.c
1196
if (scb_s->ipa == 0xb2b0)
arch/s390/kvm/vsie.c
1205
if ((scb_s->ipa & 0xf000) != 0xf000)
arch/s390/kvm/vsie.c
1206
scb_s->ipa += 0x1000;
arch/s390/kvm/vsie.c
1209
if (scb_s->ipa == 0xb254)
arch/s390/kvm/vsie.c
420
scb_o->ipa = scb_s->ipa;
arch/s390/kvm/vsie.c
76
scb->ipa = 0x1000;
arch/s390/kvm/vsie.c
970
int ilen = insn_length(scb_s->ipa >> 8);
arch/x86/net/bpf_jit_comp.c
3657
const s64 *ipa = a;
arch/x86/net/bpf_jit_comp.c
3660
if (*ipa > *ipb)
arch/x86/net/bpf_jit_comp.c
3662
if (*ipa < *ipb)
drivers/clk/qcom/clk-rpmh.c
411
DEFINE_CLK_RPMH_BCM(ipa, "IP0");
drivers/clk/qcom/clk-smd-rpm.c
473
DEFINE_CLK_SMD_RPM(ipa, QCOM_SMD_RPM_IPA_CLK, 0);
drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c
1860
event->ipa = raw[3] & EVTQ_3_IPA;
drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c
1974
evt->sid, evt->ssid, evt->iova, evt->ipa);
drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.h
834
u64 ipa;
drivers/net/ethernet/intel/i40e/i40e_main.c
8346
u32 ipa;
drivers/net/ethernet/intel/i40e/i40e_main.c
8359
ipa = be32_to_cpu(filter->dst_ipv6[IPV6_MAX_INDEX - i]);
drivers/net/ethernet/intel/i40e/i40e_main.c
8361
*(__le32 *)&cld->ipaddr.raw_v6.data[i * 2] = cpu_to_le32(ipa);
drivers/net/ethernet/intel/i40e/i40e_main.c
8364
ipa = be32_to_cpu(filter->dst_ipv4);
drivers/net/ethernet/intel/i40e/i40e_main.c
8366
memcpy(&cld->ipaddr.v4.data, &ipa, sizeof(ipa));
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
939
struct qlcnic_ipaddr *ipa;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
950
ipa = (struct qlcnic_ipaddr *)&req.words[1];
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c
951
ipa->ipv4 = ip;
drivers/net/ipa/ipa.h
165
int ipa_setup(struct ipa *ipa);
drivers/net/ipa/ipa_cmd.c
172
bool ipa_cmd_table_init_valid(struct ipa *ipa, const struct ipa_mem *mem,
drivers/net/ipa/ipa_cmd.c
178
struct device *dev = ipa->dev;
drivers/net/ipa/ipa_cmd.c
181
size = route ? ipa->route_count : ipa->filter_count + 1;
drivers/net/ipa/ipa_cmd.c
194
ipa->mem_offset > offset_max - mem->offset) {
drivers/net/ipa/ipa_cmd.c
197
ipa->mem_offset, mem->offset, offset_max);
drivers/net/ipa/ipa_cmd.c
206
static bool ipa_cmd_header_init_local_valid(struct ipa *ipa)
drivers/net/ipa/ipa_cmd.c
208
struct device *dev = ipa->dev;
drivers/net/ipa/ipa_cmd.c
226
mem = ipa_mem_find(ipa, IPA_MEM_MODEM_HEADER);
drivers/net/ipa/ipa_cmd.c
231
if (offset > offset_max || ipa->mem_offset > offset_max - offset) {
drivers/net/ipa/ipa_cmd.c
234
ipa->mem_offset, offset, offset_max);
drivers/net/ipa/ipa_cmd.c
240
mem = ipa_mem_find(ipa, IPA_MEM_AP_HEADER);
drivers/net/ipa/ipa_cmd.c
256
static bool ipa_cmd_register_write_offset_valid(struct ipa *ipa,
drivers/net/ipa/ipa_cmd.c
260
struct device *dev = ipa->dev;
drivers/net/ipa/ipa_cmd.c
270
if (ipa->version >= IPA_VERSION_4_0)
drivers/net/ipa/ipa_cmd.c
279
if (offset > offset_max || ipa->mem_offset > offset_max - offset) {
drivers/net/ipa/ipa_cmd.c
281
name, ipa->mem_offset, offset, offset_max);
drivers/net/ipa/ipa_cmd.c
289
static bool ipa_cmd_register_write_valid(struct ipa *ipa)
drivers/net/ipa/ipa_cmd.c
298
if (ipa_table_hash_support(ipa)) {
drivers/net/ipa/ipa_cmd.c
299
if (ipa->version < IPA_VERSION_5_0)
drivers/net/ipa/ipa_cmd.c
300
reg = ipa_reg(ipa, FILT_ROUT_HASH_FLUSH);
drivers/net/ipa/ipa_cmd.c
302
reg = ipa_reg(ipa, FILT_ROUT_CACHE_FLUSH);
drivers/net/ipa/ipa_cmd.c
306
if (!ipa_cmd_register_write_offset_valid(ipa, name, offset))
drivers/net/ipa/ipa_cmd.c
317
reg = ipa_reg(ipa, ENDP_STATUS);
drivers/net/ipa/ipa_cmd.c
320
if (!ipa_cmd_register_write_offset_valid(ipa, name, offset))
drivers/net/ipa/ipa_cmd.c
349
ipa_cmd_payload_alloc(struct ipa *ipa, dma_addr_t *addr)
drivers/net/ipa/ipa_cmd.c
354
endpoint = ipa->name_map[IPA_ENDPOINT_AP_COMMAND_TX];
drivers/net/ipa/ipa_cmd.c
355
trans_info = &ipa->gsi.channel[endpoint->channel_id].trans_info;
drivers/net/ipa/ipa_cmd.c
366
struct ipa *ipa = container_of(trans->gsi, struct ipa, gsi);
drivers/net/ipa/ipa_cmd.c
373
offset += ipa->mem_offset;
drivers/net/ipa/ipa_cmd.c
380
hash_offset += ipa->mem_offset;
drivers/net/ipa/ipa_cmd.c
387
cmd_payload = ipa_cmd_payload_alloc(ipa, &payload_addr);
drivers/net/ipa/ipa_cmd.c
404
struct ipa *ipa = container_of(trans->gsi, struct ipa, gsi);
drivers/net/ipa/ipa_cmd.c
411
offset += ipa->mem_offset;
drivers/net/ipa/ipa_cmd.c
418
cmd_payload = ipa_cmd_payload_alloc(ipa, &payload_addr);
drivers/net/ipa/ipa_cmd.c
433
struct ipa *ipa = container_of(trans->gsi, struct ipa, gsi);
drivers/net/ipa/ipa_cmd.c
449
if (ipa->version >= IPA_VERSION_4_0) {
drivers/net/ipa/ipa_cmd.c
474
cmd_payload = ipa_cmd_payload_alloc(ipa, &payload_addr);
drivers/net/ipa/ipa_cmd.c
490
struct ipa *ipa = container_of(trans->gsi, struct ipa, gsi);
drivers/net/ipa/ipa_cmd.c
496
cmd_payload = ipa_cmd_payload_alloc(ipa, &payload_addr);
drivers/net/ipa/ipa_cmd.c
499
if (ipa->version < IPA_VERSION_5_0) {
drivers/net/ipa/ipa_cmd.c
515
struct ipa *ipa = container_of(trans->gsi, struct ipa, gsi);
drivers/net/ipa/ipa_cmd.c
525
WARN_ON(offset > U16_MAX || ipa->mem_offset > U16_MAX - offset);
drivers/net/ipa/ipa_cmd.c
527
offset += ipa->mem_offset;
drivers/net/ipa/ipa_cmd.c
529
cmd_payload = ipa_cmd_payload_alloc(ipa, &payload_addr);
drivers/net/ipa/ipa_cmd.c
555
struct ipa *ipa = container_of(trans->gsi, struct ipa, gsi);
drivers/net/ipa/ipa_cmd.c
561
cmd_payload = ipa_cmd_payload_alloc(ipa, &payload_addr);
drivers/net/ipa/ipa_cmd.c
573
struct ipa *ipa = container_of(trans->gsi, struct ipa, gsi);
drivers/net/ipa/ipa_cmd.c
579
payload = ipa_cmd_payload_alloc(ipa, &payload_addr);
drivers/net/ipa/ipa_cmd.c
588
struct ipa *ipa = container_of(trans->gsi, struct ipa, gsi);
drivers/net/ipa/ipa_cmd.c
592
reinit_completion(&ipa->completion);
drivers/net/ipa/ipa_cmd.c
605
endpoint = ipa->name_map[IPA_ENDPOINT_AP_LAN_RX];
drivers/net/ipa/ipa_cmd.c
617
void ipa_cmd_pipeline_clear_wait(struct ipa *ipa)
drivers/net/ipa/ipa_cmd.c
619
wait_for_completion(&ipa->completion);
drivers/net/ipa/ipa_cmd.c
623
struct gsi_trans *ipa_cmd_trans_alloc(struct ipa *ipa, u32 tre_count)
drivers/net/ipa/ipa_cmd.c
630
endpoint = ipa->name_map[IPA_ENDPOINT_AP_COMMAND_TX];
drivers/net/ipa/ipa_cmd.c
632
return gsi_channel_trans_alloc(&ipa->gsi, endpoint->channel_id,
drivers/net/ipa/ipa_cmd.c
637
int ipa_cmd_init(struct ipa *ipa)
drivers/net/ipa/ipa_cmd.c
641
if (!ipa_cmd_header_init_local_valid(ipa))
drivers/net/ipa/ipa_cmd.c
644
if (!ipa_cmd_register_write_valid(ipa))
drivers/net/ipa/ipa_cmd.h
13
struct ipa;
drivers/net/ipa/ipa_cmd.h
141
void ipa_cmd_pipeline_clear_wait(struct ipa *ipa);
drivers/net/ipa/ipa_cmd.h
151
struct gsi_trans *ipa_cmd_trans_alloc(struct ipa *ipa, u32 tre_count);
drivers/net/ipa/ipa_cmd.h
161
int ipa_cmd_init(struct ipa *ipa);
drivers/net/ipa/ipa_cmd.h
53
bool ipa_cmd_table_init_valid(struct ipa *ipa, const struct ipa_mem *mem,
drivers/net/ipa/ipa_endpoint.c
1003
reg = ipa_reg(ipa, ENDP_INIT_AGGR);
drivers/net/ipa/ipa_endpoint.c
1020
val |= aggr_time_limit_encode(ipa, reg, limit);
drivers/net/ipa/ipa_endpoint.c
1038
iowrite32(val, ipa->reg_virt + reg_n_offset(reg, endpoint_id));
drivers/net/ipa/ipa_endpoint.c
1049
static u32 hol_block_timer_encode(struct ipa *ipa, const struct reg *reg,
drivers/net/ipa/ipa_endpoint.c
1062
if (ipa->version >= IPA_VERSION_4_5) {
drivers/net/ipa/ipa_endpoint.c
1067
ticks = ipa_qtime_val(ipa, microseconds, max, &select);
drivers/net/ipa/ipa_endpoint.c
1074
rate = ipa_core_clock_rate(ipa);
drivers/net/ipa/ipa_endpoint.c
1081
if (ipa->version < IPA_VERSION_4_2)
drivers/net/ipa/ipa_endpoint.c
1114
struct ipa *ipa = endpoint->ipa;
drivers/net/ipa/ipa_endpoint.c
1119
reg = ipa_reg(ipa, ENDP_INIT_HOL_BLOCK_TIMER);
drivers/net/ipa/ipa_endpoint.c
1120
val = hol_block_timer_encode(ipa, reg, microseconds);
drivers/net/ipa/ipa_endpoint.c
1122
iowrite32(val, ipa->reg_virt + reg_n_offset(reg, endpoint_id));
drivers/net/ipa/ipa_endpoint.c
1129
struct ipa *ipa = endpoint->ipa;
drivers/net/ipa/ipa_endpoint.c
1134
reg = ipa_reg(ipa, ENDP_INIT_HOL_BLOCK_EN);
drivers/net/ipa/ipa_endpoint.c
1138
iowrite32(val, ipa->reg_virt + offset);
drivers/net/ipa/ipa_endpoint.c
1141
if (enable && ipa->version >= IPA_VERSION_4_5)
drivers/net/ipa/ipa_endpoint.c
1142
iowrite32(val, ipa->reg_virt + offset);
drivers/net/ipa/ipa_endpoint.c
1158
void ipa_endpoint_modem_hol_block_clear_all(struct ipa *ipa)
drivers/net/ipa/ipa_endpoint.c
1162
while (endpoint_id < ipa->endpoint_count) {
drivers/net/ipa/ipa_endpoint.c
1163
struct ipa_endpoint *endpoint = &ipa->endpoint[endpoint_id++];
drivers/net/ipa/ipa_endpoint.c
1176
struct ipa *ipa = endpoint->ipa;
drivers/net/ipa/ipa_endpoint.c
1183
reg = ipa_reg(ipa, ENDP_INIT_DEAGGR);
drivers/net/ipa/ipa_endpoint.c
1189
iowrite32(val, ipa->reg_virt + reg_n_offset(reg, endpoint_id));
drivers/net/ipa/ipa_endpoint.c
1196
struct ipa *ipa = endpoint->ipa;
drivers/net/ipa/ipa_endpoint.c
1200
reg = ipa_reg(ipa, ENDP_INIT_RSRC_GRP);
drivers/net/ipa/ipa_endpoint.c
1203
iowrite32(val, ipa->reg_virt + reg_n_offset(reg, endpoint_id));
drivers/net/ipa/ipa_endpoint.c
1209
struct ipa *ipa = endpoint->ipa;
drivers/net/ipa/ipa_endpoint.c
1216
reg = ipa_reg(ipa, ENDP_INIT_SEQ);
drivers/net/ipa/ipa_endpoint.c
1222
if (ipa->version < IPA_VERSION_4_5)
drivers/net/ipa/ipa_endpoint.c
1226
iowrite32(val, ipa->reg_virt + reg_n_offset(reg, endpoint_id));
drivers/net/ipa/ipa_endpoint.c
1275
struct ipa *ipa = endpoint->ipa;
drivers/net/ipa/ipa_endpoint.c
1279
reg = ipa_reg(ipa, ENDP_STATUS);
drivers/net/ipa/ipa_endpoint.c
128
static u32 ipa_status_extract(struct ipa *ipa, const void *data,
drivers/net/ipa/ipa_endpoint.c
1287
status_endpoint_id = ipa->name_map[name]->endpoint_id;
drivers/net/ipa/ipa_endpoint.c
1297
iowrite32(val, ipa->reg_virt + reg_n_offset(reg, endpoint_id));
drivers/net/ipa/ipa_endpoint.c
131
enum ipa_version version = ipa->version;
drivers/net/ipa/ipa_endpoint.c
1375
if (gsi_channel_trans_idle(&endpoint->ipa->gsi, endpoint->channel_id))
drivers/net/ipa/ipa_endpoint.c
1385
if (gsi_channel_trans_idle(&endpoint->ipa->gsi, endpoint->channel_id))
drivers/net/ipa/ipa_endpoint.c
1467
struct ipa *ipa = endpoint->ipa;
drivers/net/ipa/ipa_endpoint.c
1471
opcode = ipa_status_extract(ipa, data, STATUS_OPCODE);
drivers/net/ipa/ipa_endpoint.c
1475
endpoint_id = ipa_status_extract(ipa, data, STATUS_DST_ENDPOINT);
drivers/net/ipa/ipa_endpoint.c
1487
struct ipa *ipa = endpoint->ipa;
drivers/net/ipa/ipa_endpoint.c
1490
status_mask = ipa_status_extract(ipa, data, STATUS_MASK);
drivers/net/ipa/ipa_endpoint.c
1499
endpoint_id = ipa_status_extract(ipa, data, STATUS_SRC_ENDPOINT);
drivers/net/ipa/ipa_endpoint.c
1500
command_endpoint = ipa->name_map[IPA_ENDPOINT_AP_COMMAND_TX];
drivers/net/ipa/ipa_endpoint.c
1502
complete(&ipa->completion);
drivers/net/ipa/ipa_endpoint.c
1504
dev_err(ipa->dev, "unexpected tagged packet from endpoint %u\n",
drivers/net/ipa/ipa_endpoint.c
1516
struct ipa *ipa = endpoint->ipa;
drivers/net/ipa/ipa_endpoint.c
1524
exception = ipa_status_extract(ipa, data, STATUS_EXCEPTION);
drivers/net/ipa/ipa_endpoint.c
1529
rule = ipa_status_extract(ipa, data, STATUS_ROUTER_RULE_INDEX);
drivers/net/ipa/ipa_endpoint.c
1540
struct ipa *ipa = endpoint->ipa;
drivers/net/ipa/ipa_endpoint.c
1541
struct device *dev = ipa->dev;
drivers/net/ipa/ipa_endpoint.c
1557
length = ipa_status_extract(ipa, data, STATUS_LENGTH);
drivers/net/ipa/ipa_endpoint.c
1622
struct ipa *ipa = endpoint->ipa;
drivers/net/ipa/ipa_endpoint.c
1625
if (endpoint != ipa->name_map[IPA_ENDPOINT_AP_COMMAND_TX]) {
drivers/net/ipa/ipa_endpoint.c
1639
void ipa_endpoint_default_route_set(struct ipa *ipa, u32 endpoint_id)
drivers/net/ipa/ipa_endpoint.c
1644
reg = ipa_reg(ipa, ROUTE);
drivers/net/ipa/ipa_endpoint.c
1652
iowrite32(val, ipa->reg_virt + reg_offset(reg));
drivers/net/ipa/ipa_endpoint.c
1655
void ipa_endpoint_default_route_clear(struct ipa *ipa)
drivers/net/ipa/ipa_endpoint.c
1657
ipa_endpoint_default_route_set(ipa, 0);
drivers/net/ipa/ipa_endpoint.c
1672
struct ipa *ipa = endpoint->ipa;
drivers/net/ipa/ipa_endpoint.c
1673
struct device *dev = ipa->dev;
drivers/net/ipa/ipa_endpoint.c
1674
struct gsi *gsi = &ipa->gsi;
drivers/net/ipa/ipa_endpoint.c
1759
struct ipa *ipa = endpoint->ipa;
drivers/net/ipa/ipa_endpoint.c
1767
special = ipa->version < IPA_VERSION_4_0 && !endpoint->toward_ipa &&
drivers/net/ipa/ipa_endpoint.c
1772
gsi_channel_reset(&ipa->gsi, channel_id, true);
drivers/net/ipa/ipa_endpoint.c
1775
dev_err(ipa->dev,
drivers/net/ipa/ipa_endpoint.c
1789
if (endpoint->ipa->version < IPA_VERSION_4_2)
drivers/net/ipa/ipa_endpoint.c
1817
struct ipa *ipa = endpoint->ipa;
drivers/net/ipa/ipa_endpoint.c
1818
struct gsi *gsi = &ipa->gsi;
drivers/net/ipa/ipa_endpoint.c
1823
dev_err(ipa->dev,
drivers/net/ipa/ipa_endpoint.c
1831
ipa_interrupt_suspend_enable(ipa->interrupt, endpoint_id);
drivers/net/ipa/ipa_endpoint.c
1835
__set_bit(endpoint_id, ipa->enabled);
drivers/net/ipa/ipa_endpoint.c
1843
struct ipa *ipa = endpoint->ipa;
drivers/net/ipa/ipa_endpoint.c
1844
struct gsi *gsi = &ipa->gsi;
drivers/net/ipa/ipa_endpoint.c
1847
if (!test_bit(endpoint_id, ipa->enabled))
drivers/net/ipa/ipa_endpoint.c
1850
__clear_bit(endpoint_id, endpoint->ipa->enabled);
drivers/net/ipa/ipa_endpoint.c
1854
ipa_interrupt_suspend_disable(ipa->interrupt, endpoint_id);
drivers/net/ipa/ipa_endpoint.c
1860
dev_err(ipa->dev, "error %d attempting to stop endpoint %u\n",
drivers/net/ipa/ipa_endpoint.c
1866
struct device *dev = endpoint->ipa->dev;
drivers/net/ipa/ipa_endpoint.c
1867
struct gsi *gsi = &endpoint->ipa->gsi;
drivers/net/ipa/ipa_endpoint.c
1870
if (!test_bit(endpoint->endpoint_id, endpoint->ipa->enabled))
drivers/net/ipa/ipa_endpoint.c
1886
struct device *dev = endpoint->ipa->dev;
drivers/net/ipa/ipa_endpoint.c
1887
struct gsi *gsi = &endpoint->ipa->gsi;
drivers/net/ipa/ipa_endpoint.c
1890
if (!test_bit(endpoint->endpoint_id, endpoint->ipa->enabled))
drivers/net/ipa/ipa_endpoint.c
1904
void ipa_endpoint_suspend(struct ipa *ipa)
drivers/net/ipa/ipa_endpoint.c
1906
if (!ipa->setup_complete)
drivers/net/ipa/ipa_endpoint.c
1909
if (ipa->modem_netdev)
drivers/net/ipa/ipa_endpoint.c
1910
ipa_modem_suspend(ipa->modem_netdev);
drivers/net/ipa/ipa_endpoint.c
1912
ipa_endpoint_suspend_one(ipa->name_map[IPA_ENDPOINT_AP_LAN_RX]);
drivers/net/ipa/ipa_endpoint.c
1913
ipa_endpoint_suspend_one(ipa->name_map[IPA_ENDPOINT_AP_COMMAND_TX]);
drivers/net/ipa/ipa_endpoint.c
1916
void ipa_endpoint_resume(struct ipa *ipa)
drivers/net/ipa/ipa_endpoint.c
1918
if (!ipa->setup_complete)
drivers/net/ipa/ipa_endpoint.c
1921
ipa_endpoint_resume_one(ipa->name_map[IPA_ENDPOINT_AP_COMMAND_TX]);
drivers/net/ipa/ipa_endpoint.c
1922
ipa_endpoint_resume_one(ipa->name_map[IPA_ENDPOINT_AP_LAN_RX]);
drivers/net/ipa/ipa_endpoint.c
1924
if (ipa->modem_netdev)
drivers/net/ipa/ipa_endpoint.c
1925
ipa_modem_resume(ipa->modem_netdev);
drivers/net/ipa/ipa_endpoint.c
1930
struct gsi *gsi = &endpoint->ipa->gsi;
drivers/net/ipa/ipa_endpoint.c
1950
__set_bit(endpoint->endpoint_id, endpoint->ipa->set_up);
drivers/net/ipa/ipa_endpoint.c
1955
__clear_bit(endpoint->endpoint_id, endpoint->ipa->set_up);
drivers/net/ipa/ipa_endpoint.c
1963
void ipa_endpoint_setup(struct ipa *ipa)
drivers/net/ipa/ipa_endpoint.c
1967
for_each_set_bit(endpoint_id, ipa->defined, ipa->endpoint_count)
drivers/net/ipa/ipa_endpoint.c
1968
ipa_endpoint_setup_one(&ipa->endpoint[endpoint_id]);
drivers/net/ipa/ipa_endpoint.c
1971
void ipa_endpoint_teardown(struct ipa *ipa)
drivers/net/ipa/ipa_endpoint.c
1975
for_each_set_bit(endpoint_id, ipa->set_up, ipa->endpoint_count)
drivers/net/ipa/ipa_endpoint.c
1976
ipa_endpoint_teardown_one(&ipa->endpoint[endpoint_id]);
drivers/net/ipa/ipa_endpoint.c
1979
void ipa_endpoint_deconfig(struct ipa *ipa)
drivers/net/ipa/ipa_endpoint.c
1981
ipa->available_count = 0;
drivers/net/ipa/ipa_endpoint.c
1982
bitmap_free(ipa->available);
drivers/net/ipa/ipa_endpoint.c
1983
ipa->available = NULL;
drivers/net/ipa/ipa_endpoint.c
1986
int ipa_endpoint_config(struct ipa *ipa)
drivers/net/ipa/ipa_endpoint.c
1988
struct device *dev = ipa->dev;
drivers/net/ipa/ipa_endpoint.c
2008
if (ipa->version < IPA_VERSION_3_5) {
drivers/net/ipa/ipa_endpoint.c
2009
ipa->available = bitmap_zalloc(IPA_ENDPOINT_MAX, GFP_KERNEL);
drivers/net/ipa/ipa_endpoint.c
2010
if (!ipa->available)
drivers/net/ipa/ipa_endpoint.c
2012
ipa->available_count = IPA_ENDPOINT_MAX;
drivers/net/ipa/ipa_endpoint.c
2014
bitmap_set(ipa->available, 0, IPA_ENDPOINT_MAX);
drivers/net/ipa/ipa_endpoint.c
2022
reg = ipa_reg(ipa, FLAVOR_0);
drivers/net/ipa/ipa_endpoint.c
2023
val = ioread32(ipa->reg_virt + reg_offset(reg));
drivers/net/ipa/ipa_endpoint.c
2038
hw_limit = ipa->version < IPA_VERSION_5_0 ? 32 : U8_MAX + 1;
drivers/net/ipa/ipa_endpoint.c
2046
ipa->available = bitmap_zalloc(limit, GFP_KERNEL);
drivers/net/ipa/ipa_endpoint.c
2047
if (!ipa->available)
drivers/net/ipa/ipa_endpoint.c
2049
ipa->available_count = limit;
drivers/net/ipa/ipa_endpoint.c
2052
bitmap_set(ipa->available, 0, tx_count);
drivers/net/ipa/ipa_endpoint.c
2053
bitmap_set(ipa->available, rx_base, rx_count);
drivers/net/ipa/ipa_endpoint.c
2055
for_each_set_bit(endpoint_id, ipa->defined, ipa->endpoint_count) {
drivers/net/ipa/ipa_endpoint.c
2064
if (!test_bit(endpoint_id, ipa->available)) {
drivers/net/ipa/ipa_endpoint.c
2071
endpoint = &ipa->endpoint[endpoint_id];
drivers/net/ipa/ipa_endpoint.c
2086
ipa_endpoint_deconfig(ipa);
drivers/net/ipa/ipa_endpoint.c
2091
static void ipa_endpoint_init_one(struct ipa *ipa, enum ipa_endpoint_name name,
drivers/net/ipa/ipa_endpoint.c
2096
endpoint = &ipa->endpoint[data->endpoint_id];
drivers/net/ipa/ipa_endpoint.c
2099
ipa->channel_map[data->channel_id] = endpoint;
drivers/net/ipa/ipa_endpoint.c
2100
ipa->name_map[name] = endpoint;
drivers/net/ipa/ipa_endpoint.c
2102
endpoint->ipa = ipa;
drivers/net/ipa/ipa_endpoint.c
2109
__set_bit(endpoint->endpoint_id, ipa->defined);
drivers/net/ipa/ipa_endpoint.c
2114
__clear_bit(endpoint->endpoint_id, endpoint->ipa->defined);
drivers/net/ipa/ipa_endpoint.c
2119
void ipa_endpoint_exit(struct ipa *ipa)
drivers/net/ipa/ipa_endpoint.c
2123
ipa->filtered = 0;
drivers/net/ipa/ipa_endpoint.c
2125
for_each_set_bit(endpoint_id, ipa->defined, ipa->endpoint_count)
drivers/net/ipa/ipa_endpoint.c
2126
ipa_endpoint_exit_one(&ipa->endpoint[endpoint_id]);
drivers/net/ipa/ipa_endpoint.c
2128
bitmap_free(ipa->enabled);
drivers/net/ipa/ipa_endpoint.c
2129
ipa->enabled = NULL;
drivers/net/ipa/ipa_endpoint.c
2130
bitmap_free(ipa->set_up);
drivers/net/ipa/ipa_endpoint.c
2131
ipa->set_up = NULL;
drivers/net/ipa/ipa_endpoint.c
2132
bitmap_free(ipa->defined);
drivers/net/ipa/ipa_endpoint.c
2133
ipa->defined = NULL;
drivers/net/ipa/ipa_endpoint.c
2135
memset(ipa->name_map, 0, sizeof(ipa->name_map));
drivers/net/ipa/ipa_endpoint.c
2136
memset(ipa->channel_map, 0, sizeof(ipa->channel_map));
drivers/net/ipa/ipa_endpoint.c
2140
int ipa_endpoint_init(struct ipa *ipa, u32 count,
drivers/net/ipa/ipa_endpoint.c
2149
ipa->endpoint_count = ipa_endpoint_max(ipa, count, data) + 1;
drivers/net/ipa/ipa_endpoint.c
2150
if (!ipa->endpoint_count)
drivers/net/ipa/ipa_endpoint.c
2154
ipa->defined = bitmap_zalloc(ipa->endpoint_count, GFP_KERNEL);
drivers/net/ipa/ipa_endpoint.c
2155
if (!ipa->defined)
drivers/net/ipa/ipa_endpoint.c
2158
ipa->set_up = bitmap_zalloc(ipa->endpoint_count, GFP_KERNEL);
drivers/net/ipa/ipa_endpoint.c
2159
if (!ipa->set_up)
drivers/net/ipa/ipa_endpoint.c
2162
ipa->enabled = bitmap_zalloc(ipa->endpoint_count, GFP_KERNEL);
drivers/net/ipa/ipa_endpoint.c
2163
if (!ipa->enabled)
drivers/net/ipa/ipa_endpoint.c
2171
ipa_endpoint_init_one(ipa, name, data);
drivers/net/ipa/ipa_endpoint.c
2176
ipa->modem_tx_count++;
drivers/net/ipa/ipa_endpoint.c
2180
if (!ipa_filtered_valid(ipa, filtered)) {
drivers/net/ipa/ipa_endpoint.c
2181
ipa_endpoint_exit(ipa);
drivers/net/ipa/ipa_endpoint.c
2186
ipa->filtered = filtered;
drivers/net/ipa/ipa_endpoint.c
2191
bitmap_free(ipa->set_up);
drivers/net/ipa/ipa_endpoint.c
2192
ipa->set_up = NULL;
drivers/net/ipa/ipa_endpoint.c
2194
bitmap_free(ipa->defined);
drivers/net/ipa/ipa_endpoint.c
2195
ipa->defined = NULL;
drivers/net/ipa/ipa_endpoint.c
234
static bool ipa_endpoint_data_valid_one(struct ipa *ipa, u32 count,
drivers/net/ipa/ipa_endpoint.c
240
struct device *dev = ipa->dev;
drivers/net/ipa/ipa_endpoint.c
308
reg = ipa_reg(ipa, ENDP_INIT_AGGR);
drivers/net/ipa/ipa_endpoint.c
322
if (ipa->version >= IPA_VERSION_4_5) {
drivers/net/ipa/ipa_endpoint.c
390
static u32 ipa_endpoint_max(struct ipa *ipa, u32 count,
drivers/net/ipa/ipa_endpoint.c
394
struct device *dev = ipa->dev;
drivers/net/ipa/ipa_endpoint.c
424
if (!ipa_endpoint_data_valid_one(ipa, count, data, dp))
drivers/net/ipa/ipa_endpoint.c
436
struct gsi *gsi = &endpoint->ipa->gsi;
drivers/net/ipa/ipa_endpoint.c
452
struct ipa *ipa = endpoint->ipa;
drivers/net/ipa/ipa_endpoint.c
461
WARN_ON(ipa->version >= IPA_VERSION_4_2);
drivers/net/ipa/ipa_endpoint.c
463
WARN_ON(ipa->version >= IPA_VERSION_4_0);
drivers/net/ipa/ipa_endpoint.c
465
reg = ipa_reg(ipa, ENDP_INIT_CTRL);
drivers/net/ipa/ipa_endpoint.c
467
val = ioread32(ipa->reg_virt + offset);
drivers/net/ipa/ipa_endpoint.c
477
iowrite32(val, ipa->reg_virt + offset);
drivers/net/ipa/ipa_endpoint.c
488
WARN_ON(endpoint->ipa->version >= IPA_VERSION_4_2);
drivers/net/ipa/ipa_endpoint.c
497
struct ipa *ipa = endpoint->ipa;
drivers/net/ipa/ipa_endpoint.c
502
WARN_ON(!test_bit(endpoint_id, ipa->available));
drivers/net/ipa/ipa_endpoint.c
504
reg = ipa_reg(ipa, STATE_AGGR_ACTIVE);
drivers/net/ipa/ipa_endpoint.c
505
val = ioread32(ipa->reg_virt + reg_n_offset(reg, unit));
drivers/net/ipa/ipa_endpoint.c
514
struct ipa *ipa = endpoint->ipa;
drivers/net/ipa/ipa_endpoint.c
518
WARN_ON(!test_bit(endpoint_id, ipa->available));
drivers/net/ipa/ipa_endpoint.c
520
reg = ipa_reg(ipa, AGGR_FORCE_CLOSE);
drivers/net/ipa/ipa_endpoint.c
521
iowrite32(mask, ipa->reg_virt + reg_n_offset(reg, unit));
drivers/net/ipa/ipa_endpoint.c
535
struct ipa *ipa = endpoint->ipa;
drivers/net/ipa/ipa_endpoint.c
547
ipa_interrupt_simulate_suspend(ipa->interrupt);
drivers/net/ipa/ipa_endpoint.c
556
if (endpoint->ipa->version >= IPA_VERSION_4_0)
drivers/net/ipa/ipa_endpoint.c
578
void ipa_endpoint_modem_pause_all(struct ipa *ipa, bool enable)
drivers/net/ipa/ipa_endpoint.c
582
while (endpoint_id < ipa->endpoint_count) {
drivers/net/ipa/ipa_endpoint.c
583
struct ipa_endpoint *endpoint = &ipa->endpoint[endpoint_id++];
drivers/net/ipa/ipa_endpoint.c
590
else if (ipa->version < IPA_VERSION_4_2)
drivers/net/ipa/ipa_endpoint.c
593
gsi_modem_channel_flow_control(&ipa->gsi,
drivers/net/ipa/ipa_endpoint.c
600
int ipa_endpoint_modem_exception_reset_all(struct ipa *ipa)
drivers/net/ipa/ipa_endpoint.c
609
count = ipa->modem_tx_count + ipa_cmd_pipeline_clear_count();
drivers/net/ipa/ipa_endpoint.c
610
trans = ipa_cmd_trans_alloc(ipa, count);
drivers/net/ipa/ipa_endpoint.c
612
dev_err(ipa->dev,
drivers/net/ipa/ipa_endpoint.c
617
for_each_set_bit(endpoint_id, ipa->defined, ipa->endpoint_count) {
drivers/net/ipa/ipa_endpoint.c
623
endpoint = &ipa->endpoint[endpoint_id];
drivers/net/ipa/ipa_endpoint.c
627
reg = ipa_reg(ipa, ENDP_STATUS);
drivers/net/ipa/ipa_endpoint.c
641
ipa_cmd_pipeline_clear_wait(ipa);
drivers/net/ipa/ipa_endpoint.c
649
struct ipa *ipa = endpoint->ipa;
drivers/net/ipa/ipa_endpoint.c
654
reg = ipa_reg(ipa, ENDP_INIT_CFG);
drivers/net/ipa/ipa_endpoint.c
657
enum ipa_version version = ipa->version;
drivers/net/ipa/ipa_endpoint.c
680
iowrite32(val, ipa->reg_virt + reg_n_offset(reg, endpoint_id));
drivers/net/ipa/ipa_endpoint.c
686
struct ipa *ipa = endpoint->ipa;
drivers/net/ipa/ipa_endpoint.c
693
reg = ipa_reg(ipa, ENDP_INIT_NAT);
drivers/net/ipa/ipa_endpoint.c
696
iowrite32(val, ipa->reg_virt + reg_n_offset(reg, endpoint_id));
drivers/net/ipa/ipa_endpoint.c
788
struct ipa *ipa = endpoint->ipa;
drivers/net/ipa/ipa_endpoint.c
792
reg = ipa_reg(ipa, ENDP_INIT_HDR);
drivers/net/ipa/ipa_endpoint.c
794
enum ipa_version version = ipa->version;
drivers/net/ipa/ipa_endpoint.c
826
iowrite32(val, ipa->reg_virt + reg_n_offset(reg, endpoint_id));
drivers/net/ipa/ipa_endpoint.c
833
struct ipa *ipa = endpoint->ipa;
drivers/net/ipa/ipa_endpoint.c
837
reg = ipa_reg(ipa, ENDP_INIT_HDR_EXT);
drivers/net/ipa/ipa_endpoint.c
864
if (ipa->version >= IPA_VERSION_4_5) {
drivers/net/ipa/ipa_endpoint.c
878
iowrite32(val, ipa->reg_virt + reg_n_offset(reg, endpoint_id));
drivers/net/ipa/ipa_endpoint.c
884
struct ipa *ipa = endpoint->ipa;
drivers/net/ipa/ipa_endpoint.c
892
reg = ipa_reg(ipa, ENDP_INIT_HDR_METADATA_MASK);
drivers/net/ipa/ipa_endpoint.c
899
iowrite32(val, ipa->reg_virt + offset);
drivers/net/ipa/ipa_endpoint.c
904
struct ipa *ipa = endpoint->ipa;
drivers/net/ipa/ipa_endpoint.c
912
reg = ipa_reg(ipa, ENDP_INIT_MODE);
drivers/net/ipa/ipa_endpoint.c
915
u32 dma_endpoint_id = ipa->name_map[name]->endpoint_id;
drivers/net/ipa/ipa_endpoint.c
925
iowrite32(val, ipa->reg_virt + offset);
drivers/net/ipa/ipa_endpoint.c
940
ipa_qtime_val(struct ipa *ipa, u32 microseconds, u32 max, u32 *select)
drivers/net/ipa/ipa_endpoint.c
956
if (ipa->version >= IPA_VERSION_5_0) {
drivers/net/ipa/ipa_endpoint.c
969
static u32 aggr_time_limit_encode(struct ipa *ipa, const struct reg *reg,
drivers/net/ipa/ipa_endpoint.c
979
if (ipa->version >= IPA_VERSION_4_5) {
drivers/net/ipa/ipa_endpoint.c
982
ticks = ipa_qtime_val(ipa, microseconds, max, &select);
drivers/net/ipa/ipa_endpoint.c
999
struct ipa *ipa = endpoint->ipa;
drivers/net/ipa/ipa_endpoint.h
153
struct ipa *ipa;
drivers/net/ipa/ipa_endpoint.h
172
void ipa_endpoint_modem_hol_block_clear_all(struct ipa *ipa);
drivers/net/ipa/ipa_endpoint.h
174
void ipa_endpoint_modem_pause_all(struct ipa *ipa, bool enable);
drivers/net/ipa/ipa_endpoint.h
176
int ipa_endpoint_modem_exception_reset_all(struct ipa *ipa);
drivers/net/ipa/ipa_endpoint.h
186
void ipa_endpoint_suspend(struct ipa *ipa);
drivers/net/ipa/ipa_endpoint.h
187
void ipa_endpoint_resume(struct ipa *ipa);
drivers/net/ipa/ipa_endpoint.h
189
void ipa_endpoint_setup(struct ipa *ipa);
drivers/net/ipa/ipa_endpoint.h
19
struct ipa;
drivers/net/ipa/ipa_endpoint.h
190
void ipa_endpoint_teardown(struct ipa *ipa);
drivers/net/ipa/ipa_endpoint.h
192
int ipa_endpoint_config(struct ipa *ipa);
drivers/net/ipa/ipa_endpoint.h
193
void ipa_endpoint_deconfig(struct ipa *ipa);
drivers/net/ipa/ipa_endpoint.h
195
void ipa_endpoint_default_route_set(struct ipa *ipa, u32 endpoint_id);
drivers/net/ipa/ipa_endpoint.h
196
void ipa_endpoint_default_route_clear(struct ipa *ipa);
drivers/net/ipa/ipa_endpoint.h
198
int ipa_endpoint_init(struct ipa *ipa, u32 count,
drivers/net/ipa/ipa_endpoint.h
200
void ipa_endpoint_exit(struct ipa *ipa);
drivers/net/ipa/ipa_gsi.c
18
struct ipa *ipa = container_of(trans->gsi, struct ipa, gsi);
drivers/net/ipa/ipa_gsi.c
20
ipa_endpoint_trans_complete(ipa->channel_map[trans->channel_id], trans);
drivers/net/ipa/ipa_gsi.c
25
struct ipa *ipa = container_of(trans->gsi, struct ipa, gsi);
drivers/net/ipa/ipa_gsi.c
27
ipa_endpoint_trans_release(ipa->channel_map[trans->channel_id], trans);
drivers/net/ipa/ipa_gsi.c
33
struct ipa *ipa = container_of(gsi, struct ipa, gsi);
drivers/net/ipa/ipa_gsi.c
36
endpoint = ipa->channel_map[channel_id];
drivers/net/ipa/ipa_gsi.c
44
struct ipa *ipa = container_of(gsi, struct ipa, gsi);
drivers/net/ipa/ipa_gsi.c
47
endpoint = ipa->channel_map[channel_id];
drivers/net/ipa/ipa_interrupt.c
104
iowrite32(mask, ipa->reg_virt + offset);
drivers/net/ipa/ipa_interrupt.c
113
struct ipa *ipa = interrupt->ipa;
drivers/net/ipa/ipa_interrupt.c
115
struct device *dev = ipa->dev;
drivers/net/ipa/ipa_interrupt.c
130
reg = ipa_reg(ipa, IPA_IRQ_STTS);
drivers/net/ipa/ipa_interrupt.c
132
pending = ioread32(ipa->reg_virt + offset);
drivers/net/ipa/ipa_interrupt.c
141
pending = ioread32(ipa->reg_virt + offset);
drivers/net/ipa/ipa_interrupt.c
148
reg = ipa_reg(ipa, IPA_IRQ_CLR);
drivers/net/ipa/ipa_interrupt.c
149
iowrite32(pending, ipa->reg_virt + reg_offset(reg));
drivers/net/ipa/ipa_interrupt.c
157
static void ipa_interrupt_enabled_update(struct ipa *ipa)
drivers/net/ipa/ipa_interrupt.c
159
const struct reg *reg = ipa_reg(ipa, IPA_IRQ_EN);
drivers/net/ipa/ipa_interrupt.c
161
iowrite32(ipa->interrupt->enabled, ipa->reg_virt + reg_offset(reg));
drivers/net/ipa/ipa_interrupt.c
165
void ipa_interrupt_enable(struct ipa *ipa, enum ipa_irq_id ipa_irq)
drivers/net/ipa/ipa_interrupt.c
168
ipa->interrupt->enabled |= BIT(ipa_irq);
drivers/net/ipa/ipa_interrupt.c
169
ipa_interrupt_enabled_update(ipa);
drivers/net/ipa/ipa_interrupt.c
173
void ipa_interrupt_disable(struct ipa *ipa, enum ipa_irq_id ipa_irq)
drivers/net/ipa/ipa_interrupt.c
176
ipa->interrupt->enabled &= ~BIT(ipa_irq);
drivers/net/ipa/ipa_interrupt.c
177
ipa_interrupt_enabled_update(ipa);
drivers/net/ipa/ipa_interrupt.c
180
void ipa_interrupt_irq_disable(struct ipa *ipa)
drivers/net/ipa/ipa_interrupt.c
182
disable_irq(ipa->interrupt->irq);
drivers/net/ipa/ipa_interrupt.c
185
void ipa_interrupt_irq_enable(struct ipa *ipa)
drivers/net/ipa/ipa_interrupt.c
187
enable_irq(ipa->interrupt->irq);
drivers/net/ipa/ipa_interrupt.c
194
struct ipa *ipa = interrupt->ipa;
drivers/net/ipa/ipa_interrupt.c
202
WARN_ON(!test_bit(endpoint_id, ipa->available));
drivers/net/ipa/ipa_interrupt.c
205
if (ipa->version == IPA_VERSION_3_0)
drivers/net/ipa/ipa_interrupt.c
208
weight = bitmap_weight(interrupt->suspend_enabled, ipa->endpoint_count);
drivers/net/ipa/ipa_interrupt.c
210
ipa_interrupt_disable(ipa, IPA_IRQ_TX_SUSPEND);
drivers/net/ipa/ipa_interrupt.c
212
reg = ipa_reg(ipa, IRQ_SUSPEND_EN);
drivers/net/ipa/ipa_interrupt.c
214
val = ioread32(ipa->reg_virt + offset);
drivers/net/ipa/ipa_interrupt.c
222
iowrite32(val, ipa->reg_virt + offset);
drivers/net/ipa/ipa_interrupt.c
225
ipa_interrupt_enable(ipa, IPA_IRQ_TX_SUSPEND);
drivers/net/ipa/ipa_interrupt.c
249
int ipa_interrupt_config(struct ipa *ipa)
drivers/net/ipa/ipa_interrupt.c
251
struct ipa_interrupt *interrupt = ipa->interrupt;
drivers/net/ipa/ipa_interrupt.c
253
struct device *dev = ipa->dev;
drivers/net/ipa/ipa_interrupt.c
257
interrupt->ipa = ipa;
drivers/net/ipa/ipa_interrupt.c
261
interrupt->suspend_enabled = bitmap_zalloc(ipa->endpoint_count,
drivers/net/ipa/ipa_interrupt.c
269
reg = ipa_reg(ipa, IPA_IRQ_EN);
drivers/net/ipa/ipa_interrupt.c
270
iowrite32(0, ipa->reg_virt + reg_offset(reg));
drivers/net/ipa/ipa_interrupt.c
292
ipa->interrupt = interrupt;
drivers/net/ipa/ipa_interrupt.c
309
void ipa_interrupt_deconfig(struct ipa *ipa)
drivers/net/ipa/ipa_interrupt.c
311
struct ipa_interrupt *interrupt = ipa->interrupt;
drivers/net/ipa/ipa_interrupt.c
312
struct device *dev = ipa->dev;
drivers/net/ipa/ipa_interrupt.c
314
ipa->interrupt = NULL;
drivers/net/ipa/ipa_interrupt.c
43
struct ipa *ipa;
drivers/net/ipa/ipa_interrupt.c
52
struct ipa *ipa = interrupt->ipa;
drivers/net/ipa/ipa_interrupt.c
56
unit_count = DIV_ROUND_UP(ipa->endpoint_count, 32);
drivers/net/ipa/ipa_interrupt.c
61
reg = ipa_reg(ipa, IRQ_SUSPEND_INFO);
drivers/net/ipa/ipa_interrupt.c
62
val = ioread32(ipa->reg_virt + reg_n_offset(reg, unit));
drivers/net/ipa/ipa_interrupt.c
65
if (!val || ipa->version == IPA_VERSION_3_0)
drivers/net/ipa/ipa_interrupt.c
68
reg = ipa_reg(ipa, IRQ_SUSPEND_CLR);
drivers/net/ipa/ipa_interrupt.c
69
iowrite32(val, ipa->reg_virt + reg_n_offset(reg, unit));
drivers/net/ipa/ipa_interrupt.c
76
struct ipa *ipa = interrupt->ipa;
drivers/net/ipa/ipa_interrupt.c
81
reg = ipa_reg(ipa, IPA_IRQ_CLR);
drivers/net/ipa/ipa_interrupt.c
90
iowrite32(mask, ipa->reg_virt + offset);
drivers/net/ipa/ipa_interrupt.c
91
ipa_uc_interrupt_handler(ipa, irq_id);
drivers/net/ipa/ipa_interrupt.h
13
struct ipa;
drivers/net/ipa/ipa_interrupt.h
55
void ipa_interrupt_enable(struct ipa *ipa, enum ipa_irq_id ipa_irq);
drivers/net/ipa/ipa_interrupt.h
62
void ipa_interrupt_disable(struct ipa *ipa, enum ipa_irq_id ipa_irq);
drivers/net/ipa/ipa_interrupt.h
70
void ipa_interrupt_irq_enable(struct ipa *ipa);
drivers/net/ipa/ipa_interrupt.h
78
void ipa_interrupt_irq_disable(struct ipa *ipa);
drivers/net/ipa/ipa_interrupt.h
86
int ipa_interrupt_config(struct ipa *ipa);
drivers/net/ipa/ipa_interrupt.h
92
void ipa_interrupt_deconfig(struct ipa *ipa);
drivers/net/ipa/ipa_main.c
111
int ipa_setup(struct ipa *ipa)
drivers/net/ipa/ipa_main.c
115
struct device *dev = ipa->dev;
drivers/net/ipa/ipa_main.c
118
ret = gsi_setup(&ipa->gsi);
drivers/net/ipa/ipa_main.c
122
ipa_endpoint_setup(ipa);
drivers/net/ipa/ipa_main.c
127
command_endpoint = ipa->name_map[IPA_ENDPOINT_AP_COMMAND_TX];
drivers/net/ipa/ipa_main.c
132
ret = ipa_mem_setup(ipa); /* No matching teardown required */
drivers/net/ipa/ipa_main.c
136
ret = ipa_table_setup(ipa); /* No matching teardown required */
drivers/net/ipa/ipa_main.c
143
exception_endpoint = ipa->name_map[IPA_ENDPOINT_AP_LAN_RX];
drivers/net/ipa/ipa_main.c
148
ipa_endpoint_default_route_set(ipa, exception_endpoint->endpoint_id);
drivers/net/ipa/ipa_main.c
151
ret = ipa_qmi_setup(ipa);
drivers/net/ipa/ipa_main.c
155
ipa->setup_complete = true;
drivers/net/ipa/ipa_main.c
162
ipa_endpoint_default_route_clear(ipa);
drivers/net/ipa/ipa_main.c
167
ipa_endpoint_teardown(ipa);
drivers/net/ipa/ipa_main.c
168
gsi_teardown(&ipa->gsi);
drivers/net/ipa/ipa_main.c
177
static void ipa_teardown(struct ipa *ipa)
drivers/net/ipa/ipa_main.c
183
ipa->setup_complete = false;
drivers/net/ipa/ipa_main.c
185
ipa_qmi_teardown(ipa);
drivers/net/ipa/ipa_main.c
186
ipa_endpoint_default_route_clear(ipa);
drivers/net/ipa/ipa_main.c
187
exception_endpoint = ipa->name_map[IPA_ENDPOINT_AP_LAN_RX];
drivers/net/ipa/ipa_main.c
189
command_endpoint = ipa->name_map[IPA_ENDPOINT_AP_COMMAND_TX];
drivers/net/ipa/ipa_main.c
191
ipa_endpoint_teardown(ipa);
drivers/net/ipa/ipa_main.c
192
gsi_teardown(&ipa->gsi);
drivers/net/ipa/ipa_main.c
196
ipa_hardware_config_bcr(struct ipa *ipa, const struct ipa_data *data)
drivers/net/ipa/ipa_main.c
202
if (ipa->version >= IPA_VERSION_4_5)
drivers/net/ipa/ipa_main.c
205
reg = ipa_reg(ipa, IPA_BCR);
drivers/net/ipa/ipa_main.c
207
iowrite32(val, ipa->reg_virt + reg_offset(reg));
drivers/net/ipa/ipa_main.c
210
static void ipa_hardware_config_tx(struct ipa *ipa)
drivers/net/ipa/ipa_main.c
212
enum ipa_version version = ipa->version;
drivers/net/ipa/ipa_main.c
221
reg = ipa_reg(ipa, IPA_TX_CFG);
drivers/net/ipa/ipa_main.c
224
val = ioread32(ipa->reg_virt + offset);
drivers/net/ipa/ipa_main.c
228
iowrite32(val, ipa->reg_virt + offset);
drivers/net/ipa/ipa_main.c
231
static void ipa_hardware_config_clkon(struct ipa *ipa)
drivers/net/ipa/ipa_main.c
233
enum ipa_version version = ipa->version;
drivers/net/ipa/ipa_main.c
244
reg = ipa_reg(ipa, CLKON_CFG);
drivers/net/ipa/ipa_main.c
254
iowrite32(val, ipa->reg_virt + reg_offset(reg));
drivers/net/ipa/ipa_main.c
258
static void ipa_hardware_config_comp(struct ipa *ipa)
drivers/net/ipa/ipa_main.c
265
if (ipa->version < IPA_VERSION_4_0)
drivers/net/ipa/ipa_main.c
268
reg = ipa_reg(ipa, COMP_CFG);
drivers/net/ipa/ipa_main.c
271
val = ioread32(ipa->reg_virt + offset);
drivers/net/ipa/ipa_main.c
273
if (ipa->version == IPA_VERSION_4_0) {
drivers/net/ipa/ipa_main.c
277
} else if (ipa->version < IPA_VERSION_4_5) {
drivers/net/ipa/ipa_main.c
286
iowrite32(val, ipa->reg_virt + offset);
drivers/net/ipa/ipa_main.c
291
ipa_hardware_config_qsb(struct ipa *ipa, const struct ipa_data *data)
drivers/net/ipa/ipa_main.c
304
reg = ipa_reg(ipa, QSB_MAX_WRITES);
drivers/net/ipa/ipa_main.c
310
iowrite32(val, ipa->reg_virt + reg_offset(reg));
drivers/net/ipa/ipa_main.c
313
reg = ipa_reg(ipa, QSB_MAX_READS);
drivers/net/ipa/ipa_main.c
316
if (ipa->version >= IPA_VERSION_4_0)
drivers/net/ipa/ipa_main.c
321
if (ipa->version >= IPA_VERSION_4_0)
drivers/net/ipa/ipa_main.c
326
iowrite32(val, ipa->reg_virt + reg_offset(reg));
drivers/net/ipa/ipa_main.c
360
static void ipa_qtime_config(struct ipa *ipa)
drivers/net/ipa/ipa_main.c
367
reg = ipa_reg(ipa, TIMERS_XO_CLK_DIV_CFG);
drivers/net/ipa/ipa_main.c
368
iowrite32(0, ipa->reg_virt + reg_offset(reg));
drivers/net/ipa/ipa_main.c
370
reg = ipa_reg(ipa, QTIME_TIMESTAMP_CFG);
drivers/net/ipa/ipa_main.c
371
if (ipa->version < IPA_VERSION_5_5) {
drivers/net/ipa/ipa_main.c
380
iowrite32(val, ipa->reg_virt + reg_offset(reg));
drivers/net/ipa/ipa_main.c
383
reg = ipa_reg(ipa, TIMERS_PULSE_GRAN_CFG);
drivers/net/ipa/ipa_main.c
386
if (ipa->version >= IPA_VERSION_5_0) {
drivers/net/ipa/ipa_main.c
393
iowrite32(val, ipa->reg_virt + reg_offset(reg));
drivers/net/ipa/ipa_main.c
396
reg = ipa_reg(ipa, TIMERS_XO_CLK_DIV_CFG);
drivers/net/ipa/ipa_main.c
401
iowrite32(val, ipa->reg_virt + offset);
drivers/net/ipa/ipa_main.c
406
iowrite32(val, ipa->reg_virt + offset);
drivers/net/ipa/ipa_main.c
410
static void ipa_hardware_config_counter(struct ipa *ipa)
drivers/net/ipa/ipa_main.c
416
reg = ipa_reg(ipa, COUNTER_CFG);
drivers/net/ipa/ipa_main.c
419
iowrite32(val, ipa->reg_virt + reg_offset(reg));
drivers/net/ipa/ipa_main.c
422
static void ipa_hardware_config_timing(struct ipa *ipa)
drivers/net/ipa/ipa_main.c
424
if (ipa->version < IPA_VERSION_4_5)
drivers/net/ipa/ipa_main.c
425
ipa_hardware_config_counter(ipa);
drivers/net/ipa/ipa_main.c
427
ipa_qtime_config(ipa);
drivers/net/ipa/ipa_main.c
430
static void ipa_hardware_config_hashing(struct ipa *ipa)
drivers/net/ipa/ipa_main.c
439
if (ipa->version != IPA_VERSION_4_2)
drivers/net/ipa/ipa_main.c
443
reg = ipa_reg(ipa, FILT_ROUT_HASH_EN);
drivers/net/ipa/ipa_main.c
448
iowrite32(0, ipa->reg_virt + reg_offset(reg));
drivers/net/ipa/ipa_main.c
451
static void ipa_idle_indication_cfg(struct ipa *ipa,
drivers/net/ipa/ipa_main.c
458
if (ipa->version < IPA_VERSION_3_5_1)
drivers/net/ipa/ipa_main.c
461
reg = ipa_reg(ipa, IDLE_INDICATION_CFG);
drivers/net/ipa/ipa_main.c
467
iowrite32(val, ipa->reg_virt + reg_offset(reg));
drivers/net/ipa/ipa_main.c
478
static void ipa_hardware_dcd_config(struct ipa *ipa)
drivers/net/ipa/ipa_main.c
481
ipa_idle_indication_cfg(ipa, 256, false);
drivers/net/ipa/ipa_main.c
484
static void ipa_hardware_dcd_deconfig(struct ipa *ipa)
drivers/net/ipa/ipa_main.c
487
ipa_idle_indication_cfg(ipa, 0, true);
drivers/net/ipa/ipa_main.c
495
static void ipa_hardware_config(struct ipa *ipa, const struct ipa_data *data)
drivers/net/ipa/ipa_main.c
497
ipa_hardware_config_bcr(ipa, data);
drivers/net/ipa/ipa_main.c
498
ipa_hardware_config_tx(ipa);
drivers/net/ipa/ipa_main.c
499
ipa_hardware_config_clkon(ipa);
drivers/net/ipa/ipa_main.c
500
ipa_hardware_config_comp(ipa);
drivers/net/ipa/ipa_main.c
501
ipa_hardware_config_qsb(ipa, data);
drivers/net/ipa/ipa_main.c
502
ipa_hardware_config_timing(ipa);
drivers/net/ipa/ipa_main.c
503
ipa_hardware_config_hashing(ipa);
drivers/net/ipa/ipa_main.c
504
ipa_hardware_dcd_config(ipa);
drivers/net/ipa/ipa_main.c
513
static void ipa_hardware_deconfig(struct ipa *ipa)
drivers/net/ipa/ipa_main.c
516
ipa_hardware_dcd_deconfig(ipa);
drivers/net/ipa/ipa_main.c
526
static int ipa_config(struct ipa *ipa, const struct ipa_data *data)
drivers/net/ipa/ipa_main.c
530
ipa_hardware_config(ipa, data);
drivers/net/ipa/ipa_main.c
532
ret = ipa_mem_config(ipa);
drivers/net/ipa/ipa_main.c
536
ret = ipa_interrupt_config(ipa);
drivers/net/ipa/ipa_main.c
540
ipa_uc_config(ipa);
drivers/net/ipa/ipa_main.c
542
ret = ipa_endpoint_config(ipa);
drivers/net/ipa/ipa_main.c
546
ipa_table_config(ipa); /* No deconfig required */
drivers/net/ipa/ipa_main.c
549
ret = ipa_resource_config(ipa, data->resource_data);
drivers/net/ipa/ipa_main.c
553
ret = ipa_modem_config(ipa);
drivers/net/ipa/ipa_main.c
560
ipa_endpoint_deconfig(ipa);
drivers/net/ipa/ipa_main.c
562
ipa_uc_deconfig(ipa);
drivers/net/ipa/ipa_main.c
563
ipa_interrupt_deconfig(ipa);
drivers/net/ipa/ipa_main.c
565
ipa_mem_deconfig(ipa);
drivers/net/ipa/ipa_main.c
567
ipa_hardware_deconfig(ipa);
drivers/net/ipa/ipa_main.c
576
static void ipa_deconfig(struct ipa *ipa)
drivers/net/ipa/ipa_main.c
578
ipa_modem_deconfig(ipa);
drivers/net/ipa/ipa_main.c
579
ipa_endpoint_deconfig(ipa);
drivers/net/ipa/ipa_main.c
580
ipa_uc_deconfig(ipa);
drivers/net/ipa/ipa_main.c
581
ipa_interrupt_deconfig(ipa);
drivers/net/ipa/ipa_main.c
582
ipa_mem_deconfig(ipa);
drivers/net/ipa/ipa_main.c
583
ipa_hardware_deconfig(ipa);
drivers/net/ipa/ipa_main.c
793
struct ipa *ipa;
drivers/net/ipa/ipa_main.c
833
ipa = kzalloc_obj(*ipa);
drivers/net/ipa/ipa_main.c
834
if (!ipa) {
drivers/net/ipa/ipa_main.c
839
ipa->dev = dev;
drivers/net/ipa/ipa_main.c
840
dev_set_drvdata(dev, ipa);
drivers/net/ipa/ipa_main.c
841
ipa->interrupt = interrupt;
drivers/net/ipa/ipa_main.c
842
ipa->power = power;
drivers/net/ipa/ipa_main.c
843
ipa->version = data->version;
drivers/net/ipa/ipa_main.c
844
ipa->modem_route_count = data->modem_route_count;
drivers/net/ipa/ipa_main.c
845
init_completion(&ipa->completion);
drivers/net/ipa/ipa_main.c
847
ret = ipa_reg_init(ipa, pdev);
drivers/net/ipa/ipa_main.c
851
ret = ipa_mem_init(ipa, pdev, data->mem_data);
drivers/net/ipa/ipa_main.c
855
ret = ipa_cmd_init(ipa);
drivers/net/ipa/ipa_main.c
859
ret = gsi_init(&ipa->gsi, pdev, ipa->version, data->endpoint_count,
drivers/net/ipa/ipa_main.c
865
ret = ipa_endpoint_init(ipa, data->endpoint_count, data->endpoint_data);
drivers/net/ipa/ipa_main.c
869
ret = ipa_table_init(ipa);
drivers/net/ipa/ipa_main.c
873
ret = ipa_smp2p_init(ipa, pdev, loader == IPA_LOADER_MODEM);
drivers/net/ipa/ipa_main.c
882
ret = ipa_config(ipa, data);
drivers/net/ipa/ipa_main.c
902
ret = ipa_setup(ipa);
drivers/net/ipa/ipa_main.c
911
ipa_deconfig(ipa);
drivers/net/ipa/ipa_main.c
914
ipa_smp2p_exit(ipa);
drivers/net/ipa/ipa_main.c
916
ipa_table_exit(ipa);
drivers/net/ipa/ipa_main.c
918
ipa_endpoint_exit(ipa);
drivers/net/ipa/ipa_main.c
920
gsi_exit(&ipa->gsi);
drivers/net/ipa/ipa_main.c
922
ipa_mem_exit(ipa);
drivers/net/ipa/ipa_main.c
924
ipa_reg_exit(ipa);
drivers/net/ipa/ipa_main.c
926
kfree(ipa);
drivers/net/ipa/ipa_main.c
940
struct ipa *ipa;
drivers/net/ipa/ipa_main.c
943
ipa = dev_get_drvdata(&pdev->dev);
drivers/net/ipa/ipa_main.c
944
dev = ipa->dev;
drivers/net/ipa/ipa_main.c
947
power = ipa->power;
drivers/net/ipa/ipa_main.c
948
interrupt = ipa->interrupt;
drivers/net/ipa/ipa_main.c
953
ipa_smp2p_irq_disable_setup(ipa);
drivers/net/ipa/ipa_main.c
959
if (ipa->setup_complete) {
drivers/net/ipa/ipa_main.c
960
ret = ipa_modem_stop(ipa);
drivers/net/ipa/ipa_main.c
964
ret = ipa_modem_stop(ipa);
drivers/net/ipa/ipa_main.c
977
ipa_teardown(ipa);
drivers/net/ipa/ipa_main.c
980
ipa_deconfig(ipa);
drivers/net/ipa/ipa_main.c
983
ipa_smp2p_exit(ipa);
drivers/net/ipa/ipa_main.c
984
ipa_table_exit(ipa);
drivers/net/ipa/ipa_main.c
985
ipa_endpoint_exit(ipa);
drivers/net/ipa/ipa_main.c
986
gsi_exit(&ipa->gsi);
drivers/net/ipa/ipa_main.c
987
ipa_mem_exit(ipa);
drivers/net/ipa/ipa_main.c
988
ipa_reg_exit(ipa);
drivers/net/ipa/ipa_main.c
989
kfree(ipa);
drivers/net/ipa/ipa_mem.c
100
mem = ipa_mem_find(ipa, IPA_MEM_MODEM_HEADER);
drivers/net/ipa/ipa_mem.c
103
mem = ipa_mem_find(ipa, IPA_MEM_AP_HEADER);
drivers/net/ipa/ipa_mem.c
116
mem = ipa_mem_find(ipa, IPA_MEM_MODEM_PROC_CTX);
drivers/net/ipa/ipa_mem.c
117
offset = ipa->mem_offset + mem->offset;
drivers/net/ipa/ipa_mem.c
119
reg = ipa_reg(ipa, LOCAL_PKT_PROC_CNTXT);
drivers/net/ipa/ipa_mem.c
121
iowrite32(val, ipa->reg_virt + reg_offset(reg));
drivers/net/ipa/ipa_mem.c
127
static bool ipa_mem_id_valid(struct ipa *ipa, enum ipa_mem_id mem_id)
drivers/net/ipa/ipa_mem.c
129
enum ipa_version version = ipa->version;
drivers/net/ipa/ipa_mem.c
188
static bool ipa_mem_id_required(struct ipa *ipa, enum ipa_mem_id mem_id)
drivers/net/ipa/ipa_mem.c
209
return ipa->version >= IPA_VERSION_4_0;
drivers/net/ipa/ipa_mem.c
212
return ipa->version >= IPA_VERSION_4_0 &&
drivers/net/ipa/ipa_mem.c
213
ipa->version != IPA_VERSION_5_0;
drivers/net/ipa/ipa_mem.c
220
static bool ipa_mem_valid_one(struct ipa *ipa, const struct ipa_mem *mem)
drivers/net/ipa/ipa_mem.c
223
struct device *dev = ipa->dev;
drivers/net/ipa/ipa_mem.c
227
if (!ipa_mem_id_valid(ipa, mem_id)) {
drivers/net/ipa/ipa_mem.c
256
static bool ipa_mem_valid(struct ipa *ipa, const struct ipa_mem_data *mem_data)
drivers/net/ipa/ipa_mem.c
259
struct device *dev = ipa->dev;
drivers/net/ipa/ipa_mem.c
278
if (!ipa_mem_valid_one(ipa, mem))
drivers/net/ipa/ipa_mem.c
284
if (ipa_mem_id_required(ipa, mem_id))
drivers/net/ipa/ipa_mem.c
293
static bool ipa_mem_size_valid(struct ipa *ipa)
drivers/net/ipa/ipa_mem.c
295
struct device *dev = ipa->dev;
drivers/net/ipa/ipa_mem.c
296
u32 limit = ipa->mem_size;
drivers/net/ipa/ipa_mem.c
299
for (i = 0; i < ipa->mem_count; i++) {
drivers/net/ipa/ipa_mem.c
300
const struct ipa_mem *mem = &ipa->mem[i];
drivers/net/ipa/ipa_mem.c
31
const struct ipa_mem *ipa_mem_find(struct ipa *ipa, enum ipa_mem_id mem_id)
drivers/net/ipa/ipa_mem.c
320
int ipa_mem_config(struct ipa *ipa)
drivers/net/ipa/ipa_mem.c
322
struct device *dev = ipa->dev;
drivers/net/ipa/ipa_mem.c
332
reg = ipa_reg(ipa, SHARED_MEM_SIZE);
drivers/net/ipa/ipa_mem.c
333
val = ioread32(ipa->reg_virt + reg_offset(reg));
drivers/net/ipa/ipa_mem.c
336
ipa->mem_offset = 8 * reg_decode(reg, MEM_BADDR, val);
drivers/net/ipa/ipa_mem.c
342
if (ipa->mem_offset + mem_size < ipa->mem_size) {
drivers/net/ipa/ipa_mem.c
345
ipa->mem_size = mem_size;
drivers/net/ipa/ipa_mem.c
346
} else if (ipa->mem_offset + mem_size > ipa->mem_size) {
drivers/net/ipa/ipa_mem.c
35
for (i = 0; i < ipa->mem_count; i++) {
drivers/net/ipa/ipa_mem.c
352
if (!ipa_mem_size_valid(ipa))
drivers/net/ipa/ipa_mem.c
359
ipa->zero_addr = addr;
drivers/net/ipa/ipa_mem.c
36
const struct ipa_mem *mem = &ipa->mem[i];
drivers/net/ipa/ipa_mem.c
360
ipa->zero_virt = virt;
drivers/net/ipa/ipa_mem.c
361
ipa->zero_size = IPA_MEM_MAX;
drivers/net/ipa/ipa_mem.c
366
for (i = 0; i < ipa->mem_count; i++) {
drivers/net/ipa/ipa_mem.c
367
u16 canary_count = ipa->mem[i].canary_count;
drivers/net/ipa/ipa_mem.c
374
canary = ipa->mem_virt + ipa->mem_offset + ipa->mem[i].offset;
drivers/net/ipa/ipa_mem.c
381
mem = ipa_mem_find(ipa, IPA_MEM_UC_EVENT_RING);
drivers/net/ipa/ipa_mem.c
390
dma_free_coherent(dev, IPA_MEM_MAX, ipa->zero_virt, ipa->zero_addr);
drivers/net/ipa/ipa_mem.c
396
void ipa_mem_deconfig(struct ipa *ipa)
drivers/net/ipa/ipa_mem.c
398
struct device *dev = ipa->dev;
drivers/net/ipa/ipa_mem.c
400
dma_free_coherent(dev, ipa->zero_size, ipa->zero_virt, ipa->zero_addr);
drivers/net/ipa/ipa_mem.c
401
ipa->zero_size = 0;
drivers/net/ipa/ipa_mem.c
402
ipa->zero_virt = NULL;
drivers/net/ipa/ipa_mem.c
403
ipa->zero_addr = 0;
drivers/net/ipa/ipa_mem.c
416
int ipa_mem_zero_modem(struct ipa *ipa)
drivers/net/ipa/ipa_mem.c
423
trans = ipa_cmd_trans_alloc(ipa, 3);
drivers/net/ipa/ipa_mem.c
425
dev_err(ipa->dev, "no transaction to zero modem memory\n");
drivers/net/ipa/ipa_mem.c
454
static int ipa_imem_init(struct ipa *ipa, unsigned long addr, size_t size)
drivers/net/ipa/ipa_mem.c
456
struct device *dev = ipa->dev;
drivers/net/ipa/ipa_mem.c
481
ipa->imem_iova = iova;
drivers/net/ipa/ipa_mem.c
482
ipa->imem_size = size;
drivers/net/ipa/ipa_mem.c
487
static void ipa_imem_exit(struct ipa *ipa)
drivers/net/ipa/ipa_mem.c
489
struct device *dev = ipa->dev;
drivers/net/ipa/ipa_mem.c
49
struct ipa *ipa = container_of(trans->gsi, struct ipa, gsi);
drivers/net/ipa/ipa_mem.c
492
if (!ipa->imem_size)
drivers/net/ipa/ipa_mem.c
499
size = iommu_unmap(domain, ipa->imem_iova, ipa->imem_size);
drivers/net/ipa/ipa_mem.c
50
const struct ipa_mem *mem = ipa_mem_find(ipa, mem_id);
drivers/net/ipa/ipa_mem.c
500
if (size != ipa->imem_size)
drivers/net/ipa/ipa_mem.c
502
size, ipa->imem_size);
drivers/net/ipa/ipa_mem.c
507
ipa->imem_size = 0;
drivers/net/ipa/ipa_mem.c
508
ipa->imem_iova = 0;
drivers/net/ipa/ipa_mem.c
51
dma_addr_t addr = ipa->zero_addr;
drivers/net/ipa/ipa_mem.c
527
static int ipa_smem_init(struct ipa *ipa, size_t size)
drivers/net/ipa/ipa_mem.c
529
struct device *dev = ipa->dev;
drivers/net/ipa/ipa_mem.c
588
ipa->smem_iova = iova;
drivers/net/ipa/ipa_mem.c
589
ipa->smem_size = size;
drivers/net/ipa/ipa_mem.c
594
static void ipa_smem_exit(struct ipa *ipa)
drivers/net/ipa/ipa_mem.c
596
struct device *dev = ipa->dev;
drivers/net/ipa/ipa_mem.c
603
size = iommu_unmap(domain, ipa->smem_iova, ipa->smem_size);
drivers/net/ipa/ipa_mem.c
604
if (size != ipa->smem_size)
drivers/net/ipa/ipa_mem.c
606
size, ipa->smem_size);
drivers/net/ipa/ipa_mem.c
612
ipa->smem_size = 0;
drivers/net/ipa/ipa_mem.c
613
ipa->smem_iova = 0;
drivers/net/ipa/ipa_mem.c
617
int ipa_mem_init(struct ipa *ipa, struct platform_device *pdev,
drivers/net/ipa/ipa_mem.c
625
if (!ipa_mem_valid(ipa, mem_data))
drivers/net/ipa/ipa_mem.c
628
ipa->mem_count = mem_data->local_count;
drivers/net/ipa/ipa_mem.c
629
ipa->mem = mem_data->local;
drivers/net/ipa/ipa_mem.c
632
if (!ipa_table_mem_valid(ipa, false))
drivers/net/ipa/ipa_mem.c
634
if (!ipa_table_mem_valid(ipa, true))
drivers/net/ipa/ipa_mem.c
650
ipa->mem_virt = memremap(res->start, resource_size(res), MEMREMAP_WC);
drivers/net/ipa/ipa_mem.c
651
if (!ipa->mem_virt) {
drivers/net/ipa/ipa_mem.c
656
ipa->mem_addr = res->start;
drivers/net/ipa/ipa_mem.c
657
ipa->mem_size = resource_size(res);
drivers/net/ipa/ipa_mem.c
659
ret = ipa_imem_init(ipa, mem_data->imem_addr, mem_data->imem_size);
drivers/net/ipa/ipa_mem.c
663
ret = ipa_smem_init(ipa, mem_data->smem_size);
drivers/net/ipa/ipa_mem.c
670
ipa_imem_exit(ipa);
drivers/net/ipa/ipa_mem.c
672
memunmap(ipa->mem_virt);
drivers/net/ipa/ipa_mem.c
678
void ipa_mem_exit(struct ipa *ipa)
drivers/net/ipa/ipa_mem.c
680
ipa_smem_exit(ipa);
drivers/net/ipa/ipa_mem.c
681
ipa_imem_exit(ipa);
drivers/net/ipa/ipa_mem.c
682
memunmap(ipa->mem_virt);
drivers/net/ipa/ipa_mem.c
77
int ipa_mem_setup(struct ipa *ipa)
drivers/net/ipa/ipa_mem.c
79
dma_addr_t addr = ipa->zero_addr;
drivers/net/ipa/ipa_mem.c
90
trans = ipa_cmd_trans_alloc(ipa, 4);
drivers/net/ipa/ipa_mem.c
92
dev_err(ipa->dev, "no transaction for memory setup\n");
drivers/net/ipa/ipa_mem.h
100
int ipa_mem_config(struct ipa *ipa);
drivers/net/ipa/ipa_mem.h
101
void ipa_mem_deconfig(struct ipa *ipa);
drivers/net/ipa/ipa_mem.h
103
int ipa_mem_setup(struct ipa *ipa); /* No ipa_mem_teardown() needed */
drivers/net/ipa/ipa_mem.h
105
int ipa_mem_zero_modem(struct ipa *ipa);
drivers/net/ipa/ipa_mem.h
107
int ipa_mem_init(struct ipa *ipa, struct platform_device *pdev,
drivers/net/ipa/ipa_mem.h
109
void ipa_mem_exit(struct ipa *ipa);
drivers/net/ipa/ipa_mem.h
13
struct ipa;
drivers/net/ipa/ipa_mem.h
98
const struct ipa_mem *ipa_mem_find(struct ipa *ipa, enum ipa_mem_id mem_id);
drivers/net/ipa/ipa_modem.c
126
struct ipa *ipa = priv->ipa;
drivers/net/ipa/ipa_modem.c
134
endpoint = ipa->name_map[IPA_ENDPOINT_AP_MODEM_TX];
drivers/net/ipa/ipa_modem.c
157
dev = ipa->dev;
drivers/net/ipa/ipa_modem.c
298
int ipa_modem_start(struct ipa *ipa)
drivers/net/ipa/ipa_modem.c
306
state = atomic_cmpxchg(&ipa->modem_state, IPA_MODEM_STATE_STOPPED,
drivers/net/ipa/ipa_modem.c
320
SET_NETDEV_DEV(netdev, ipa->dev);
drivers/net/ipa/ipa_modem.c
322
priv->ipa = ipa;
drivers/net/ipa/ipa_modem.c
323
priv->tx = ipa->name_map[IPA_ENDPOINT_AP_MODEM_TX];
drivers/net/ipa/ipa_modem.c
324
priv->rx = ipa->name_map[IPA_ENDPOINT_AP_MODEM_RX];
drivers/net/ipa/ipa_modem.c
330
ipa->modem_netdev = netdev;
drivers/net/ipa/ipa_modem.c
334
ipa->modem_netdev = NULL;
drivers/net/ipa/ipa_modem.c
343
atomic_set(&ipa->modem_state, IPA_MODEM_STATE_STOPPED);
drivers/net/ipa/ipa_modem.c
345
atomic_set(&ipa->modem_state, IPA_MODEM_STATE_RUNNING);
drivers/net/ipa/ipa_modem.c
351
int ipa_modem_stop(struct ipa *ipa)
drivers/net/ipa/ipa_modem.c
353
struct net_device *netdev = ipa->modem_netdev;
drivers/net/ipa/ipa_modem.c
357
state = atomic_cmpxchg(&ipa->modem_state, IPA_MODEM_STATE_RUNNING,
drivers/net/ipa/ipa_modem.c
378
ipa->modem_netdev = NULL;
drivers/net/ipa/ipa_modem.c
385
atomic_set(&ipa->modem_state, IPA_MODEM_STATE_STOPPED);
drivers/net/ipa/ipa_modem.c
392
static void ipa_modem_crashed(struct ipa *ipa)
drivers/net/ipa/ipa_modem.c
394
struct device *dev = ipa->dev;
drivers/net/ipa/ipa_modem.c
398
ipa_smp2p_irq_disable_setup(ipa);
drivers/net/ipa/ipa_modem.c
406
ipa_endpoint_modem_pause_all(ipa, true);
drivers/net/ipa/ipa_modem.c
408
ipa_endpoint_modem_hol_block_clear_all(ipa);
drivers/net/ipa/ipa_modem.c
410
ipa_table_reset(ipa, true);
drivers/net/ipa/ipa_modem.c
412
ret = ipa_table_hash_flush(ipa);
drivers/net/ipa/ipa_modem.c
416
ret = ipa_endpoint_modem_exception_reset_all(ipa);
drivers/net/ipa/ipa_modem.c
420
ipa_endpoint_modem_pause_all(ipa, false);
drivers/net/ipa/ipa_modem.c
422
ret = ipa_modem_stop(ipa);
drivers/net/ipa/ipa_modem.c
427
ret = ipa_mem_zero_modem(ipa);
drivers/net/ipa/ipa_modem.c
438
struct ipa *ipa = container_of(nb, struct ipa, nb);
drivers/net/ipa/ipa_modem.c
440
struct device *dev = ipa->dev;
drivers/net/ipa/ipa_modem.c
445
ipa_uc_power(ipa);
drivers/net/ipa/ipa_modem.c
446
ipa_smp2p_notify_reset(ipa);
drivers/net/ipa/ipa_modem.c
45
struct ipa *ipa;
drivers/net/ipa/ipa_modem.c
456
if (ipa->setup_complete)
drivers/net/ipa/ipa_modem.c
457
ipa_modem_crashed(ipa);
drivers/net/ipa/ipa_modem.c
472
int ipa_modem_config(struct ipa *ipa)
drivers/net/ipa/ipa_modem.c
476
ipa->nb.notifier_call = ipa_modem_notify;
drivers/net/ipa/ipa_modem.c
478
notifier = qcom_register_ssr_notifier("mpss", &ipa->nb);
drivers/net/ipa/ipa_modem.c
482
ipa->notifier = notifier;
drivers/net/ipa/ipa_modem.c
487
void ipa_modem_deconfig(struct ipa *ipa)
drivers/net/ipa/ipa_modem.c
489
struct device *dev = ipa->dev;
drivers/net/ipa/ipa_modem.c
492
ret = qcom_unregister_ssr_notifier(ipa->notifier, &ipa->nb);
drivers/net/ipa/ipa_modem.c
496
ipa->notifier = NULL;
drivers/net/ipa/ipa_modem.c
497
memset(&ipa->nb, 0, sizeof(ipa->nb));
drivers/net/ipa/ipa_modem.c
55
struct ipa *ipa = priv->ipa;
drivers/net/ipa/ipa_modem.c
59
dev = ipa->dev;
drivers/net/ipa/ipa_modem.c
90
struct ipa *ipa = priv->ipa;
drivers/net/ipa/ipa_modem.c
94
dev = ipa->dev;
drivers/net/ipa/ipa_modem.h
12
struct ipa;
drivers/net/ipa/ipa_modem.h
14
int ipa_modem_start(struct ipa *ipa);
drivers/net/ipa/ipa_modem.h
15
int ipa_modem_stop(struct ipa *ipa);
drivers/net/ipa/ipa_modem.h
22
int ipa_modem_config(struct ipa *ipa);
drivers/net/ipa/ipa_modem.h
23
void ipa_modem_deconfig(struct ipa *ipa);
drivers/net/ipa/ipa_power.c
115
static void ipa_power_disable(struct ipa *ipa)
drivers/net/ipa/ipa_power.c
117
struct ipa_power *power = ipa->power;
drivers/net/ipa/ipa_power.c
126
struct ipa *ipa = dev_get_drvdata(dev);
drivers/net/ipa/ipa_power.c
129
if (ipa->setup_complete) {
drivers/net/ipa/ipa_power.c
130
ipa_endpoint_suspend(ipa);
drivers/net/ipa/ipa_power.c
131
gsi_suspend(&ipa->gsi);
drivers/net/ipa/ipa_power.c
134
ipa_power_disable(ipa);
drivers/net/ipa/ipa_power.c
141
struct ipa *ipa = dev_get_drvdata(dev);
drivers/net/ipa/ipa_power.c
144
ret = ipa_power_enable(ipa);
drivers/net/ipa/ipa_power.c
149
if (ipa->setup_complete) {
drivers/net/ipa/ipa_power.c
150
gsi_resume(&ipa->gsi);
drivers/net/ipa/ipa_power.c
151
ipa_endpoint_resume(ipa);
drivers/net/ipa/ipa_power.c
159
struct ipa *ipa = dev_get_drvdata(dev);
drivers/net/ipa/ipa_power.c
170
ipa_interrupt_irq_disable(ipa);
drivers/net/ipa/ipa_power.c
177
struct ipa *ipa = dev_get_drvdata(dev);
drivers/net/ipa/ipa_power.c
186
ipa_interrupt_irq_enable(ipa);
drivers/net/ipa/ipa_power.c
192
u32 ipa_core_clock_rate(struct ipa *ipa)
drivers/net/ipa/ipa_power.c
194
return ipa->power ? (u32)clk_get_rate(ipa->power->core) : 0;
drivers/net/ipa/ipa_power.c
220
void ipa_power_retention(struct ipa *ipa, bool enable)
drivers/net/ipa/ipa_power.c
223
struct ipa_power *power = ipa->power;
drivers/net/ipa/ipa_power.c
95
static int ipa_power_enable(struct ipa *ipa)
drivers/net/ipa/ipa_power.c
97
struct ipa_power *power = ipa->power;
drivers/net/ipa/ipa_power.h
13
struct ipa;
drivers/net/ipa/ipa_power.h
25
u32 ipa_core_clock_rate(struct ipa *ipa);
drivers/net/ipa/ipa_power.h
32
void ipa_power_retention(struct ipa *ipa, bool enable);
drivers/net/ipa/ipa_qmi.c
124
struct ipa *ipa;
drivers/net/ipa/ipa_qmi.c
144
ipa = container_of(ipa_qmi, struct ipa, qmi);
drivers/net/ipa/ipa_qmi.c
145
ret = ipa_modem_start(ipa);
drivers/net/ipa/ipa_qmi.c
147
dev_err(ipa->dev, "error %d starting modem\n", ret);
drivers/net/ipa/ipa_qmi.c
182
struct ipa *ipa;
drivers/net/ipa/ipa_qmi.c
186
ipa = container_of(ipa_qmi, struct ipa, qmi);
drivers/net/ipa/ipa_qmi.c
198
dev_err(ipa->dev,
drivers/net/ipa/ipa_qmi.c
211
struct ipa *ipa;
drivers/net/ipa/ipa_qmi.c
215
ipa = container_of(ipa_qmi, struct ipa, qmi);
drivers/net/ipa/ipa_qmi.c
227
dev_err(ipa->dev,
drivers/net/ipa/ipa_qmi.c
282
struct ipa *ipa = container_of(ipa_qmi, struct ipa, qmi);
drivers/net/ipa/ipa_qmi.c
283
u32 modem_route_count = ipa->modem_route_count;
drivers/net/ipa/ipa_qmi.c
289
req.skip_uc_load = ipa->uc_loaded ? 1 : 0;
drivers/net/ipa/ipa_qmi.c
298
mem = ipa_mem_find(ipa, IPA_MEM_MODEM_HEADER);
drivers/net/ipa/ipa_qmi.c
301
req.hdr_tbl_info.start = ipa->mem_offset + mem->offset;
drivers/net/ipa/ipa_qmi.c
305
mem = ipa_mem_find(ipa, IPA_MEM_V4_ROUTE);
drivers/net/ipa/ipa_qmi.c
307
req.v4_route_tbl_info.start = ipa->mem_offset + mem->offset;
drivers/net/ipa/ipa_qmi.c
310
mem = ipa_mem_find(ipa, IPA_MEM_V6_ROUTE);
drivers/net/ipa/ipa_qmi.c
312
req.v6_route_tbl_info.start = ipa->mem_offset + mem->offset;
drivers/net/ipa/ipa_qmi.c
315
mem = ipa_mem_find(ipa, IPA_MEM_V4_FILTER);
drivers/net/ipa/ipa_qmi.c
317
req.v4_filter_tbl_start = ipa->mem_offset + mem->offset;
drivers/net/ipa/ipa_qmi.c
319
mem = ipa_mem_find(ipa, IPA_MEM_V6_FILTER);
drivers/net/ipa/ipa_qmi.c
321
req.v6_filter_tbl_start = ipa->mem_offset + mem->offset;
drivers/net/ipa/ipa_qmi.c
323
mem = ipa_mem_find(ipa, IPA_MEM_MODEM);
drivers/net/ipa/ipa_qmi.c
326
req.modem_mem_info.start = ipa->mem_offset + mem->offset;
drivers/net/ipa/ipa_qmi.c
332
ipa->name_map[IPA_ENDPOINT_AP_MODEM_RX]->endpoint_id;
drivers/net/ipa/ipa_qmi.c
336
mem = ipa_mem_find(ipa, IPA_MEM_MODEM_PROC_CTX);
drivers/net/ipa/ipa_qmi.c
340
ipa->mem_offset + mem->offset;
drivers/net/ipa/ipa_qmi.c
347
mem = ipa_mem_find(ipa, IPA_MEM_V4_ROUTE_HASHED);
drivers/net/ipa/ipa_qmi.c
351
ipa->mem_offset + mem->offset;
drivers/net/ipa/ipa_qmi.c
355
mem = ipa_mem_find(ipa, IPA_MEM_V6_ROUTE_HASHED);
drivers/net/ipa/ipa_qmi.c
359
ipa->mem_offset + mem->offset;
drivers/net/ipa/ipa_qmi.c
363
mem = ipa_mem_find(ipa, IPA_MEM_V4_FILTER_HASHED);
drivers/net/ipa/ipa_qmi.c
366
req.v4_hash_filter_tbl_start = ipa->mem_offset + mem->offset;
drivers/net/ipa/ipa_qmi.c
369
mem = ipa_mem_find(ipa, IPA_MEM_V6_FILTER_HASHED);
drivers/net/ipa/ipa_qmi.c
372
req.v6_hash_filter_tbl_start = ipa->mem_offset + mem->offset;
drivers/net/ipa/ipa_qmi.c
376
if (ipa->version >= IPA_VERSION_4_0) {
drivers/net/ipa/ipa_qmi.c
377
mem = ipa_mem_find(ipa, IPA_MEM_STATS_QUOTA_MODEM);
drivers/net/ipa/ipa_qmi.c
381
ipa->mem_offset + mem->offset;
drivers/net/ipa/ipa_qmi.c
383
req.hw_stats_quota_size = ipa->mem_offset + mem->size;
drivers/net/ipa/ipa_qmi.c
387
mem = ipa_mem_find(ipa, IPA_MEM_STATS_DROP);
drivers/net/ipa/ipa_qmi.c
391
ipa->mem_offset + mem->offset;
drivers/net/ipa/ipa_qmi.c
393
req.hw_stats_drop_size = ipa->mem_offset + mem->size;
drivers/net/ipa/ipa_qmi.c
409
struct ipa *ipa;
drivers/net/ipa/ipa_qmi.c
415
ipa = container_of(ipa_qmi, struct ipa, qmi);
drivers/net/ipa/ipa_qmi.c
416
dev = ipa->dev;
drivers/net/ipa/ipa_qmi.c
468
int ipa_qmi_setup(struct ipa *ipa)
drivers/net/ipa/ipa_qmi.c
470
struct ipa_qmi *ipa_qmi = &ipa->qmi;
drivers/net/ipa/ipa_qmi.c
524
void ipa_qmi_teardown(struct ipa *ipa)
drivers/net/ipa/ipa_qmi.c
526
cancel_work_sync(&ipa->qmi.init_driver_work);
drivers/net/ipa/ipa_qmi.c
528
qmi_handle_release(&ipa->qmi.client_handle);
drivers/net/ipa/ipa_qmi.c
529
memset(&ipa->qmi.client_handle, 0, sizeof(ipa->qmi.client_handle));
drivers/net/ipa/ipa_qmi.c
531
qmi_handle_release(&ipa->qmi.server_handle);
drivers/net/ipa/ipa_qmi.c
532
memset(&ipa->qmi.server_handle, 0, sizeof(ipa->qmi.server_handle));
drivers/net/ipa/ipa_qmi.c
82
struct ipa *ipa = container_of(ipa_qmi, struct ipa, qmi);
drivers/net/ipa/ipa_qmi.c
95
dev_err(ipa->dev,
drivers/net/ipa/ipa_qmi.h
14
struct ipa;
drivers/net/ipa/ipa_qmi.h
58
int ipa_qmi_setup(struct ipa *ipa);
drivers/net/ipa/ipa_qmi.h
64
void ipa_qmi_teardown(struct ipa *ipa);
drivers/net/ipa/ipa_reg.c
102
const struct reg *ipa_reg(struct ipa *ipa, enum ipa_reg_id reg_id)
drivers/net/ipa/ipa_reg.c
104
if (WARN(!ipa_reg_id_valid(ipa, reg_id), "invalid reg %u\n", reg_id))
drivers/net/ipa/ipa_reg.c
107
return reg(ipa->regs, reg_id);
drivers/net/ipa/ipa_reg.c
136
int ipa_reg_init(struct ipa *ipa, struct platform_device *pdev)
drivers/net/ipa/ipa_reg.c
14
static bool ipa_reg_id_valid(struct ipa *ipa, enum ipa_reg_id reg_id)
drivers/net/ipa/ipa_reg.c
142
regs = ipa_regs(ipa->version);
drivers/net/ipa/ipa_reg.c
156
ipa->reg_virt = ioremap(res->start, resource_size(res));
drivers/net/ipa/ipa_reg.c
157
if (!ipa->reg_virt) {
drivers/net/ipa/ipa_reg.c
16
enum ipa_version version = ipa->version;
drivers/net/ipa/ipa_reg.c
161
ipa->regs = regs;
drivers/net/ipa/ipa_reg.c
166
void ipa_reg_exit(struct ipa *ipa)
drivers/net/ipa/ipa_reg.c
168
iounmap(ipa->reg_virt);
drivers/net/ipa/ipa_reg.h
13
struct ipa;
drivers/net/ipa/ipa_reg.h
642
const struct reg *ipa_reg(struct ipa *ipa, enum ipa_reg_id reg_id);
drivers/net/ipa/ipa_reg.h
644
int ipa_reg_init(struct ipa *ipa, struct platform_device *pdev);
drivers/net/ipa/ipa_reg.h
645
void ipa_reg_exit(struct ipa *ipa);
drivers/net/ipa/ipa_resource.c
100
ipa_resource_config_common(ipa, resource_type, reg,
drivers/net/ipa/ipa_resource.c
105
reg = ipa_reg(ipa, SRC_RSRC_GRP_23_RSRC_TYPE);
drivers/net/ipa/ipa_resource.c
107
ipa_resource_config_common(ipa, resource_type, reg,
drivers/net/ipa/ipa_resource.c
112
reg = ipa_reg(ipa, SRC_RSRC_GRP_45_RSRC_TYPE);
drivers/net/ipa/ipa_resource.c
114
ipa_resource_config_common(ipa, resource_type, reg,
drivers/net/ipa/ipa_resource.c
119
reg = ipa_reg(ipa, SRC_RSRC_GRP_67_RSRC_TYPE);
drivers/net/ipa/ipa_resource.c
121
ipa_resource_config_common(ipa, resource_type, reg,
drivers/net/ipa/ipa_resource.c
125
static void ipa_resource_config_dst(struct ipa *ipa, u32 resource_type,
drivers/net/ipa/ipa_resource.c
135
reg = ipa_reg(ipa, DST_RSRC_GRP_01_RSRC_TYPE);
drivers/net/ipa/ipa_resource.c
137
ipa_resource_config_common(ipa, resource_type, reg,
drivers/net/ipa/ipa_resource.c
142
reg = ipa_reg(ipa, DST_RSRC_GRP_23_RSRC_TYPE);
drivers/net/ipa/ipa_resource.c
144
ipa_resource_config_common(ipa, resource_type, reg,
drivers/net/ipa/ipa_resource.c
149
reg = ipa_reg(ipa, DST_RSRC_GRP_45_RSRC_TYPE);
drivers/net/ipa/ipa_resource.c
151
ipa_resource_config_common(ipa, resource_type, reg,
drivers/net/ipa/ipa_resource.c
156
reg = ipa_reg(ipa, DST_RSRC_GRP_67_RSRC_TYPE);
drivers/net/ipa/ipa_resource.c
158
ipa_resource_config_common(ipa, resource_type, reg,
drivers/net/ipa/ipa_resource.c
163
int ipa_resource_config(struct ipa *ipa, const struct ipa_resource_data *data)
drivers/net/ipa/ipa_resource.c
167
if (!ipa_resource_limits_valid(ipa, data))
drivers/net/ipa/ipa_resource.c
171
ipa_resource_config_src(ipa, i, data);
drivers/net/ipa/ipa_resource.c
174
ipa_resource_config_dst(ipa, i, data);
drivers/net/ipa/ipa_resource.c
28
static bool ipa_resource_limits_valid(struct ipa *ipa,
drivers/net/ipa/ipa_resource.c
71
ipa_resource_config_common(struct ipa *ipa, u32 resource_type,
drivers/net/ipa/ipa_resource.c
85
iowrite32(val, ipa->reg_virt + reg_n_offset(reg, resource_type));
drivers/net/ipa/ipa_resource.c
88
static void ipa_resource_config_src(struct ipa *ipa, u32 resource_type,
drivers/net/ipa/ipa_resource.c
98
reg = ipa_reg(ipa, SRC_RSRC_GRP_01_RSRC_TYPE);
drivers/net/ipa/ipa_resource.h
21
int ipa_resource_config(struct ipa *ipa, const struct ipa_resource_data *data);
drivers/net/ipa/ipa_resource.h
9
struct ipa;
drivers/net/ipa/ipa_smp2p.c
128
ipa_uc_panic_notifier(smp2p->ipa);
drivers/net/ipa/ipa_smp2p.c
153
struct ipa *ipa = smp2p->ipa;
drivers/net/ipa/ipa_smp2p.c
158
if (ipa->setup_complete)
drivers/net/ipa/ipa_smp2p.c
162
dev = ipa->dev;
drivers/net/ipa/ipa_smp2p.c
170
ret = ipa_setup(ipa);
drivers/net/ipa/ipa_smp2p.c
208
static void ipa_smp2p_power_release(struct ipa *ipa)
drivers/net/ipa/ipa_smp2p.c
210
struct device *dev = ipa->dev;
drivers/net/ipa/ipa_smp2p.c
212
if (!ipa->smp2p->power_on)
drivers/net/ipa/ipa_smp2p.c
216
ipa->smp2p->power_on = false;
drivers/net/ipa/ipa_smp2p.c
221
ipa_smp2p_init(struct ipa *ipa, struct platform_device *pdev, bool modem_init)
drivers/net/ipa/ipa_smp2p.c
249
smp2p->ipa = ipa;
drivers/net/ipa/ipa_smp2p.c
261
ipa->smp2p = smp2p;
drivers/net/ipa/ipa_smp2p.c
289
ipa->smp2p = NULL;
drivers/net/ipa/ipa_smp2p.c
296
void ipa_smp2p_exit(struct ipa *ipa)
drivers/net/ipa/ipa_smp2p.c
298
struct ipa_smp2p *smp2p = ipa->smp2p;
drivers/net/ipa/ipa_smp2p.c
305
ipa_smp2p_power_release(ipa);
drivers/net/ipa/ipa_smp2p.c
306
ipa->smp2p = NULL;
drivers/net/ipa/ipa_smp2p.c
311
void ipa_smp2p_irq_disable_setup(struct ipa *ipa)
drivers/net/ipa/ipa_smp2p.c
313
struct ipa_smp2p *smp2p = ipa->smp2p;
drivers/net/ipa/ipa_smp2p.c
329
void ipa_smp2p_notify_reset(struct ipa *ipa)
drivers/net/ipa/ipa_smp2p.c
331
struct ipa_smp2p *smp2p = ipa->smp2p;
drivers/net/ipa/ipa_smp2p.c
337
ipa_smp2p_power_release(ipa);
drivers/net/ipa/ipa_smp2p.c
61
struct ipa *ipa;
drivers/net/ipa/ipa_smp2p.c
93
smp2p->power_on = pm_runtime_get_if_active(smp2p->ipa->dev) > 0;
drivers/net/ipa/ipa_smp2p.h
13
struct ipa;
drivers/net/ipa/ipa_smp2p.h
23
int ipa_smp2p_init(struct ipa *ipa, struct platform_device *pdev,
drivers/net/ipa/ipa_smp2p.h
30
void ipa_smp2p_exit(struct ipa *ipa);
drivers/net/ipa/ipa_smp2p.h
38
void ipa_smp2p_irq_disable_setup(struct ipa *ipa);
drivers/net/ipa/ipa_smp2p.h
48
void ipa_smp2p_notify_reset(struct ipa *ipa);
drivers/net/ipa/ipa_sysfs.c
107
struct ipa *ipa = dev_get_drvdata(kobj_to_dev(kobj));
drivers/net/ipa/ipa_sysfs.c
116
visible = !!ipa->name_map[(enum ipa_endpoint_name)(uintptr_t)ea->var];
drivers/net/ipa/ipa_sysfs.c
124
struct ipa *ipa = dev_get_drvdata(dev);
drivers/net/ipa/ipa_sysfs.c
129
endpoint = ipa->name_map[(enum ipa_endpoint_name)(uintptr_t)ea->var];
drivers/net/ipa/ipa_sysfs.c
13
static const char *ipa_version_string(struct ipa *ipa)
drivers/net/ipa/ipa_sysfs.c
15
switch (ipa->version) {
drivers/net/ipa/ipa_sysfs.c
52
struct ipa *ipa = dev_get_drvdata(dev);
drivers/net/ipa/ipa_sysfs.c
54
return sysfs_emit(buf, "%s\n", ipa_version_string(ipa));
drivers/net/ipa/ipa_sysfs.c
68
static const char *ipa_offload_string(struct ipa *ipa)
drivers/net/ipa/ipa_sysfs.c
70
return ipa->version < IPA_VERSION_4_5 ? "MAPv4" : "MAPv5";
drivers/net/ipa/ipa_sysfs.c
76
struct ipa *ipa = dev_get_drvdata(dev);
drivers/net/ipa/ipa_sysfs.c
78
return sysfs_emit(buf, "%s\n", ipa_offload_string(ipa));
drivers/net/ipa/ipa_sysfs.c
86
struct ipa *ipa = dev_get_drvdata(dev);
drivers/net/ipa/ipa_sysfs.c
88
return sysfs_emit(buf, "%s\n", ipa_offload_string(ipa));
drivers/net/ipa/ipa_table.c
145
ipa_table_mem(struct ipa *ipa, bool filter, bool hashed, bool ipv6)
drivers/net/ipa/ipa_table.c
158
return ipa_mem_find(ipa, mem_id);
drivers/net/ipa/ipa_table.c
162
bool ipa_table_hash_support(struct ipa *ipa)
drivers/net/ipa/ipa_table.c
164
return ipa->version != IPA_VERSION_4_2;
drivers/net/ipa/ipa_table.c
167
bool ipa_filtered_valid(struct ipa *ipa, u64 filtered)
drivers/net/ipa/ipa_table.c
169
struct device *dev = ipa->dev;
drivers/net/ipa/ipa_table.c
179
if (count > ipa->filter_count) {
drivers/net/ipa/ipa_table.c
181
count, ipa->filter_count);
drivers/net/ipa/ipa_table.c
190
static dma_addr_t ipa_table_addr(struct ipa *ipa, bool filter_mask, u16 count)
drivers/net/ipa/ipa_table.c
197
WARN_ON(count > max_t(u32, ipa->filter_count, ipa->route_count));
drivers/net/ipa/ipa_table.c
202
return ipa->table_addr + skip * sizeof(*ipa->table_virt);
drivers/net/ipa/ipa_table.c
208
struct ipa *ipa = container_of(trans->gsi, struct ipa, gsi);
drivers/net/ipa/ipa_table.c
215
mem = ipa_table_mem(ipa, filter, hashed, ipv6);
drivers/net/ipa/ipa_table.c
224
addr = ipa_table_addr(ipa, false, count);
drivers/net/ipa/ipa_table.c
234
ipa_filter_reset_table(struct ipa *ipa, bool hashed, bool ipv6, bool modem)
drivers/net/ipa/ipa_table.c
236
u64 ep_mask = ipa->filtered;
drivers/net/ipa/ipa_table.c
240
trans = ipa_cmd_trans_alloc(ipa, hweight64(ep_mask));
drivers/net/ipa/ipa_table.c
242
dev_err(ipa->dev, "no transaction for %s filter reset\n",
drivers/net/ipa/ipa_table.c
254
endpoint = &ipa->endpoint[endpoint_id];
drivers/net/ipa/ipa_table.c
270
static int ipa_filter_reset(struct ipa *ipa, bool modem)
drivers/net/ipa/ipa_table.c
274
ret = ipa_filter_reset_table(ipa, false, false, modem);
drivers/net/ipa/ipa_table.c
278
ret = ipa_filter_reset_table(ipa, false, true, modem);
drivers/net/ipa/ipa_table.c
279
if (ret || !ipa_table_hash_support(ipa))
drivers/net/ipa/ipa_table.c
282
ret = ipa_filter_reset_table(ipa, true, false, modem);
drivers/net/ipa/ipa_table.c
286
return ipa_filter_reset_table(ipa, true, true, modem);
drivers/net/ipa/ipa_table.c
293
static int ipa_route_reset(struct ipa *ipa, bool modem)
drivers/net/ipa/ipa_table.c
295
bool hash_support = ipa_table_hash_support(ipa);
drivers/net/ipa/ipa_table.c
296
u32 modem_route_count = ipa->modem_route_count;
drivers/net/ipa/ipa_table.c
301
trans = ipa_cmd_trans_alloc(ipa, hash_support ? 4 : 2);
drivers/net/ipa/ipa_table.c
303
dev_err(ipa->dev, "no transaction for %s route reset\n",
drivers/net/ipa/ipa_table.c
313
count = ipa->route_count - modem_route_count;
drivers/net/ipa/ipa_table.c
329
void ipa_table_reset(struct ipa *ipa, bool modem)
drivers/net/ipa/ipa_table.c
331
struct device *dev = ipa->dev;
drivers/net/ipa/ipa_table.c
338
ret = ipa_filter_reset(ipa, modem);
drivers/net/ipa/ipa_table.c
343
ret = ipa_route_reset(ipa, modem);
drivers/net/ipa/ipa_table.c
349
int ipa_table_hash_flush(struct ipa *ipa)
drivers/net/ipa/ipa_table.c
355
if (!ipa_table_hash_support(ipa))
drivers/net/ipa/ipa_table.c
358
trans = ipa_cmd_trans_alloc(ipa, 1);
drivers/net/ipa/ipa_table.c
360
dev_err(ipa->dev, "no transaction for hash flush\n");
drivers/net/ipa/ipa_table.c
364
if (ipa->version < IPA_VERSION_5_0) {
drivers/net/ipa/ipa_table.c
365
reg = ipa_reg(ipa, FILT_ROUT_HASH_FLUSH);
drivers/net/ipa/ipa_table.c
372
reg = ipa_reg(ipa, FILT_ROUT_CACHE_FLUSH);
drivers/net/ipa/ipa_table.c
388
struct ipa *ipa = container_of(trans->gsi, struct ipa, gsi);
drivers/net/ipa/ipa_table.c
408
mem = ipa_table_mem(ipa, filter, false, ipv6);
drivers/net/ipa/ipa_table.c
409
hash_mem = ipa_table_mem(ipa, filter, true, ipv6);
drivers/net/ipa/ipa_table.c
419
count = 1 + hweight64(ipa->filtered);
drivers/net/ipa/ipa_table.c
431
addr = ipa_table_addr(ipa, filter, count);
drivers/net/ipa/ipa_table.c
432
hash_addr = ipa_table_addr(ipa, filter, hash_count);
drivers/net/ipa/ipa_table.c
443
ipa->zero_addr, true);
drivers/net/ipa/ipa_table.c
451
ipa->zero_addr, true);
drivers/net/ipa/ipa_table.c
454
int ipa_table_setup(struct ipa *ipa)
drivers/net/ipa/ipa_table.c
471
trans = ipa_cmd_trans_alloc(ipa, 8);
drivers/net/ipa/ipa_table.c
473
dev_err(ipa->dev, "no transaction for table setup\n");
drivers/net/ipa/ipa_table.c
497
struct ipa *ipa = endpoint->ipa;
drivers/net/ipa/ipa_table.c
502
if (ipa->version < IPA_VERSION_5_0) {
drivers/net/ipa/ipa_table.c
503
reg = ipa_reg(ipa, ENDP_FILTER_ROUTER_HSH_CFG);
drivers/net/ipa/ipa_table.c
506
val = ioread32(endpoint->ipa->reg_virt + offset);
drivers/net/ipa/ipa_table.c
512
reg = ipa_reg(ipa, ENDP_FILTER_CACHE_CFG);
drivers/net/ipa/ipa_table.c
519
iowrite32(val, endpoint->ipa->reg_virt + offset);
drivers/net/ipa/ipa_table.c
523
static void ipa_filter_config(struct ipa *ipa, bool modem)
drivers/net/ipa/ipa_table.c
526
u64 ep_mask = ipa->filtered;
drivers/net/ipa/ipa_table.c
528
if (!ipa_table_hash_support(ipa))
drivers/net/ipa/ipa_table.c
537
endpoint = &ipa->endpoint[endpoint_id];
drivers/net/ipa/ipa_table.c
543
static bool ipa_route_id_modem(struct ipa *ipa, u32 route_id)
drivers/net/ipa/ipa_table.c
545
return route_id < ipa->modem_route_count;
drivers/net/ipa/ipa_table.c
555
static void ipa_route_tuple_zero(struct ipa *ipa, u32 route_id)
drivers/net/ipa/ipa_table.c
561
if (ipa->version < IPA_VERSION_5_0) {
drivers/net/ipa/ipa_table.c
562
reg = ipa_reg(ipa, ENDP_FILTER_ROUTER_HSH_CFG);
drivers/net/ipa/ipa_table.c
565
val = ioread32(ipa->reg_virt + offset);
drivers/net/ipa/ipa_table.c
571
reg = ipa_reg(ipa, ENDP_ROUTER_CACHE_CFG);
drivers/net/ipa/ipa_table.c
578
iowrite32(val, ipa->reg_virt + offset);
drivers/net/ipa/ipa_table.c
582
static void ipa_route_config(struct ipa *ipa, bool modem)
drivers/net/ipa/ipa_table.c
586
if (!ipa_table_hash_support(ipa))
drivers/net/ipa/ipa_table.c
589
for (route_id = 0; route_id < ipa->route_count; route_id++)
drivers/net/ipa/ipa_table.c
590
if (ipa_route_id_modem(ipa, route_id) == modem)
drivers/net/ipa/ipa_table.c
591
ipa_route_tuple_zero(ipa, route_id);
drivers/net/ipa/ipa_table.c
595
void ipa_table_config(struct ipa *ipa)
drivers/net/ipa/ipa_table.c
597
ipa_filter_config(ipa, false);
drivers/net/ipa/ipa_table.c
598
ipa_filter_config(ipa, true);
drivers/net/ipa/ipa_table.c
599
ipa_route_config(ipa, false);
drivers/net/ipa/ipa_table.c
600
ipa_route_config(ipa, true);
drivers/net/ipa/ipa_table.c
606
bool ipa_table_mem_valid(struct ipa *ipa, bool filter)
drivers/net/ipa/ipa_table.c
608
bool hash_support = ipa_table_hash_support(ipa);
drivers/net/ipa/ipa_table.c
618
mem_ipv4 = ipa_table_mem(ipa, filter, false, false);
drivers/net/ipa/ipa_table.c
622
mem_ipv6 = ipa_table_mem(ipa, filter, false, true);
drivers/net/ipa/ipa_table.c
634
ipa->filter_count = count - 1; /* Filter map in first entry */
drivers/net/ipa/ipa_table.c
636
ipa->route_count = count;
drivers/net/ipa/ipa_table.c
639
if (!ipa_cmd_table_init_valid(ipa, mem_ipv4, !filter))
drivers/net/ipa/ipa_table.c
647
if (count < 1 + hweight64(ipa->filtered))
drivers/net/ipa/ipa_table.c
653
if (count < ipa->modem_route_count + 1)
drivers/net/ipa/ipa_table.c
662
mem_hashed = ipa_table_mem(ipa, filter, true, false);
drivers/net/ipa/ipa_table.c
672
mem_hashed = ipa_table_mem(ipa, filter, true, true);
drivers/net/ipa/ipa_table.c
715
int ipa_table_init(struct ipa *ipa)
drivers/net/ipa/ipa_table.c
717
struct device *dev = ipa->dev;
drivers/net/ipa/ipa_table.c
726
count = max_t(u32, ipa->filter_count, ipa->route_count);
drivers/net/ipa/ipa_table.c
739
ipa->table_virt = virt;
drivers/net/ipa/ipa_table.c
740
ipa->table_addr = addr;
drivers/net/ipa/ipa_table.c
751
if (ipa->version < IPA_VERSION_5_0)
drivers/net/ipa/ipa_table.c
752
*virt++ = cpu_to_le64(ipa->filtered << 1);
drivers/net/ipa/ipa_table.c
754
*virt++ = cpu_to_le64(ipa->filtered);
drivers/net/ipa/ipa_table.c
764
void ipa_table_exit(struct ipa *ipa)
drivers/net/ipa/ipa_table.c
766
u32 count = max_t(u32, 1 + ipa->filter_count, ipa->route_count);
drivers/net/ipa/ipa_table.c
767
struct device *dev = ipa->dev;
drivers/net/ipa/ipa_table.c
772
dma_free_coherent(dev, size, ipa->table_virt, ipa->table_addr);
drivers/net/ipa/ipa_table.c
773
ipa->table_addr = 0;
drivers/net/ipa/ipa_table.c
774
ipa->table_virt = NULL;
drivers/net/ipa/ipa_table.h
11
struct ipa;
drivers/net/ipa/ipa_table.h
20
bool ipa_filtered_valid(struct ipa *ipa, u64 filtered);
drivers/net/ipa/ipa_table.h
26
bool ipa_table_hash_support(struct ipa *ipa);
drivers/net/ipa/ipa_table.h
33
void ipa_table_reset(struct ipa *ipa, bool modem);
drivers/net/ipa/ipa_table.h
39
int ipa_table_hash_flush(struct ipa *ipa);
drivers/net/ipa/ipa_table.h
47
int ipa_table_setup(struct ipa *ipa);
drivers/net/ipa/ipa_table.h
55
void ipa_table_config(struct ipa *ipa);
drivers/net/ipa/ipa_table.h
61
int ipa_table_init(struct ipa *ipa);
drivers/net/ipa/ipa_table.h
67
void ipa_table_exit(struct ipa *ipa);
drivers/net/ipa/ipa_table.h
74
bool ipa_table_mem_valid(struct ipa *ipa, bool filter);
drivers/net/ipa/ipa_uc.c
120
static struct ipa_uc_mem_area *ipa_uc_shared(struct ipa *ipa)
drivers/net/ipa/ipa_uc.c
122
const struct ipa_mem *mem = ipa_mem_find(ipa, IPA_MEM_UC_SHARED);
drivers/net/ipa/ipa_uc.c
123
u32 offset = ipa->mem_offset + mem->offset;
drivers/net/ipa/ipa_uc.c
125
return ipa->mem_virt + offset;
drivers/net/ipa/ipa_uc.c
129
static void ipa_uc_event_handler(struct ipa *ipa)
drivers/net/ipa/ipa_uc.c
131
struct ipa_uc_mem_area *shared = ipa_uc_shared(ipa);
drivers/net/ipa/ipa_uc.c
132
struct device *dev = ipa->dev;
drivers/net/ipa/ipa_uc.c
143
static void ipa_uc_response_hdlr(struct ipa *ipa)
drivers/net/ipa/ipa_uc.c
145
struct ipa_uc_mem_area *shared = ipa_uc_shared(ipa);
drivers/net/ipa/ipa_uc.c
146
struct device *dev = ipa->dev;
drivers/net/ipa/ipa_uc.c
158
if (ipa->uc_powered) {
drivers/net/ipa/ipa_uc.c
159
ipa->uc_loaded = true;
drivers/net/ipa/ipa_uc.c
160
ipa_power_retention(ipa, true);
drivers/net/ipa/ipa_uc.c
162
ipa->uc_powered = false;
drivers/net/ipa/ipa_uc.c
174
void ipa_uc_interrupt_handler(struct ipa *ipa, enum ipa_irq_id irq_id)
drivers/net/ipa/ipa_uc.c
178
ipa_uc_event_handler(ipa);
drivers/net/ipa/ipa_uc.c
180
ipa_uc_response_hdlr(ipa);
drivers/net/ipa/ipa_uc.c
184
void ipa_uc_config(struct ipa *ipa)
drivers/net/ipa/ipa_uc.c
186
ipa->uc_powered = false;
drivers/net/ipa/ipa_uc.c
187
ipa->uc_loaded = false;
drivers/net/ipa/ipa_uc.c
188
ipa_interrupt_enable(ipa, IPA_IRQ_UC_0);
drivers/net/ipa/ipa_uc.c
189
ipa_interrupt_enable(ipa, IPA_IRQ_UC_1);
drivers/net/ipa/ipa_uc.c
193
void ipa_uc_deconfig(struct ipa *ipa)
drivers/net/ipa/ipa_uc.c
195
struct device *dev = ipa->dev;
drivers/net/ipa/ipa_uc.c
197
ipa_interrupt_disable(ipa, IPA_IRQ_UC_1);
drivers/net/ipa/ipa_uc.c
198
ipa_interrupt_disable(ipa, IPA_IRQ_UC_0);
drivers/net/ipa/ipa_uc.c
199
if (ipa->uc_loaded)
drivers/net/ipa/ipa_uc.c
200
ipa_power_retention(ipa, false);
drivers/net/ipa/ipa_uc.c
202
if (!ipa->uc_powered)
drivers/net/ipa/ipa_uc.c
209
void ipa_uc_power(struct ipa *ipa)
drivers/net/ipa/ipa_uc.c
211
struct device *dev = ipa->dev;
drivers/net/ipa/ipa_uc.c
225
ipa->uc_powered = true;
drivers/net/ipa/ipa_uc.c
230
static void send_uc_command(struct ipa *ipa, u32 command, u32 command_param)
drivers/net/ipa/ipa_uc.c
232
struct ipa_uc_mem_area *shared = ipa_uc_shared(ipa);
drivers/net/ipa/ipa_uc.c
244
reg = ipa_reg(ipa, IPA_IRQ_UC);
drivers/net/ipa/ipa_uc.c
247
iowrite32(val, ipa->reg_virt + reg_offset(reg));
drivers/net/ipa/ipa_uc.c
251
void ipa_uc_panic_notifier(struct ipa *ipa)
drivers/net/ipa/ipa_uc.c
253
if (!ipa->uc_loaded)
drivers/net/ipa/ipa_uc.c
256
send_uc_command(ipa, IPA_UC_COMMAND_ERR_FATAL, 0);
drivers/net/ipa/ipa_uc.h
16
void ipa_uc_interrupt_handler(struct ipa *ipa, enum ipa_irq_id irq_id);
drivers/net/ipa/ipa_uc.h
22
void ipa_uc_config(struct ipa *ipa);
drivers/net/ipa/ipa_uc.h
28
void ipa_uc_deconfig(struct ipa *ipa);
drivers/net/ipa/ipa_uc.h
42
void ipa_uc_power(struct ipa *ipa);
drivers/net/ipa/ipa_uc.h
51
void ipa_uc_panic_notifier(struct ipa *ipa);
drivers/net/ipa/ipa_uc.h
9
struct ipa;
drivers/net/vxlan/vxlan_core.c
1922
union vxlan_addr ipa = {
drivers/net/vxlan/vxlan_core.c
1927
vxlan_ip_miss(dev, &ipa);
drivers/net/vxlan/vxlan_core.c
2085
union vxlan_addr ipa = {
drivers/net/vxlan/vxlan_core.c
2090
vxlan_ip_miss(dev, &ipa);
drivers/net/vxlan/vxlan_core.c
2119
union vxlan_addr ipa = {
drivers/net/vxlan/vxlan_core.c
2124
vxlan_ip_miss(dev, &ipa);
drivers/net/vxlan/vxlan_core.c
2145
union vxlan_addr ipa = {
drivers/net/vxlan/vxlan_core.c
2150
vxlan_ip_miss(dev, &ipa);
drivers/net/vxlan/vxlan_core.c
353
static void vxlan_ip_miss(struct net_device *dev, union vxlan_addr *ipa)
drivers/net/vxlan/vxlan_core.c
360
.remote_ip = *ipa, /* goes to NDA_DST */
drivers/net/wireguard/selftest/allowedips.c
459
#define insert(version, mem, ipa, ipb, ipc, ipd, cidr) \
drivers/net/wireguard/selftest/allowedips.c
460
wg_allowedips_insert_v##version(&t, ip##version(ipa, ipb, ipc, ipd), \
drivers/net/wireguard/selftest/allowedips.c
463
#define remove(version, mem, ipa, ipb, ipc, ipd, cidr) \
drivers/net/wireguard/selftest/allowedips.c
464
wg_allowedips_remove_v##version(&t, ip##version(ipa, ipb, ipc, ipd), \
drivers/net/wireguard/selftest/allowedips.c
475
#define test(version, mem, ipa, ipb, ipc, ipd) do { \
drivers/net/wireguard/selftest/allowedips.c
477
ip##version(ipa, ipb, ipc, ipd)) == (mem); \
drivers/net/wireguard/selftest/allowedips.c
481
#define test_negative(version, mem, ipa, ipb, ipc, ipd) do { \
drivers/net/wireguard/selftest/allowedips.c
483
ip##version(ipa, ipb, ipc, ipd)) != (mem); \
drivers/net/wireless/broadcom/b43/phy_n.c
32
u16 ipa[2];
drivers/net/wireless/broadcom/b43/phy_n.c
3560
params->ipa = target.ipa[core];
drivers/net/wireless/broadcom/b43/phy_n.c
3564
params->cal_gain = (params->txgm << 12) | (params->pga << 8) | (params->pad << 3) | (params->ipa) | (params->tx_lpf << 15);
drivers/net/wireless/broadcom/b43/phy_n.c
3566
params->cal_gain = (params->txgm << 12) | (params->pga << 8) | (params->pad << 4) | (params->ipa);
drivers/net/wireless/broadcom/b43/phy_n.c
40
u16 ipa;
drivers/net/wireless/broadcom/b43/phy_n.c
4977
target.ipa[i] = curr_gain[i] & 0x0007;
drivers/net/wireless/broadcom/b43/phy_n.c
4983
target.ipa[i] = curr_gain[i] & 0x000F;
drivers/net/wireless/broadcom/b43/phy_n.c
4988
target.ipa[i] = curr_gain[i] & 0x0003;
drivers/net/wireless/broadcom/b43/phy_n.c
5010
target.ipa[i] = (table[index[i]] >> 16) & 0x7;
drivers/net/wireless/broadcom/b43/phy_n.c
5016
target.ipa[i] = (table[index[i]] >> 16) & 0xF;
drivers/net/wireless/broadcom/b43/phy_n.c
5021
target.ipa[i] = (table[index[i]] >> 16) & 0x3;
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_int.h
424
u16 ipa[2];
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c
176
u16 ipa;
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c
23278
target_gain.ipa[core_no] =
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c
23289
target_gain.ipa[core_no] =
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c
23298
target_gain.ipa[core_no] =
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c
23318
target_gain.ipa[core_no] =
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c
23339
target_gain.ipa[core_no] =
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c
23357
target_gain.ipa[core_no] =
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c
23392
params->ipa = target_gain.ipa[core_no];
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c
23397
(params->pad << 3) | (params->ipa));
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c
23401
(params->pad << 4) | (params->ipa));
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c
24700
(phy_a9.ipa[core]));
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c
24705
(phy_a9.pad[core] << 3) | (phy_a9.ipa[core]));
drivers/s390/net/qeth_core.h
675
__u16 ipa;
drivers/s390/net/qeth_core_main.c
3043
__ipa_cmd(iob)->hdr.seqno = card->seqno.ipa++;
drivers/scsi/bfa/bfa_fc.h
1409
u8 ipa[8]; /* Initial Process Associator */
fs/btrfs/ioctl.c
3176
struct btrfs_ioctl_ino_path_args *ipa = NULL;
fs/btrfs/ioctl.c
3189
ipa = memdup_user(arg, sizeof(*ipa));
fs/btrfs/ioctl.c
3190
if (IS_ERR(ipa)) {
fs/btrfs/ioctl.c
3191
ret = PTR_ERR(ipa);
fs/btrfs/ioctl.c
3192
ipa = NULL;
fs/btrfs/ioctl.c
3196
size = min_t(u32, ipa->size, 4096);
fs/btrfs/ioctl.c
3204
ret = paths_from_inode(ipa->inum, ipath);
fs/btrfs/ioctl.c
3216
ret = copy_to_user((void __user *)(unsigned long)ipa->fspath,
fs/btrfs/ioctl.c
3225
kfree(ipa);
fs/gfs2/log.c
696
struct gfs2_inode *ipa, *ipb;
fs/gfs2/log.c
698
ipa = list_entry(a, struct gfs2_inode, i_ordered);
fs/gfs2/log.c
701
if (ipa->i_no_addr < ipb->i_no_addr)
fs/gfs2/log.c
703
if (ipa->i_no_addr > ipb->i_no_addr)
include/net/vxlan.h
456
static inline bool vxlan_addr_any(const union vxlan_addr *ipa)
include/net/vxlan.h
458
if (ipa->sa.sa_family == AF_INET6)
include/net/vxlan.h
459
return ipv6_addr_any(&ipa->sin6.sin6_addr);
include/net/vxlan.h
461
return ipa->sin.sin_addr.s_addr == htonl(INADDR_ANY);
include/net/vxlan.h
464
static inline bool vxlan_addr_multicast(const union vxlan_addr *ipa)
include/net/vxlan.h
466
if (ipa->sa.sa_family == AF_INET6)
include/net/vxlan.h
467
return ipv6_addr_is_multicast(&ipa->sin6.sin6_addr);
include/net/vxlan.h
469
return ipv4_is_multicast(ipa->sin.sin_addr.s_addr);
include/net/vxlan.h
474
static inline bool vxlan_addr_any(const union vxlan_addr *ipa)
include/net/vxlan.h
476
return ipa->sin.sin_addr.s_addr == htonl(INADDR_ANY);
include/net/vxlan.h
479
static inline bool vxlan_addr_multicast(const union vxlan_addr *ipa)
include/net/vxlan.h
481
return ipv4_is_multicast(ipa->sin.sin_addr.s_addr);
include/uapi/linux/kvm.h
309
__u16 ipa;
kernel/trace/ftrace.c
7508
const unsigned long *ipa = a;
kernel/trace/ftrace.c
7511
if (*ipa > *ipb)
kernel/trace/ftrace.c
7513
if (*ipa < *ipb)
tools/include/uapi/linux/kvm.h
309
__u16 ipa;
tools/testing/selftests/kvm/include/arm64/processor.h
170
void aarch64_get_supported_page_sizes(uint32_t ipa, uint32_t *ipa4k,
tools/testing/selftests/kvm/include/s390/sie.h
124
__u16 ipa; /* 0x0056 */
tools/testing/selftests/kvm/lib/arm64/processor.c
582
void aarch64_get_supported_page_sizes(uint32_t ipa, uint32_t *ipa4k,
tools/testing/selftests/kvm/lib/arm64/processor.c
595
vm_fd = __kvm_ioctl(kvm_fd, KVM_CREATE_VM, (void *)(unsigned long)ipa);
tools/testing/selftests/kvm/lib/arm64/processor.c
610
*ipa4k = max_ipa_for_page_size(ipa, gran, ID_AA64MMFR0_EL1_TGRAN4_NI,
tools/testing/selftests/kvm/lib/arm64/processor.c
614
*ipa64k = max_ipa_for_page_size(ipa, gran, ID_AA64MMFR0_EL1_TGRAN64_NI,
tools/testing/selftests/kvm/lib/arm64/processor.c
618
*ipa16k = max_ipa_for_page_size(ipa, gran, ID_AA64MMFR0_EL1_TGRAN16_NI,
tools/testing/selftests/kvm/lib/s390/diag318_test_handler.c
41
TEST_ASSERT((run->s390_sieic.ipa & 0xff00) == IPA0_DIAG,
tools/testing/selftests/kvm/lib/s390/diag318_test_handler.c
42
"Unexpected IPA0 code: 0x%x", (run->s390_sieic.ipa & 0xff00));
tools/testing/selftests/kvm/lib/s390/diag318_test_handler.c
44
reg = (run->s390_sieic.ipa & 0x00f0) >> 4;
tools/testing/selftests/kvm/lib/s390/ucall.c
15
(run->s390_sieic.ipa >> 8) == 0x83 && /* 0x83 means DIAGNOSE */
tools/testing/selftests/kvm/lib/s390/ucall.c
17
int reg = run->s390_sieic.ipa & 0xf;
tools/testing/selftests/kvm/s390/cmma_test.c
268
TEST_ASSERT_EQ(vcpu->run->s390_sieic.ipa, 0x8300);
tools/testing/selftests/kvm/s390/debug_test.c
89
TEST_ASSERT_EQ(vcpu->run->s390_sieic.ipa & 0xff00, IPA0_DIAG);
tools/testing/selftests/kvm/s390/sync_regs_test.c
129
(run->s390_sieic.ipa >> 8) == 0x83 &&
tools/testing/selftests/kvm/s390/sync_regs_test.c
132
run->s390_sieic.icptcode, run->s390_sieic.ipa,
tools/testing/selftests/kvm/s390/ucontrol_test.c
347
int ilen = insn_length(sie_block->ipa >> 8);
tools/testing/selftests/kvm/s390/ucontrol_test.c
350
switch (run->s390_sieic.ipa) {
tools/testing/selftests/kvm/s390/ucontrol_test.c
378
run->s390_sieic.ipa,
tools/testing/selftests/kvm/s390/ucontrol_test.c
390
TEST_FAIL("sie exception on %.4x%.8x", sie_block->ipa, sie_block->ipb);
tools/testing/selftests/kvm/s390/ucontrol_test.c
436
TEST_ASSERT_EQ(0x8300, sie_block->ipa);
tools/testing/selftests/kvm/s390/ucontrol_test.c
611
TEST_REQUIRE(sie_block->ipa != 0xb22b);
tools/testing/selftests/kvm/s390/user_operexec.c
107
TEST_ASSERT_EQ(vcpu->run->s390_sieic.ipa, 0x0807);
tools/testing/selftests/kvm/s390/user_operexec.c
34
TEST_ASSERT_EQ(vcpu->run->s390_sieic.ipa, 0);
tools/testing/selftests/kvm/s390/user_operexec.c
57
TEST_ASSERT_EQ(vcpu->run->s390_sieic.ipa, 0x0807);
tools/testing/selftests/kvm/s390/user_operexec.c
72
TEST_ASSERT_EQ(vcpu->run->s390_sieic.ipa, 0);
tools/testing/selftests/kvm/s390/user_operexec.c
93
TEST_ASSERT_EQ(vcpu->run->s390_sieic.ipa, 0x0807);