Home
last modified time | relevance | path

Searched refs:ipa (Results 1 – 25 of 119) sorted by relevance

12345

/linux/drivers/net/ipa/
H A Dipa_table.c145 ipa_table_mem(struct ipa *ipa, bool filter, bool hashed, bool ipv6) in ipa_table_mem() argument
158 return ipa_mem_find(ipa, mem_id); in ipa_table_mem()
162 bool ipa_table_hash_support(struct ipa *ipa) in ipa_table_hash_support() argument
164 return ipa->version != IPA_VERSION_4_2; in ipa_table_hash_support()
167 bool ipa_filtered_valid(struct ipa *ipa, u64 filtered) in ipa_filtered_valid() argument
169 struct device *dev = ipa->dev; in ipa_filtered_valid()
179 if (count > ipa->filter_count) { in ipa_filtered_valid()
181 count, ipa->filter_count); in ipa_filtered_valid()
190 static dma_addr_t ipa_table_addr(struct ipa *ipa, bool filter_mask, u16 count) in ipa_table_addr() argument
197 WARN_ON(count > max_t(u32, ipa->filter_count, ipa->route_count)); in ipa_table_addr()
[all …]
H A Dipa_endpoint.c128 static u32 ipa_status_extract(struct ipa *ipa, const void *data, in ipa_status_extract() argument
131 enum ipa_version version = ipa->version; in ipa_status_extract()
234 static bool ipa_endpoint_data_valid_one(struct ipa *ipa, u32 count, in ipa_endpoint_data_valid_one() argument
240 struct device *dev = ipa->dev; in ipa_endpoint_data_valid_one()
308 reg = ipa_reg(ipa, ENDP_INIT_AGGR); in ipa_endpoint_data_valid_one()
322 if (ipa->version >= IPA_VERSION_4_5) { in ipa_endpoint_data_valid_one()
390 static u32 ipa_endpoint_max(struct ipa *ipa, u32 count, in ipa_endpoint_max() argument
394 struct device *dev = ipa->dev; in ipa_endpoint_max()
424 if (!ipa_endpoint_data_valid_one(ipa, count, data, dp)) in ipa_endpoint_max()
436 struct gsi *gsi = &endpoint->ipa->gsi; in ipa_endpoint_trans_alloc()
[all …]
H A Dipa_cmd.c172 bool ipa_cmd_table_init_valid(struct ipa *ipa, const struct ipa_mem *mem, in ipa_cmd_table_init_valid() argument
178 struct device *dev = ipa->dev; in ipa_cmd_table_init_valid()
181 size = route ? ipa->route_count : ipa->filter_count + 1; in ipa_cmd_table_init_valid()
194 ipa->mem_offset > offset_max - mem->offset) { in ipa_cmd_table_init_valid()
197 ipa->mem_offset, mem->offset, offset_max); in ipa_cmd_table_init_valid()
206 static bool ipa_cmd_header_init_local_valid(struct ipa *ipa) in ipa_cmd_header_init_local_valid() argument
208 struct device *dev = ipa->dev; in ipa_cmd_header_init_local_valid()
226 mem = ipa_mem_find(ipa, IPA_MEM_MODEM_HEADER); in ipa_cmd_header_init_local_valid()
231 if (offset > offset_max || ipa->mem_offset > offset_max - offset) { in ipa_cmd_header_init_local_valid()
234 ipa->mem_offset, offset, offset_max); in ipa_cmd_header_init_local_valid()
[all …]
H A Dipa_qmi.c82 struct ipa *ipa = container_of(ipa_qmi, struct ipa, qmi); in ipa_server_init_complete() local
95 dev_err(ipa->dev, in ipa_server_init_complete()
124 struct ipa *ipa; in ipa_qmi_ready() local
144 ipa = container_of(ipa_qmi, struct ipa, qmi); in ipa_qmi_ready()
145 ret = ipa_modem_start(ipa); in ipa_qmi_ready()
147 dev_err(ipa->dev, "error %d starting modem\n", ret); in ipa_qmi_ready()
182 struct ipa *ipa; in ipa_server_indication_register() local
186 ipa = container_of(ipa_qmi, struct ipa, qmi); in ipa_server_indication_register()
198 dev_err(ipa->dev, in ipa_server_indication_register()
211 struct ipa *ipa; in ipa_server_driver_init_complete() local
[all …]
H A Dipa_endpoint.h19 struct ipa;
153 struct ipa *ipa; member
172 void ipa_endpoint_modem_hol_block_clear_all(struct ipa *ipa);
174 void ipa_endpoint_modem_pause_all(struct ipa *ipa, bool enable);
176 int ipa_endpoint_modem_exception_reset_all(struct ipa *ipa);
186 void ipa_endpoint_suspend(struct ipa *ipa);
187 void ipa_endpoint_resume(struct ipa *ipa);
189 void ipa_endpoint_setup(struct ipa *ipa);
190 void ipa_endpoint_teardown(struct ipa *ipa);
192 int ipa_endpoint_config(struct ipa *ipa);
[all …]
H A Dipa_table.h11 struct ipa;
20 bool ipa_filtered_valid(struct ipa *ipa, u64 filtered);
26 bool ipa_table_hash_support(struct ipa *ipa);
33 void ipa_table_reset(struct ipa *ipa, bool modem);
39 int ipa_table_hash_flush(struct ipa *ipa);
47 int ipa_table_setup(struct ipa *ipa);
55 void ipa_table_config(struct ipa *ipa);
61 int ipa_table_init(struct ipa *ipa);
67 void ipa_table_exit(struct ipa *ipa);
74 bool ipa_table_mem_valid(struct ipa *ipa, bool filter);
H A Dipa_resource.c28 static bool ipa_resource_limits_valid(struct ipa *ipa, in ipa_resource_limits_valid() argument
71 ipa_resource_config_common(struct ipa *ipa, u32 resource_type, in ipa_resource_config_common() argument
85 iowrite32(val, ipa->reg_virt + reg_n_offset(reg, resource_type)); in ipa_resource_config_common()
88 static void ipa_resource_config_src(struct ipa *ipa, u32 resource_type, in ipa_resource_config_src() argument
98 reg = ipa_reg(ipa, SRC_RSRC_GRP_01_RSRC_TYPE); in ipa_resource_config_src()
100 ipa_resource_config_common(ipa, resource_type, reg, in ipa_resource_config_src()
105 reg = ipa_reg(ipa, SRC_RSRC_GRP_23_RSRC_TYPE); in ipa_resource_config_src()
107 ipa_resource_config_common(ipa, resource_type, reg, in ipa_resource_config_src()
112 reg = ipa_reg(ipa, SRC_RSRC_GRP_45_RSRC_TYPE); in ipa_resource_config_src()
114 ipa_resource_config_common(ipa, resource_type, reg, in ipa_resource_config_src()
[all …]
H A Dipa_power.c95 static int ipa_power_enable(struct ipa *ipa) in ipa_power_enable() argument
97 struct ipa_power *power = ipa->power; in ipa_power_enable()
115 static void ipa_power_disable(struct ipa *ipa) in ipa_power_disable() argument
117 struct ipa_power *power = ipa->power; in ipa_power_disable()
126 struct ipa *ipa = dev_get_drvdata(dev); in ipa_runtime_suspend() local
129 if (ipa->setup_complete) { in ipa_runtime_suspend()
130 ipa_endpoint_suspend(ipa); in ipa_runtime_suspend()
131 gsi_suspend(&ipa->gsi); in ipa_runtime_suspend()
134 ipa_power_disable(ipa); in ipa_runtime_suspend()
141 struct ipa *ipa = dev_get_drvdata(dev); in ipa_runtime_resume() local
[all …]
H A Dipa_gsi.c18 struct ipa *ipa = container_of(trans->gsi, struct ipa, gsi); in ipa_gsi_trans_complete() local
20 ipa_endpoint_trans_complete(ipa->channel_map[trans->channel_id], trans); in ipa_gsi_trans_complete()
25 struct ipa *ipa = container_of(trans->gsi, struct ipa, gsi); in ipa_gsi_trans_release() local
27 ipa_endpoint_trans_release(ipa->channel_map[trans->channel_id], trans); in ipa_gsi_trans_release()
33 struct ipa *ipa = container_of(gsi, struct ipa, gsi); in ipa_gsi_channel_tx_queued() local
36 endpoint = ipa->channel_map[channel_id]; in ipa_gsi_channel_tx_queued()
44 struct ipa *ipa = container_of(gsi, struct ipa, gsi); in ipa_gsi_channel_tx_completed() local
47 endpoint = ipa->channel_map[channel_id]; in ipa_gsi_channel_tx_completed()
H A Dipa_mem.h13 struct ipa;
98 const struct ipa_mem *ipa_mem_find(struct ipa *ipa, enum ipa_mem_id mem_id);
100 int ipa_mem_config(struct ipa *ipa);
101 void ipa_mem_deconfig(struct ipa *ipa);
103 int ipa_mem_setup(struct ipa *ipa); /* No ipa_mem_teardown() needed */
105 int ipa_mem_zero_modem(struct ipa *ipa);
107 int ipa_mem_init(struct ipa *ipa, struct platform_device *pdev,
109 void ipa_mem_exit(struct ipa *ipa);
H A Dipa_sysfs.c13 static const char *ipa_version_string(struct ipa *ipa) in ipa_version_string() argument
15 switch (ipa->version) { in ipa_version_string()
52 struct ipa *ipa = dev_get_drvdata(dev); in version_show() local
54 return sysfs_emit(buf, "%s\n", ipa_version_string(ipa)); in version_show()
68 static const char *ipa_offload_string(struct ipa *ipa) in ipa_offload_string() argument
70 return ipa->version < IPA_VERSION_4_5 ? "MAPv4" : "MAPv5"; in ipa_offload_string()
76 struct ipa *ipa = dev_get_drvdata(dev); in rx_offload_show() local
78 return sysfs_emit(buf, "%s\n", ipa_offload_string(ipa)); in rx_offload_show()
86 struct ipa *ipa = dev_get_drvdata(dev); in tx_offload_show() local
88 return sysfs_emit(buf, "%s\n", ipa_offload_string(ipa)); in tx_offload_show()
[all …]
H A Dipa_interrupt.h13 struct ipa;
55 void ipa_interrupt_enable(struct ipa *ipa, enum ipa_irq_id ipa_irq);
62 void ipa_interrupt_disable(struct ipa *ipa, enum ipa_irq_id ipa_irq);
70 void ipa_interrupt_irq_enable(struct ipa *ipa);
78 void ipa_interrupt_irq_disable(struct ipa *ipa);
86 int ipa_interrupt_config(struct ipa *ipa);
92 void ipa_interrupt_deconfig(struct ipa *ipa);
H A Dipa_uc.h9 struct ipa;
16 void ipa_uc_interrupt_handler(struct ipa *ipa, enum ipa_irq_id irq_id);
22 void ipa_uc_config(struct ipa *ipa);
28 void ipa_uc_deconfig(struct ipa *ipa);
42 void ipa_uc_power(struct ipa *ipa);
51 void ipa_uc_panic_notifier(struct ipa *ipa);
H A Dipa_reg.c14 static bool ipa_reg_id_valid(struct ipa *ipa, enum ipa_reg_id reg_id) in ipa_reg_id_valid() argument
16 enum ipa_version version = ipa->version; in ipa_reg_id_valid()
102 const struct reg *ipa_reg(struct ipa *ipa, enum ipa_reg_id reg_id) in ipa_reg() argument
104 if (WARN(!ipa_reg_id_valid(ipa, reg_id), "invalid reg %u\n", reg_id)) in ipa_reg()
107 return reg(ipa->regs, reg_id); in ipa_reg()
136 int ipa_reg_init(struct ipa *ipa, struct platform_device *pdev) in ipa_reg_init() argument
142 regs = ipa_regs(ipa->version); in ipa_reg_init()
156 ipa->reg_virt = ioremap(res->start, resource_size(res)); in ipa_reg_init()
157 if (!ipa->reg_virt) { in ipa_reg_init()
161 ipa->regs = regs; in ipa_reg_init()
[all …]
H A Dipa_smp2p.h13 struct ipa;
23 int ipa_smp2p_init(struct ipa *ipa, struct platform_device *pdev,
30 void ipa_smp2p_exit(struct ipa *ipa);
38 void ipa_smp2p_irq_disable_setup(struct ipa *ipa);
48 void ipa_smp2p_notify_reset(struct ipa *ipa);
H A Dipa_modem.h12 struct ipa;
14 int ipa_modem_start(struct ipa *ipa);
15 int ipa_modem_stop(struct ipa *ipa);
22 int ipa_modem_config(struct ipa *ipa);
23 void ipa_modem_deconfig(struct ipa *ipa);
H A Dipa_cmd.h13 struct ipa;
53 bool ipa_cmd_table_init_valid(struct ipa *ipa, const struct ipa_mem *mem,
141 void ipa_cmd_pipeline_clear_wait(struct ipa *ipa);
151 struct gsi_trans *ipa_cmd_trans_alloc(struct ipa *ipa, u32 tre_count);
161 int ipa_cmd_init(struct ipa *ipa);
H A Dipa_qmi.h14 struct ipa;
58 int ipa_qmi_setup(struct ipa *ipa);
64 void ipa_qmi_teardown(struct ipa *ipa);
H A Dipa_power.h13 struct ipa;
25 u32 ipa_core_clock_rate(struct ipa *ipa);
32 void ipa_power_retention(struct ipa *ipa, bool enable);
H A DMakefile12 obj-$(CONFIG_QCOM_IPA) += ipa.o
14 ipa-y := ipa_main.o ipa_power.o ipa_reg.o ipa_mem.o \
21 ipa-y += $(IPA_REG_VERSIONS:%=reg/ipa_reg-v%.o)
23 ipa-y += $(GSI_REG_VERSIONS:%=reg/gsi_reg-v%.o)
25 ipa-y += $(IPA_DATA_VERSIONS:%=data/ipa_data-v%.o)
/linux/Documentation/ABI/testing/
H A Dsysfs-devices-platform-soc-ipa1 What: /sys/devices/platform/soc@X/XXXXXXX.ipa/
6 The /sys/devices/platform/soc@X/XXXXXXX.ipa/ directory
9 "soc@0/1e40000.ipa".
11 What: .../XXXXXXX.ipa/version
16 The .../XXXXXXX.ipa/version file contains the IPA hardware
20 What: .../XXXXXXX.ipa/feature/
25 The .../XXXXXXX.ipa/feature/ directory contains a set of
29 What: .../XXXXXXX.ipa/feature/rx_offload
34 The .../XXXXXXX.ipa/feature/rx_offload file contains a
39 What: .../XXXXXXX.ipa/feature/tx_offload
[all …]
/linux/arch/arm64/kvm/
H A Dtrace_arm.h56 unsigned long long ipa),
57 TP_ARGS(vcpu_pc, hsr, hxfar, ipa),
63 __field( unsigned long long, ipa )
70 __entry->ipa = ipa;
74 __entry->ipa, __entry->hsr,
79 TP_PROTO(unsigned long ipa),
80 TP_ARGS(ipa),
83 __field( unsigned long, ipa )
87 __entry->ipa = ipa;
90 TP_printk("IPA: %lx", __entry->ipa)
[all …]
H A Dpvtime.c80 u64 ipa; in kvm_arm_pvtime_set_attr() local
88 if (get_user(ipa, user)) in kvm_arm_pvtime_set_attr()
90 if (!IS_ALIGNED(ipa, 64)) in kvm_arm_pvtime_set_attr()
97 if (kvm_is_error_hva(gfn_to_hva(kvm, ipa >> PAGE_SHIFT))) in kvm_arm_pvtime_set_attr()
102 vcpu->arch.steal.base = ipa; in kvm_arm_pvtime_set_attr()
111 u64 ipa; in kvm_arm_pvtime_get_attr() local
117 ipa = vcpu->arch.steal.base; in kvm_arm_pvtime_get_attr()
119 if (put_user(ipa, user)) in kvm_arm_pvtime_get_attr()
/linux/arch/arm64/kvm/hyp/nvhe/
H A Dmem_protect.c939 static int __guest_check_transition_size(u64 phys, u64 ipa, u64 nr_pages, u64 *size) in __guest_check_transition_size() argument
954 if (!IS_ALIGNED(phys | ipa, block_size)) in __guest_check_transition_size()
966 u64 ipa = hyp_pfn_to_phys(gfn); in __pkvm_host_share_guest() local
976 ret = __guest_check_transition_size(phys, ipa, nr_pages, &size); in __pkvm_host_share_guest()
987 ret = __guest_check_page_state_range(vm, ipa, size, PKVM_NOPAGE); in __pkvm_host_share_guest()
1017 WARN_ON(kvm_pgtable_stage2_map(&vm->pgt, ipa, size, phys, in __pkvm_host_share_guest()
1028 static int __check_host_shared_guest(struct pkvm_hyp_vm *vm, u64 *__phys, u64 ipa, u64 size) in __check_host_shared_guest() argument
1036 ret = kvm_pgtable_get_leaf(&vm->pgt, ipa, &pte, &level); in __check_host_shared_guest()
1047 state = guest_get_page_state(pte, ipa); in __check_host_shared_guest()
1070 u64 ipa = hyp_pfn_to_phys(gfn); in __pkvm_host_unshare_guest() local
[all …]
/linux/include/net/
H A Dvxlan.h456 static inline bool vxlan_addr_any(const union vxlan_addr *ipa) in vxlan_addr_any() argument
458 if (ipa->sa.sa_family == AF_INET6) in vxlan_addr_any()
459 return ipv6_addr_any(&ipa->sin6.sin6_addr); in vxlan_addr_any()
461 return ipa->sin.sin_addr.s_addr == htonl(INADDR_ANY); in vxlan_addr_any()
464 static inline bool vxlan_addr_multicast(const union vxlan_addr *ipa) in vxlan_addr_multicast() argument
466 if (ipa->sa.sa_family == AF_INET6) in vxlan_addr_multicast()
467 return ipv6_addr_is_multicast(&ipa->sin6.sin6_addr); in vxlan_addr_multicast()
469 return ipv4_is_multicast(ipa->sin.sin_addr.s_addr); in vxlan_addr_multicast()
474 static inline bool vxlan_addr_any(const union vxlan_addr *ipa) in vxlan_addr_any() argument
476 return ipa->sin.sin_addr.s_addr == htonl(INADDR_ANY); in vxlan_addr_any()
[all …]

12345