/linux-6.6.21/drivers/net/wwan/iosm/ |
D | iosm_ipc_imem.c | 25 static int ipc_imem_msg_send_device_sleep(struct iosm_imem *ipc_imem, u32 state) in ipc_imem_msg_send_device_sleep() argument 32 ipc_imem->device_sleep = state; in ipc_imem_msg_send_device_sleep() 34 return ipc_protocol_tq_msg_send(ipc_imem->ipc_protocol, in ipc_imem_msg_send_device_sleep() 38 static bool ipc_imem_dl_skb_alloc(struct iosm_imem *ipc_imem, in ipc_imem_dl_skb_alloc() argument 45 return ipc_protocol_dl_td_prepare(ipc_imem->ipc_protocol, pipe); in ipc_imem_dl_skb_alloc() 51 static int ipc_imem_tq_td_alloc_timer(struct iosm_imem *ipc_imem, int arg, in ipc_imem_tq_td_alloc_timer() argument 59 struct ipc_pipe *pipe = &ipc_imem->channels[i].dl_pipe; in ipc_imem_tq_td_alloc_timer() 64 while (ipc_imem_dl_skb_alloc(ipc_imem, pipe)) in ipc_imem_tq_td_alloc_timer() 72 ipc_protocol_doorbell_trigger(ipc_imem->ipc_protocol, in ipc_imem_tq_td_alloc_timer() 76 ipc_imem->hrtimer_period = in ipc_imem_tq_td_alloc_timer() [all …]
|
D | iosm_ipc_imem_ops.c | 16 int ipc_imem_sys_wwan_open(struct iosm_imem *ipc_imem, int if_id) in ipc_imem_sys_wwan_open() argument 18 dev_dbg(ipc_imem->dev, "%s if id: %d", in ipc_imem_sys_wwan_open() 19 ipc_imem_phase_get_string(ipc_imem->phase), if_id); in ipc_imem_sys_wwan_open() 22 if (ipc_imem_phase_update(ipc_imem) != IPC_P_RUN) { in ipc_imem_sys_wwan_open() 23 dev_err(ipc_imem->dev, "net:%d : refused phase %s", if_id, in ipc_imem_sys_wwan_open() 24 ipc_imem_phase_get_string(ipc_imem->phase)); in ipc_imem_sys_wwan_open() 28 return ipc_mux_open_session(ipc_imem->mux, if_id); in ipc_imem_sys_wwan_open() 32 void ipc_imem_sys_wwan_close(struct iosm_imem *ipc_imem, int if_id, in ipc_imem_sys_wwan_close() argument 35 if (ipc_imem->mux && if_id >= IP_MUX_SESSION_START && in ipc_imem_sys_wwan_close() 37 ipc_mux_close_session(ipc_imem->mux, if_id); in ipc_imem_sys_wwan_close() [all …]
|
D | iosm_ipc_debugfs.c | 13 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 …]
|
D | iosm_ipc_imem.h | 398 void ipc_imem_pm_s2idle_sleep(struct iosm_imem *ipc_imem, bool sleep); 405 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); 442 void ipc_imem_td_update_timer_suspend(struct iosm_imem *ipc_imem, bool suspend); 449 void ipc_imem_channel_close(struct iosm_imem *ipc_imem, int channel_id); 459 int ipc_imem_channel_alloc(struct iosm_imem *ipc_imem, int index, 470 struct ipc_mem_channel *ipc_imem_channel_open(struct iosm_imem *ipc_imem, [all …]
|
D | iosm_ipc_imem_ops.h | 44 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);
|
D | iosm_ipc_trace.c | 23 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()
|
D | iosm_ipc_port.c | 16 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()
|
D | iosm_ipc_protocol.c | 32 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 …]
|
D | iosm_ipc_task_queue.c | 24 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
|
D | iosm_ipc_debugfs.h | 10 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
|
D | iosm_ipc_trace.h | 40 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
|
D | iosm_ipc_wwan.c | 43 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()
|
D | iosm_ipc_task_queue.h | 28 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,
|
D | iosm_ipc_devlink.c | 239 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()
|
D | iosm_ipc_port.h | 25 struct iosm_imem *ipc_imem; member 41 struct iosm_cdev *ipc_port_init(struct iosm_imem *ipc_imem,
|
D | iosm_ipc_protocol_ops.h | 335 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);
|
D | iosm_ipc_protocol_ops.c | 35 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()
|
D | iosm_ipc_flash.c | 98 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()
|
D | iosm_ipc_pm.c | 300 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()
|
D | iosm_ipc_wwan.h | 16 struct iosm_wwan *ipc_wwan_init(struct iosm_imem *ipc_imem, struct device *dev);
|
D | iosm_ipc_protocol.h | 229 struct iosm_protocol *ipc_protocol_init(struct iosm_imem *ipc_imem);
|
D | iosm_ipc_devlink.h | 199 struct iosm_devlink *ipc_devlink_init(struct iosm_imem *ipc_imem);
|
D | iosm_ipc_flash.h | 223 int ipc_flash_link_establish(struct iosm_imem *ipc_imem);
|
D | iosm_ipc_mux.h | 392 struct iosm_imem *ipc_imem);
|
D | iosm_ipc_mux_codec.c | 13 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()
|