| /linux/drivers/net/ipa/ |
| H A D | ipa_table.c | 145 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 D | ipa_endpoint.c | 128 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 D | ipa_cmd.c | 172 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 D | ipa_qmi.c | 82 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 D | ipa_endpoint.h | 19 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 D | ipa_table.h | 11 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 D | ipa_resource.c | 28 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 D | ipa_power.c | 95 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 D | ipa_gsi.c | 18 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 D | ipa_mem.h | 13 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 D | ipa_sysfs.c | 13 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 D | ipa_interrupt.h | 13 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 D | ipa_uc.h | 9 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 D | ipa_reg.c | 14 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 D | ipa_smp2p.h | 13 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 D | ipa_modem.h | 12 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 D | ipa_cmd.h | 13 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 D | ipa_qmi.h | 14 struct ipa; 58 int ipa_qmi_setup(struct ipa *ipa); 64 void ipa_qmi_teardown(struct ipa *ipa);
|
| H A D | ipa_power.h | 13 struct ipa; 25 u32 ipa_core_clock_rate(struct ipa *ipa); 32 void ipa_power_retention(struct ipa *ipa, bool enable);
|
| H A D | Makefile | 12 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 D | sysfs-devices-platform-soc-ipa | 1 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 D | trace_arm.h | 56 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 D | pvtime.c | 80 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 D | mem_protect.c | 939 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 D | vxlan.h | 456 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 …]
|