/linux-master/drivers/net/wwan/iosm/ |
H A D | iosm_ipc_debugfs.c | 13 void ipc_debugfs_init(struct iosm_imem *ipc_imem) argument 15 ipc_imem->debugfs_wwan_dir = wwan_get_debugfs_dir(ipc_imem->dev); 17 ipc_imem->debugfs_dir = debugfs_create_dir(KBUILD_MODNAME, 18 ipc_imem->debugfs_wwan_dir); 20 ipc_imem->trace = ipc_trace_init(ipc_imem); 21 if (!ipc_imem->trace) 22 dev_warn(ipc_imem->dev, "trace channel init failed"); 25 void ipc_debugfs_deinit(struct iosm_imem *ipc_imem) argument [all...] |
H A 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) {} argument 14 static inline void ipc_debugfs_deinit(struct iosm_imem *ipc_imem) {} argument
|
H A D | iosm_ipc_imem.c | 25 static int ipc_imem_msg_send_device_sleep(struct iosm_imem *ipc_imem, u32 state) argument 32 ipc_imem->device_sleep = state; 34 return ipc_protocol_tq_msg_send(ipc_imem->ipc_protocol, 38 static bool ipc_imem_dl_skb_alloc(struct iosm_imem *ipc_imem, argument 45 return ipc_protocol_dl_td_prepare(ipc_imem->ipc_protocol, pipe); 51 static int ipc_imem_tq_td_alloc_timer(struct iosm_imem *ipc_imem, int arg, argument 59 struct ipc_pipe *pipe = &ipc_imem->channels[i].dl_pipe; 64 while (ipc_imem_dl_skb_alloc(ipc_imem, pipe)) 72 ipc_protocol_doorbell_trigger(ipc_imem->ipc_protocol, 76 ipc_imem 88 struct iosm_imem *ipc_imem = local 97 ipc_imem_tq_fast_update_timer_cb(struct iosm_imem *ipc_imem, int arg, void *msg, size_t size) argument 109 struct iosm_imem *ipc_imem = local 117 ipc_imem_tq_adb_timer_cb(struct iosm_imem *ipc_imem, int arg, void *msg, size_t size) argument 127 struct iosm_imem *ipc_imem = local 135 ipc_imem_setup_cp_mux_cap_init(struct iosm_imem *ipc_imem, struct ipc_mux_config *cfg) argument 159 ipc_imem_msg_send_feature_set(struct iosm_imem *ipc_imem, unsigned int reset_enable, bool atomic_ctx) argument 178 ipc_imem_td_update_timer_start(struct iosm_imem *ipc_imem) argument 208 ipc_imem_adb_timer_start(struct iosm_imem *ipc_imem) argument 219 ipc_imem_ul_write_td(struct iosm_imem *ipc_imem) argument 262 ipc_imem_ipc_init_check(struct iosm_imem *ipc_imem) argument 298 ipc_imem_dl_skb_process(struct iosm_imem *ipc_imem, struct ipc_pipe *pipe, struct sk_buff *skb) argument 334 ipc_imem_dl_pipe_process(struct iosm_imem *ipc_imem, struct ipc_pipe *pipe) argument 394 ipc_imem_ul_pipe_process(struct iosm_imem *ipc_imem, struct ipc_pipe *pipe) argument 450 ipc_imem_rom_irq_exec(struct iosm_imem *ipc_imem) argument 460 ipc_imem_tq_td_update_timer_cb(struct iosm_imem *ipc_imem, int arg, void *msg, size_t size) argument 469 ipc_imem_slp_control_exec(struct iosm_imem *ipc_imem) argument 484 ipc_imem_tq_startup_timer_cb(struct iosm_imem *ipc_imem, int arg, void *msg, size_t size) argument 522 struct iosm_imem *ipc_imem = local 538 ipc_imem_get_exec_stage_buffered(struct iosm_imem *ipc_imem) argument 547 ipc_imem_send_mdm_rdy_cb(struct iosm_imem *ipc_imem, int arg, void *msg, size_t size) argument 566 struct iosm_imem *ipc_imem; local 642 ipc_imem_handle_irq(struct iosm_imem *ipc_imem, int irq) argument 793 ipc_imem_tq_irq_cb(struct iosm_imem *ipc_imem, int arg, void *msg, size_t size) argument 801 ipc_imem_ul_send(struct iosm_imem *ipc_imem) argument 809 ipc_imem_phase_update_check(struct iosm_imem *ipc_imem, enum ipc_mem_exec_stage stage) argument 863 ipc_imem_pipe_open(struct iosm_imem *ipc_imem, struct ipc_pipe *pipe) argument 878 ipc_imem_tq_pipe_td_alloc(struct iosm_imem *ipc_imem, int arg, void *msg, size_t size) argument 900 struct iosm_imem *ipc_imem = local 909 ipc_imem_phase_update(struct iosm_imem *ipc_imem) argument 951 ipc_imem_pipe_close(struct iosm_imem *ipc_imem, struct ipc_pipe *pipe) argument 962 ipc_imem_channel_close(struct iosm_imem *ipc_imem, int channel_id) argument 996 ipc_imem_channel_open(struct iosm_imem *ipc_imem, int channel_id, u32 db_id) argument 1034 ipc_imem_pm_suspend(struct iosm_imem *ipc_imem) argument 1039 ipc_imem_pm_s2idle_sleep(struct iosm_imem *ipc_imem, bool sleep) argument 1044 ipc_imem_pm_resume(struct iosm_imem *ipc_imem) argument 1060 ipc_imem_channel_alloc(struct iosm_imem *ipc_imem, int index, enum ipc_ctype ctype) argument 1095 ipc_imem_channel_init(struct iosm_imem *ipc_imem, enum ipc_ctype ctype, struct ipc_chnl_cfg chnl_cfg, u32 irq_moderation) argument 1128 ipc_imem_channel_update(struct iosm_imem *ipc_imem, int id, struct ipc_chnl_cfg chnl_cfg, u32 irq_moderation) argument 1168 ipc_imem_channel_reset(struct iosm_imem *ipc_imem) argument 1184 ipc_imem_pipe_cleanup(struct iosm_imem *ipc_imem, struct ipc_pipe *pipe) argument 1201 ipc_imem_device_ipc_uninit(struct iosm_imem *ipc_imem) argument 1231 ipc_imem_cleanup(struct iosm_imem *ipc_imem) argument 1273 ipc_imem_config(struct iosm_imem *ipc_imem) argument 1337 struct iosm_imem *ipc_imem = kzalloc(sizeof(*pcie->imem), GFP_KERNEL); local 1442 ipc_imem_irq_process(struct iosm_imem *ipc_imem, int irq) argument 1452 ipc_imem_td_update_timer_suspend(struct iosm_imem *ipc_imem, bool suspend) argument 1460 ipc_imem_devlink_trigger_chip_info_cb(struct iosm_imem *ipc_imem, int arg, void *msg, size_t msgsize) argument 1498 ipc_imem_devlink_trigger_chip_info(struct iosm_imem *ipc_imem) argument [all...] |
H A D | iosm_ipc_imem_ops.c | 16 int ipc_imem_sys_wwan_open(struct iosm_imem *ipc_imem, int if_id) argument 18 dev_dbg(ipc_imem->dev, "%s if id: %d", 19 ipc_imem_phase_get_string(ipc_imem->phase), if_id); 22 if (ipc_imem_phase_update(ipc_imem) != IPC_P_RUN) { 23 dev_err(ipc_imem->dev, "net:%d : refused phase %s", if_id, 24 ipc_imem_phase_get_string(ipc_imem->phase)); 28 return ipc_mux_open_session(ipc_imem->mux, if_id); 32 void ipc_imem_sys_wwan_close(struct iosm_imem *ipc_imem, int if_id, argument 35 if (ipc_imem->mux && if_id >= IP_MUX_SESSION_START && 37 ipc_mux_close_session(ipc_imem 41 ipc_imem_tq_cdev_write(struct iosm_imem *ipc_imem, int arg, void *msg, size_t size) argument 50 ipc_imem_call_cdev_write(struct iosm_imem *ipc_imem) argument 57 ipc_imem_sys_wwan_transmit(struct iosm_imem *ipc_imem, int if_id, int channel_id, struct sk_buff *skb) argument 80 ipc_imem_wwan_channel_init(struct iosm_imem *ipc_imem, enum ipc_mux_protocol mux_type) argument 117 ipc_imem_map_skb_to_dma(struct iosm_imem *ipc_imem, struct sk_buff *skb) argument 143 ipc_imem_is_channel_active(struct iosm_imem *ipc_imem, struct ipc_mem_channel *channel) argument 196 ipc_imem_sys_port_close(struct iosm_imem *ipc_imem, struct ipc_mem_channel *channel) argument 285 ipc_imem_sys_port_open(struct iosm_imem *ipc_imem, int chl_id, int hp_id) argument 319 struct iosm_imem *ipc_imem = ipc_cdev->ipc_imem; local 346 ipc_imem_sys_devlink_open(struct iosm_imem *ipc_imem) argument 402 struct iosm_imem *ipc_imem = ipc_devlink->pcie->imem; local 473 ipc_imem_sys_psi_transfer(struct iosm_imem *ipc_imem, struct ipc_mem_channel *channel, unsigned char *buf, int count) argument 574 struct iosm_imem *ipc_imem = ipc_devlink->pcie->imem; local [all...] |
H A D | iosm_ipc_imem_ops.h | 38 * @ipc_imem: Imem instance. 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, 61 * @ipc_imem: Imem instance. 66 int ipc_imem_sys_wwan_open(struct iosm_imem *ipc_imem, int if_id); 71 * @ipc_imem: Imem instance. 75 void ipc_imem_sys_wwan_close(struct iosm_imem *ipc_imem, int if_id, 80 * @ipc_imem: Imem instance. 87 int ipc_imem_sys_wwan_transmit(struct iosm_imem *ipc_imem, int if_id, 92 * @ipc_imem [all...] |
H A D | iosm_ipc_port.h | 16 * @ipc_imem: imem instance 25 struct iosm_imem *ipc_imem; member in struct:iosm_cdev 36 * @ipc_imem: Pointer to iosm_imem structure 41 struct iosm_cdev *ipc_port_init(struct iosm_imem *ipc_imem,
|
H A D | iosm_ipc_port.c | 16 ipc_port->channel = ipc_imem_sys_port_open(ipc_port->ipc_imem, 30 ipc_imem_sys_port_close(ipc_port->ipc_imem, ipc_port->channel); 48 struct iosm_cdev *ipc_port_init(struct iosm_imem *ipc_imem, argument 58 ipc_port->dev = ipc_imem->dev; 59 ipc_port->pcie = ipc_imem->pcie; 63 ipc_port->ipc_imem = ipc_imem;
|
H A D | iosm_ipc_trace.h | 29 * @ipc_imem: Imem instance 40 struct iosm_imem *ipc_imem; member in struct:iosm_trace 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, argument
|
H A D | iosm_ipc_imem.h | 395 * @ipc_imem: Pointer to imem data-struct 398 void ipc_imem_pm_s2idle_sleep(struct iosm_imem *ipc_imem, bool sleep); 403 * @ipc_imem: Pointer to imem data-struct 405 void ipc_imem_pm_suspend(struct iosm_imem *ipc_imem); 410 * @ipc_imem: Pointer to imem data-struct 412 void ipc_imem_pm_resume(struct iosm_imem *ipc_imem); 416 * @ipc_imem: Pointer to imem data-struct 418 void ipc_imem_cleanup(struct iosm_imem *ipc_imem); 422 * @ipc_imem: Pointer to imem data-struct 425 void ipc_imem_irq_process(struct iosm_imem *ipc_imem, in [all...] |
H A D | iosm_ipc_task_queue.h | 16 * @ipc_imem: Pointer to struct iosm_imem 28 struct iosm_imem *ipc_imem; member in struct:ipc_task_queue_args 31 int (*func)(struct iosm_imem *ipc_imem, int arg, void *msg, 93 int (*func)(struct iosm_imem *ipc_imem, int arg,
|
H A D | iosm_ipc_trace.c | 20 * @ipc_imem: Pointer to iosm_imem structure 23 void ipc_trace_port_rx(struct iosm_imem *ipc_imem, struct sk_buff *skb) argument 25 struct iosm_trace *ipc_trace = ipc_imem->trace; 102 ipc_trace->channel = ipc_imem_sys_port_open(ipc_trace->ipc_imem, 113 ipc_imem_sys_port_close(ipc_trace->ipc_imem, 131 * @ipc_imem: Pointer to iosm_imem structure 135 struct iosm_trace *ipc_trace_init(struct iosm_imem *ipc_imem) argument 141 ipc_imem_channel_init(ipc_imem, IPC_CTYPE_CTRL, chnl_cfg, 149 ipc_trace->dev = ipc_imem->dev; 150 ipc_trace->ipc_imem [all...] |
H A D | iosm_ipc_wwan.h | 11 * @ipc_imem: Pointer to imem data-struct 16 struct iosm_wwan *ipc_wwan_init(struct iosm_imem *ipc_imem, struct device *dev);
|
H A D | iosm_ipc_task_queue.c | 24 args->response = args->func(args->ipc_imem, args->arg, 77 ipc_task_queue_add_task(struct iosm_imem *ipc_imem, argument 79 int (*func)(struct iosm_imem *ipc_imem, int arg, 83 struct tasklet_struct *ipc_tasklet = ipc_imem->ipc_task->ipc_tasklet; 84 struct ipc_task_queue *ipc_task = &ipc_imem->ipc_task->ipc_queue; 108 ipc_task->args[pos].ipc_imem = ipc_imem; 134 dev_err(ipc_imem->ipc_task->dev, "queue is full"); 141 int (*func)(struct iosm_imem *ipc_imem, int arg, 140 ipc_task_queue_send_task(struct iosm_imem *imem, int (*func)(struct iosm_imem *ipc_imem, int arg, void *msg, size_t size), int arg, void *msg, size_t size, bool wait) argument
|
H A D | iosm_ipc_protocol.c | 32 static int ipc_protocol_tq_msg_send_cb(struct iosm_imem *ipc_imem, int arg, argument 36 struct iosm_protocol *ipc_protocol = ipc_imem->ipc_protocol; 46 static int ipc_protocol_tq_msg_remove(struct iosm_imem *ipc_imem, int arg, argument 49 struct iosm_protocol *ipc_protocol = ipc_imem->ipc_protocol; 159 static int ipc_protocol_tq_wakeup_dev_slp(struct iosm_imem *ipc_imem, int arg, argument 162 struct iosm_pm *ipc_pm = &ipc_imem->ipc_protocol->pm; 223 struct iosm_protocol *ipc_protocol_init(struct iosm_imem *ipc_imem) argument 233 ipc_protocol->dev = ipc_imem->dev; 234 ipc_protocol->pcie = ipc_imem->pcie; 235 ipc_protocol->imem = ipc_imem; [all...] |
H A D | iosm_ipc_wwan.c | 38 * @ipc_imem: Pointer to imem data-struct 43 struct iosm_imem *ipc_imem; member in struct:iosm_wwan 60 priv->ch_id = ipc_imem_sys_wwan_open(ipc_wwan->ipc_imem, if_id); 85 ipc_imem_sys_wwan_close(priv->ipc_wwan->ipc_imem, priv->if_id, 110 ret = ipc_imem_sys_wwan_transmit(ipc_wwan->ipc_imem, 289 struct iosm_wwan *ipc_wwan_init(struct iosm_imem *ipc_imem, struct device *dev) argument 298 ipc_wwan->ipc_imem = ipc_imem;
|
H A D | iosm_ipc_devlink.c | 235 * @ipc_imem: Pointer to struct iosm_imem 239 struct iosm_devlink *ipc_devlink_init(struct iosm_imem *ipc_imem) argument 248 ipc_imem->dev); 250 dev_err(ipc_imem->dev, "devlink_alloc failed"); 256 ipc_devlink->pcie = ipc_imem->pcie; 257 ipc_devlink->dev = ipc_imem->dev; 279 ipc_imem_channel_init(ipc_imem, IPC_CTYPE_CTRL,
|
H A D | iosm_ipc_protocol_ops.h | 329 * @ipc_imem: iosm_protocol instance 335 int ipc_protocol_msg_prep(struct iosm_imem *ipc_imem, 342 * @ipc_imem: iosm_protocol instance 344 void ipc_protocol_msg_hp_update(struct iosm_imem *ipc_imem); 349 * @ipc_imem: iosm_protocol instance 354 bool ipc_protocol_msg_process(struct iosm_imem *ipc_imem, int irq);
|
H A D | iosm_ipc_protocol.h | 225 * @ipc_imem: Pointer to iosm_imem structure 229 struct iosm_protocol *ipc_protocol_init(struct iosm_imem *ipc_imem);
|
H A D | iosm_ipc_flash.c | 94 * @ipc_imem: Pointer to struct iosm_imem 98 int ipc_flash_link_establish(struct iosm_imem *ipc_imem) argument 104 ipc_imem->ipc_devlink->devlink_sio.channel = 105 ipc_imem_sys_devlink_open(ipc_imem); 107 if (!ipc_imem->ipc_devlink->devlink_sio.channel) 110 if (ipc_imem_sys_devlink_read(ipc_imem->ipc_devlink, ler_data, 120 ipc_imem_sys_devlink_close(ipc_imem->ipc_devlink);
|
H A D | iosm_ipc_protocol_ops.c | 35 void ipc_protocol_msg_hp_update(struct iosm_imem *ipc_imem) argument 37 struct iosm_protocol *ipc_protocol = ipc_imem->ipc_protocol; 173 bool ipc_protocol_msg_process(struct iosm_imem *ipc_imem, int irq) argument 175 struct iosm_protocol *ipc_protocol = ipc_imem->ipc_protocol; 506 int ipc_protocol_msg_prep(struct iosm_imem *ipc_imem, argument 510 struct iosm_protocol *ipc_protocol = ipc_imem->ipc_protocol;
|
H A D | iosm_ipc_devlink.h | 199 struct iosm_devlink *ipc_devlink_init(struct iosm_imem *ipc_imem);
|
H A D | iosm_ipc_flash.h | 223 int ipc_flash_link_establish(struct iosm_imem *ipc_imem);
|
H A D | iosm_ipc_pm.c | 300 struct iosm_imem *ipc_imem = ipc_protocol->imem; local 303 ipc_pm->pcie = ipc_imem->pcie; 304 ipc_pm->dev = ipc_imem->dev;
|
H A D | iosm_ipc_mux.h | 387 * @ipc_imem: Pointer to imem data-struct 392 struct iosm_imem *ipc_imem);
|
H A D | iosm_ipc_mux_codec.c | 13 static int ipc_mux_tq_cmd_send(struct iosm_imem *ipc_imem, int arg, void *msg, argument 16 struct iosm_mux *ipc_mux = ipc_imem->mux; 1481 static int ipc_mux_tq_ul_trigger_encode(struct iosm_imem *ipc_imem, int arg, argument 1484 struct iosm_mux *ipc_mux = ipc_imem->mux;
|