Home
last modified time | relevance | path

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

1234

/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_mem.c29 const struct ipa_mem *ipa_mem_find(struct ipa *ipa, enum ipa_mem_id mem_id) in ipa_mem_find() argument
33 for (i = 0; i < ipa->mem_count; i++) { in ipa_mem_find()
34 const struct ipa_mem *mem = &ipa->mem[i]; in ipa_mem_find()
47 struct ipa *ipa = container_of(trans->gsi, struct ipa, gsi); in ipa_mem_zero_region_add() local
48 const struct ipa_mem *mem = ipa_mem_find(ipa, mem_id); in ipa_mem_zero_region_add()
49 dma_addr_t addr = ipa->zero_addr; in ipa_mem_zero_region_add()
75 int ipa_mem_setup(struct ipa *ipa) in ipa_mem_setup() argument
77 dma_addr_t addr = ipa->zero_addr; in ipa_mem_setup()
88 trans = ipa_cmd_trans_alloc(ipa, 4); in ipa_mem_setup()
90 dev_err(ipa->dev, "no transaction for memory setup\n"); in ipa_mem_setup()
[all …]
H A Dipa_interrupt.c43 struct ipa *ipa; member
52 struct ipa *ipa = interrupt->ipa; in ipa_interrupt_suspend_clear_all() local
56 unit_count = DIV_ROUND_UP(ipa->endpoint_count, 32); in ipa_interrupt_suspend_clear_all()
61 reg = ipa_reg(ipa, IRQ_SUSPEND_INFO); in ipa_interrupt_suspend_clear_all()
62 val = ioread32(ipa->reg_virt + reg_n_offset(reg, unit)); in ipa_interrupt_suspend_clear_all()
65 if (!val || ipa->version == IPA_VERSION_3_0) in ipa_interrupt_suspend_clear_all()
68 reg = ipa_reg(ipa, IRQ_SUSPEND_CLR); in ipa_interrupt_suspend_clear_all()
69 iowrite32(val, ipa->reg_virt + reg_n_offset(reg, unit)); in ipa_interrupt_suspend_clear_all()
76 struct ipa *ipa = interrupt->ipa; in ipa_interrupt_process() local
81 reg = ipa_reg(ipa, IPA_IRQ_CLR); in ipa_interrupt_process()
[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_uc.c120 static struct ipa_uc_mem_area *ipa_uc_shared(struct ipa *ipa) in ipa_uc_shared() argument
122 const struct ipa_mem *mem = ipa_mem_find(ipa, IPA_MEM_UC_SHARED); in ipa_uc_shared()
123 u32 offset = ipa->mem_offset + mem->offset; in ipa_uc_shared()
125 return ipa->mem_virt + offset; in ipa_uc_shared()
129 static void ipa_uc_event_handler(struct ipa *ipa) in ipa_uc_event_handler() argument
131 struct ipa_uc_mem_area *shared = ipa_uc_shared(ipa); in ipa_uc_event_handler()
132 struct device *dev = ipa->dev; in ipa_uc_event_handler()
143 static void ipa_uc_response_hdlr(struct ipa *ipa) in ipa_uc_response_hdlr() argument
145 struct ipa_uc_mem_area *shared = ipa_uc_shared(ipa); in ipa_uc_response_hdlr()
146 struct device *dev = ipa->dev; in ipa_uc_response_hdlr()
[all …]
H A Dipa_modem.c45 struct ipa *ipa; member
55 struct ipa *ipa = priv->ipa; in ipa_open() local
59 dev = ipa->dev; in ipa_open()
91 struct ipa *ipa = priv->ipa; in ipa_stop() local
95 dev = ipa->dev; in ipa_stop()
128 struct ipa *ipa = priv->ipa; in ipa_start_xmit() local
136 endpoint = ipa->name_map[IPA_ENDPOINT_AP_MODEM_TX]; in ipa_start_xmit()
159 dev = ipa->dev; in ipa_start_xmit()
301 int ipa_modem_start(struct ipa *ipa) in ipa_modem_start() argument
309 state = atomic_cmpxchg(&ipa->modem_state, IPA_MODEM_STATE_STOPPED, in ipa_modem_start()
[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_smp2p.c61 struct ipa *ipa; member
93 smp2p->power_on = pm_runtime_get_if_active(smp2p->ipa->dev) > 0; in ipa_smp2p_notify()
128 ipa_uc_panic_notifier(smp2p->ipa); in ipa_smp2p_panic_notifier()
153 struct ipa *ipa = smp2p->ipa; in ipa_smp2p_modem_setup_ready_isr() local
158 if (ipa->setup_complete) in ipa_smp2p_modem_setup_ready_isr()
162 dev = ipa->dev; in ipa_smp2p_modem_setup_ready_isr()
170 ret = ipa_setup(ipa); in ipa_smp2p_modem_setup_ready_isr()
209 static void ipa_smp2p_power_release(struct ipa *ipa) in ipa_smp2p_power_release() argument
211 struct device *dev = ipa->dev; in ipa_smp2p_power_release()
213 if (!ipa->smp2p->power_on) in ipa_smp2p_power_release()
[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()
48 struct ipa *ipa = dev_get_drvdata(dev); in version_show() local
50 return sysfs_emit(buf, "%s\n", ipa_version_string(ipa)); in version_show()
64 static const char *ipa_offload_string(struct ipa *ipa) in ipa_offload_string() argument
66 return ipa->version < IPA_VERSION_4_5 ? "MAPv4" : "MAPv5"; in ipa_offload_string()
72 struct ipa *ipa = dev_get_drvdata(dev); in rx_offload_show() local
74 return sysfs_emit(buf, "%s\n", ipa_offload_string(ipa)); in rx_offload_show()
82 struct ipa *ipa = dev_get_drvdata(dev); in tx_offload_show() local
84 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);
/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 …]

1234