Home
last modified time | relevance | path

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

/openbmc/linux/drivers/net/wwan/iosm/
H A Diosm_ipc_imem.c585 ipc_imem->mux = ipc_mux_init(&mux_cfg, ipc_imem); in ipc_imem_run_state_worker()
593 ipc_imem->mux->wwan = ipc_imem->wwan; in ipc_imem_run_state_worker()
1112 channel = &ipc_imem->channels[ipc_imem->nr_of_channels]; in ipc_imem_channel_init()
1340 if (!ipc_imem) in ipc_imem_init()
1356 ipc_imem->mmio = ipc_mmio_init(mmio, ipc_imem->dev); in ipc_imem_init()
1362 ipc_imem->ipc_task = kzalloc(sizeof(*ipc_imem->ipc_task), in ipc_imem_init()
1372 ipc_imem->ipc_task->dev = ipc_imem->dev; in ipc_imem_init()
1376 ipc_imem->ipc_protocol = ipc_protocol_init(ipc_imem); in ipc_imem_init()
1411 ipc_imem->ipc_devlink = ipc_devlink_init(ipc_imem); in ipc_imem_init()
1445 if (ipc_imem && !ipc_imem->ev_irq_pending[irq]) { in ipc_imem_irq_process()
[all …]
H A Diosm_ipc_imem_ops.c44 ipc_imem_ul_send(ipc_imem); in ipc_imem_tq_cdev_write()
85 ipc_imem->cp_version = ipc_mmio_get_cp_version(ipc_imem->mmio); in ipc_imem_wwan_channel_init()
106 ipc_imem->wwan = ipc_wwan_init(ipc_imem, ipc_imem->dev); in ipc_imem_wwan_channel_init()
107 if (!ipc_imem->wwan) { in ipc_imem_wwan_channel_init()
108 dev_err(ipc_imem->dev, in ipc_imem_wwan_channel_init()
149 phase = ipc_imem->phase; in ipc_imem_is_channel_active()
163 dev_err(ipc_imem->dev, in ipc_imem_is_channel_active()
209 dev_err(ipc_imem->dev, in ipc_imem_sys_port_close()
234 dev_dbg(ipc_imem->dev, in ipc_imem_sys_port_close()
319 struct iosm_imem *ipc_imem = ipc_cdev->ipc_imem; in ipc_imem_sys_cdev_write() local
[all …]
H A Diosm_ipc_debugfs.c13 void ipc_debugfs_init(struct iosm_imem *ipc_imem) in ipc_debugfs_init() argument
15 ipc_imem->debugfs_wwan_dir = wwan_get_debugfs_dir(ipc_imem->dev); in ipc_debugfs_init()
17 ipc_imem->debugfs_dir = debugfs_create_dir(KBUILD_MODNAME, in ipc_debugfs_init()
18 ipc_imem->debugfs_wwan_dir); in ipc_debugfs_init()
20 ipc_imem->trace = ipc_trace_init(ipc_imem); in ipc_debugfs_init()
21 if (!ipc_imem->trace) in ipc_debugfs_init()
22 dev_warn(ipc_imem->dev, "trace channel init failed"); in ipc_debugfs_init()
25 void ipc_debugfs_deinit(struct iosm_imem *ipc_imem) in ipc_debugfs_deinit() argument
27 ipc_trace_deinit(ipc_imem->trace); in ipc_debugfs_deinit()
28 debugfs_remove_recursive(ipc_imem->debugfs_dir); in ipc_debugfs_deinit()
[all …]
H A Diosm_ipc_imem.h405 void ipc_imem_pm_suspend(struct iosm_imem *ipc_imem);
412 void ipc_imem_pm_resume(struct iosm_imem *ipc_imem);
418 void ipc_imem_cleanup(struct iosm_imem *ipc_imem);
425 void ipc_imem_irq_process(struct iosm_imem *ipc_imem, int irq);
433 int imem_get_device_sleep_state(struct iosm_imem *ipc_imem);
477 void ipc_imem_td_update_timer_start(struct iosm_imem *ipc_imem);
486 bool ipc_imem_ul_write_td(struct iosm_imem *ipc_imem);
494 void ipc_imem_ul_send(struct iosm_imem *ipc_imem);
557 void ipc_imem_msg_send_feature_set(struct iosm_imem *ipc_imem,
565 void ipc_imem_ipc_init_check(struct iosm_imem *ipc_imem);
[all …]
H A Diosm_ipc_imem_ops.h44 struct ipc_mem_channel *ipc_imem_sys_port_open(struct iosm_imem *ipc_imem,
46 void ipc_imem_sys_port_close(struct iosm_imem *ipc_imem,
66 int ipc_imem_sys_wwan_open(struct iosm_imem *ipc_imem, int if_id);
75 void ipc_imem_sys_wwan_close(struct iosm_imem *ipc_imem, int if_id,
87 int ipc_imem_sys_wwan_transmit(struct iosm_imem *ipc_imem, int if_id,
97 int ipc_imem_wwan_channel_init(struct iosm_imem *ipc_imem,
106 struct ipc_mem_channel *ipc_imem_sys_devlink_open(struct iosm_imem *ipc_imem);
H A Diosm_ipc_trace.c23 void ipc_trace_port_rx(struct iosm_imem *ipc_imem, struct sk_buff *skb) in ipc_trace_port_rx() argument
25 struct iosm_trace *ipc_trace = ipc_imem->trace; in ipc_trace_port_rx()
102 ipc_trace->channel = ipc_imem_sys_port_open(ipc_trace->ipc_imem, in ipc_trace_ctrl_file_write()
113 ipc_imem_sys_port_close(ipc_trace->ipc_imem, in ipc_trace_ctrl_file_write()
135 struct iosm_trace *ipc_trace_init(struct iosm_imem *ipc_imem) in ipc_trace_init() argument
141 ipc_imem_channel_init(ipc_imem, IPC_CTYPE_CTRL, chnl_cfg, in ipc_trace_init()
149 ipc_trace->dev = ipc_imem->dev; in ipc_trace_init()
150 ipc_trace->ipc_imem = ipc_imem; in ipc_trace_init()
157 ipc_imem->debugfs_dir, in ipc_trace_init()
161 ipc_imem->debugfs_dir, in ipc_trace_init()
H A Diosm_ipc_port.c16 ipc_port->channel = ipc_imem_sys_port_open(ipc_port->ipc_imem, in ipc_port_ctrl_start()
30 ipc_imem_sys_port_close(ipc_port->ipc_imem, ipc_port->channel); in ipc_port_ctrl_stop()
48 struct iosm_cdev *ipc_port_init(struct iosm_imem *ipc_imem, in ipc_port_init() argument
58 ipc_port->dev = ipc_imem->dev; in ipc_port_init()
59 ipc_port->pcie = ipc_imem->pcie; in ipc_port_init()
63 ipc_port->ipc_imem = ipc_imem; in ipc_port_init()
H A Diosm_ipc_protocol.c32 static int ipc_protocol_tq_msg_send_cb(struct iosm_imem *ipc_imem, int arg, in ipc_protocol_tq_msg_send_cb() argument
36 struct iosm_protocol *ipc_protocol = ipc_imem->ipc_protocol; in ipc_protocol_tq_msg_send_cb()
46 static int ipc_protocol_tq_msg_remove(struct iosm_imem *ipc_imem, int arg, in ipc_protocol_tq_msg_remove() argument
49 struct iosm_protocol *ipc_protocol = ipc_imem->ipc_protocol; in ipc_protocol_tq_msg_remove()
159 static int ipc_protocol_tq_wakeup_dev_slp(struct iosm_imem *ipc_imem, int arg, in ipc_protocol_tq_wakeup_dev_slp() argument
162 struct iosm_pm *ipc_pm = &ipc_imem->ipc_protocol->pm; in ipc_protocol_tq_wakeup_dev_slp()
223 struct iosm_protocol *ipc_protocol_init(struct iosm_imem *ipc_imem) in ipc_protocol_init() argument
233 ipc_protocol->dev = ipc_imem->dev; in ipc_protocol_init()
234 ipc_protocol->pcie = ipc_imem->pcie; in ipc_protocol_init()
235 ipc_protocol->imem = ipc_imem; in ipc_protocol_init()
[all …]
H A Diosm_ipc_debugfs.h10 void ipc_debugfs_init(struct iosm_imem *ipc_imem);
11 void ipc_debugfs_deinit(struct iosm_imem *ipc_imem);
13 static inline void ipc_debugfs_init(struct iosm_imem *ipc_imem) {} in ipc_debugfs_init() argument
14 static inline void ipc_debugfs_deinit(struct iosm_imem *ipc_imem) {} in ipc_debugfs_deinit() argument
H A Diosm_ipc_task_queue.c24 args->response = args->func(args->ipc_imem, args->arg, in ipc_task_queue_handler()
77 ipc_task_queue_add_task(struct iosm_imem *ipc_imem, in ipc_task_queue_add_task() argument
79 int (*func)(struct iosm_imem *ipc_imem, int arg, in ipc_task_queue_add_task() argument
83 struct tasklet_struct *ipc_tasklet = ipc_imem->ipc_task->ipc_tasklet; in ipc_task_queue_add_task()
84 struct ipc_task_queue *ipc_task = &ipc_imem->ipc_task->ipc_queue; in ipc_task_queue_add_task()
108 ipc_task->args[pos].ipc_imem = ipc_imem; in ipc_task_queue_add_task()
134 dev_err(ipc_imem->ipc_task->dev, "queue is full"); in ipc_task_queue_add_task()
141 int (*func)(struct iosm_imem *ipc_imem, int arg, in ipc_task_queue_send_task() argument
H A Diosm_ipc_trace.h40 struct iosm_imem *ipc_imem; member
55 struct iosm_trace *ipc_trace_init(struct iosm_imem *ipc_imem);
57 void ipc_trace_port_rx(struct iosm_imem *ipc_imem, struct sk_buff *skb);
66 static inline void ipc_trace_port_rx(struct iosm_imem *ipc_imem, in ipc_trace_port_rx() argument
H A Diosm_ipc_task_queue.h28 struct iosm_imem *ipc_imem; member
31 int (*func)(struct iosm_imem *ipc_imem, int arg, void *msg,
93 int (*func)(struct iosm_imem *ipc_imem, int arg,
H A Diosm_ipc_wwan.c43 struct iosm_imem *ipc_imem; member
60 priv->ch_id = ipc_imem_sys_wwan_open(ipc_wwan->ipc_imem, if_id); in ipc_wwan_link_open()
85 ipc_imem_sys_wwan_close(priv->ipc_wwan->ipc_imem, priv->if_id, in ipc_wwan_link_stop()
110 ret = ipc_imem_sys_wwan_transmit(ipc_wwan->ipc_imem, in ipc_wwan_link_transmit()
289 struct iosm_wwan *ipc_wwan_init(struct iosm_imem *ipc_imem, struct device *dev) in ipc_wwan_init() argument
298 ipc_wwan->ipc_imem = ipc_imem; in ipc_wwan_init()
H A Diosm_ipc_port.h25 struct iosm_imem *ipc_imem; member
41 struct iosm_cdev *ipc_port_init(struct iosm_imem *ipc_imem,
H A Diosm_ipc_devlink.c239 struct iosm_devlink *ipc_devlink_init(struct iosm_imem *ipc_imem) in ipc_devlink_init() argument
248 ipc_imem->dev); in ipc_devlink_init()
250 dev_err(ipc_imem->dev, "devlink_alloc failed"); in ipc_devlink_init()
256 ipc_devlink->pcie = ipc_imem->pcie; in ipc_devlink_init()
257 ipc_devlink->dev = ipc_imem->dev; in ipc_devlink_init()
279 ipc_imem_channel_init(ipc_imem, IPC_CTYPE_CTRL, in ipc_devlink_init()
H A Diosm_ipc_protocol_ops.h335 int ipc_protocol_msg_prep(struct iosm_imem *ipc_imem,
344 void ipc_protocol_msg_hp_update(struct iosm_imem *ipc_imem);
354 bool ipc_protocol_msg_process(struct iosm_imem *ipc_imem, int irq);
H A Diosm_ipc_protocol_ops.c35 void ipc_protocol_msg_hp_update(struct iosm_imem *ipc_imem) in ipc_protocol_msg_hp_update() argument
37 struct iosm_protocol *ipc_protocol = ipc_imem->ipc_protocol; in ipc_protocol_msg_hp_update()
173 bool ipc_protocol_msg_process(struct iosm_imem *ipc_imem, int irq) in ipc_protocol_msg_process() argument
175 struct iosm_protocol *ipc_protocol = ipc_imem->ipc_protocol; in ipc_protocol_msg_process()
506 int ipc_protocol_msg_prep(struct iosm_imem *ipc_imem, in ipc_protocol_msg_prep() argument
510 struct iosm_protocol *ipc_protocol = ipc_imem->ipc_protocol; in ipc_protocol_msg_prep()
H A Diosm_ipc_flash.c98 int ipc_flash_link_establish(struct iosm_imem *ipc_imem) in ipc_flash_link_establish() argument
104 ipc_imem->ipc_devlink->devlink_sio.channel = in ipc_flash_link_establish()
105 ipc_imem_sys_devlink_open(ipc_imem); in ipc_flash_link_establish()
107 if (!ipc_imem->ipc_devlink->devlink_sio.channel) in ipc_flash_link_establish()
110 if (ipc_imem_sys_devlink_read(ipc_imem->ipc_devlink, ler_data, in ipc_flash_link_establish()
120 ipc_imem_sys_devlink_close(ipc_imem->ipc_devlink); in ipc_flash_link_establish()
H A Diosm_ipc_pm.c300 struct iosm_imem *ipc_imem = ipc_protocol->imem; in ipc_pm_init() local
303 ipc_pm->pcie = ipc_imem->pcie; in ipc_pm_init()
304 ipc_pm->dev = ipc_imem->dev; in ipc_pm_init()
H A Diosm_ipc_wwan.h16 struct iosm_wwan *ipc_wwan_init(struct iosm_imem *ipc_imem, struct device *dev);
H A Diosm_ipc_protocol.h229 struct iosm_protocol *ipc_protocol_init(struct iosm_imem *ipc_imem);
H A Diosm_ipc_devlink.h199 struct iosm_devlink *ipc_devlink_init(struct iosm_imem *ipc_imem);
H A Diosm_ipc_flash.h223 int ipc_flash_link_establish(struct iosm_imem *ipc_imem);
H A Diosm_ipc_mux.h392 struct iosm_imem *ipc_imem);
H A Diosm_ipc_mux_codec.c13 static int ipc_mux_tq_cmd_send(struct iosm_imem *ipc_imem, int arg, void *msg, in ipc_mux_tq_cmd_send() argument
16 struct iosm_mux *ipc_mux = ipc_imem->mux; in ipc_mux_tq_cmd_send()
1481 static int ipc_mux_tq_ul_trigger_encode(struct iosm_imem *ipc_imem, int arg, in ipc_mux_tq_ul_trigger_encode() argument
1484 struct iosm_mux *ipc_mux = ipc_imem->mux; in ipc_mux_tq_ul_trigger_encode()