Home
last modified time | relevance | path

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

/Linux-v5.15/drivers/net/wwan/iosm/
Diosm_ipc_imem.c21 static int ipc_imem_msg_send_device_sleep(struct iosm_imem *ipc_imem, u32 state) in ipc_imem_msg_send_device_sleep() argument
28 ipc_imem->device_sleep = state; in ipc_imem_msg_send_device_sleep()
30 return ipc_protocol_tq_msg_send(ipc_imem->ipc_protocol, in ipc_imem_msg_send_device_sleep()
34 static bool ipc_imem_dl_skb_alloc(struct iosm_imem *ipc_imem, in ipc_imem_dl_skb_alloc() argument
41 return ipc_protocol_dl_td_prepare(ipc_imem->ipc_protocol, pipe); in ipc_imem_dl_skb_alloc()
47 static int ipc_imem_tq_td_alloc_timer(struct iosm_imem *ipc_imem, int arg, in ipc_imem_tq_td_alloc_timer() argument
55 struct ipc_pipe *pipe = &ipc_imem->channels[i].dl_pipe; in ipc_imem_tq_td_alloc_timer()
60 while (ipc_imem_dl_skb_alloc(ipc_imem, pipe)) in ipc_imem_tq_td_alloc_timer()
68 ipc_protocol_doorbell_trigger(ipc_imem->ipc_protocol, in ipc_imem_tq_td_alloc_timer()
72 ipc_imem->hrtimer_period = in ipc_imem_tq_td_alloc_timer()
[all …]
Diosm_ipc_imem_ops.c15 int ipc_imem_sys_wwan_open(struct iosm_imem *ipc_imem, int if_id) in ipc_imem_sys_wwan_open() argument
17 dev_dbg(ipc_imem->dev, "%s if id: %d", in ipc_imem_sys_wwan_open()
18 ipc_imem_phase_get_string(ipc_imem->phase), if_id); in ipc_imem_sys_wwan_open()
21 if (ipc_imem_phase_update(ipc_imem) != IPC_P_RUN) { in ipc_imem_sys_wwan_open()
22 dev_err(ipc_imem->dev, "net:%d : refused phase %s", if_id, in ipc_imem_sys_wwan_open()
23 ipc_imem_phase_get_string(ipc_imem->phase)); in ipc_imem_sys_wwan_open()
27 return ipc_mux_open_session(ipc_imem->mux, if_id); in ipc_imem_sys_wwan_open()
31 void ipc_imem_sys_wwan_close(struct iosm_imem *ipc_imem, int if_id, in ipc_imem_sys_wwan_close() argument
34 if (ipc_imem->mux && if_id >= IP_MUX_SESSION_START && in ipc_imem_sys_wwan_close()
36 ipc_mux_close_session(ipc_imem->mux, if_id); in ipc_imem_sys_wwan_close()
[all …]
Diosm_ipc_imem.h400 void ipc_imem_pm_s2idle_sleep(struct iosm_imem *ipc_imem, bool sleep);
407 void ipc_imem_pm_suspend(struct iosm_imem *ipc_imem);
414 void ipc_imem_pm_resume(struct iosm_imem *ipc_imem);
420 void ipc_imem_cleanup(struct iosm_imem *ipc_imem);
427 void ipc_imem_irq_process(struct iosm_imem *ipc_imem, int irq);
435 int imem_get_device_sleep_state(struct iosm_imem *ipc_imem);
444 void ipc_imem_td_update_timer_suspend(struct iosm_imem *ipc_imem, bool suspend);
451 void ipc_imem_channel_close(struct iosm_imem *ipc_imem, int channel_id);
461 int ipc_imem_channel_alloc(struct iosm_imem *ipc_imem, int index,
472 struct ipc_mem_channel *ipc_imem_channel_open(struct iosm_imem *ipc_imem,
[all …]
Diosm_ipc_imem_ops.h44 struct ipc_mem_channel *ipc_imem_sys_port_open(struct iosm_imem *ipc_imem,
70 int ipc_imem_sys_wwan_open(struct iosm_imem *ipc_imem, int if_id);
79 void ipc_imem_sys_wwan_close(struct iosm_imem *ipc_imem, int if_id,
91 int ipc_imem_sys_wwan_transmit(struct iosm_imem *ipc_imem, int if_id,
99 void ipc_imem_wwan_channel_init(struct iosm_imem *ipc_imem,
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 …]
Diosm_ipc_port.c16 ipc_port->channel = ipc_imem_sys_port_open(ipc_port->ipc_imem, in ipc_port_ctrl_start()
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()
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
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,
Diosm_ipc_wwan.c45 struct iosm_imem *ipc_imem; member
66 priv->ch_id = ipc_imem_sys_wwan_open(ipc_wwan->ipc_imem, if_id); in ipc_wwan_link_open()
96 ipc_imem_sys_wwan_close(priv->ipc_wwan->ipc_imem, priv->if_id, in ipc_wwan_link_stop()
122 ret = ipc_imem_sys_wwan_transmit(ipc_wwan->ipc_imem, in ipc_wwan_link_transmit()
314 struct iosm_wwan *ipc_wwan_init(struct iosm_imem *ipc_imem, struct device *dev) in ipc_wwan_init() argument
323 ipc_wwan->ipc_imem = ipc_imem; in ipc_wwan_init()
Diosm_ipc_port.h25 struct iosm_imem *ipc_imem; member
41 struct iosm_cdev *ipc_port_init(struct iosm_imem *ipc_imem,
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);
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()
516 int ipc_protocol_msg_prep(struct iosm_imem *ipc_imem, in ipc_protocol_msg_prep() argument
520 struct iosm_protocol *ipc_protocol = ipc_imem->ipc_protocol; in ipc_protocol_msg_prep()
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()
Diosm_ipc_wwan.h16 struct iosm_wwan *ipc_wwan_init(struct iosm_imem *ipc_imem, struct device *dev);
Diosm_ipc_protocol.h229 struct iosm_protocol *ipc_protocol_init(struct iosm_imem *ipc_imem);
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()
841 static int ipc_mux_tq_ul_trigger_encode(struct iosm_imem *ipc_imem, int arg, in ipc_mux_tq_ul_trigger_encode() argument
844 struct iosm_mux *ipc_mux = ipc_imem->mux; in ipc_mux_tq_ul_trigger_encode()
Diosm_ipc_mux.h293 struct iosm_imem *ipc_imem);