iosm_imem
void ipc_debugfs_init(struct iosm_imem *ipc_imem)
void ipc_debugfs_deinit(struct iosm_imem *ipc_imem)
void ipc_debugfs_init(struct iosm_imem *ipc_imem);
void ipc_debugfs_deinit(struct iosm_imem *ipc_imem);
static inline void ipc_debugfs_init(struct iosm_imem *ipc_imem) {}
static inline void ipc_debugfs_deinit(struct iosm_imem *ipc_imem) {}
struct iosm_devlink *ipc_devlink_init(struct iosm_imem *ipc_imem)
struct iosm_devlink *ipc_devlink_init(struct iosm_imem *ipc_imem);
int ipc_flash_link_establish(struct iosm_imem *ipc_imem)
int ipc_flash_link_establish(struct iosm_imem *ipc_imem);
void ipc_imem_pm_suspend(struct iosm_imem *ipc_imem)
void ipc_imem_pm_s2idle_sleep(struct iosm_imem *ipc_imem, bool sleep)
void ipc_imem_pm_resume(struct iosm_imem *ipc_imem)
int ipc_imem_channel_alloc(struct iosm_imem *ipc_imem, int index,
struct iosm_imem *ipc_imem =
void ipc_imem_channel_init(struct iosm_imem *ipc_imem, enum ipc_ctype ctype,
container_of(hr_timer, struct iosm_imem, fast_update_timer);
void ipc_imem_channel_update(struct iosm_imem *ipc_imem, int id,
static void ipc_imem_channel_reset(struct iosm_imem *ipc_imem)
static int ipc_imem_tq_adb_timer_cb(struct iosm_imem *ipc_imem, int arg,
void ipc_imem_pipe_cleanup(struct iosm_imem *ipc_imem, struct ipc_pipe *pipe)
static void ipc_imem_device_ipc_uninit(struct iosm_imem *ipc_imem)
void ipc_imem_cleanup(struct iosm_imem *ipc_imem)
struct iosm_imem *ipc_imem =
static int ipc_imem_config(struct iosm_imem *ipc_imem)
container_of(hr_timer, struct iosm_imem, adb_timer);
struct iosm_imem *ipc_imem_init(struct iosm_pcie *pcie, unsigned int device_id,
struct iosm_imem *ipc_imem = kzalloc_obj(*pcie->imem);
static int ipc_imem_setup_cp_mux_cap_init(struct iosm_imem *ipc_imem,
void ipc_imem_irq_process(struct iosm_imem *ipc_imem, int irq)
void ipc_imem_td_update_timer_suspend(struct iosm_imem *ipc_imem, bool suspend)
static int ipc_imem_devlink_trigger_chip_info_cb(struct iosm_imem *ipc_imem,
int ipc_imem_devlink_trigger_chip_info(struct iosm_imem *ipc_imem)
void ipc_imem_msg_send_feature_set(struct iosm_imem *ipc_imem,
void ipc_imem_td_update_timer_start(struct iosm_imem *ipc_imem)
void ipc_imem_adb_timer_start(struct iosm_imem *ipc_imem)
bool ipc_imem_ul_write_td(struct iosm_imem *ipc_imem)
static int ipc_imem_msg_send_device_sleep(struct iosm_imem *ipc_imem, u32 state)
void ipc_imem_ipc_init_check(struct iosm_imem *ipc_imem)
static void ipc_imem_dl_skb_process(struct iosm_imem *ipc_imem,
static void ipc_imem_dl_pipe_process(struct iosm_imem *ipc_imem,
static bool ipc_imem_dl_skb_alloc(struct iosm_imem *ipc_imem,
static void ipc_imem_ul_pipe_process(struct iosm_imem *ipc_imem,
static void ipc_imem_rom_irq_exec(struct iosm_imem *ipc_imem)
static int ipc_imem_tq_td_update_timer_cb(struct iosm_imem *ipc_imem, int arg,
static void ipc_imem_slp_control_exec(struct iosm_imem *ipc_imem)
static int ipc_imem_tq_startup_timer_cb(struct iosm_imem *ipc_imem, int arg,
static int ipc_imem_tq_td_alloc_timer(struct iosm_imem *ipc_imem, int arg,
struct iosm_imem *ipc_imem =
container_of(hr_timer, struct iosm_imem, startup_timer);
ipc_imem_get_exec_stage_buffered(struct iosm_imem *ipc_imem)
static int ipc_imem_send_mdm_rdy_cb(struct iosm_imem *ipc_imem, int arg,
struct iosm_imem *ipc_imem;
ipc_imem = container_of(instance, struct iosm_imem, run_state_worker);
static void ipc_imem_handle_irq(struct iosm_imem *ipc_imem, int irq)
static int ipc_imem_tq_irq_cb(struct iosm_imem *ipc_imem, int arg, void *msg,
void ipc_imem_ul_send(struct iosm_imem *ipc_imem)
static enum ipc_phase ipc_imem_phase_update_check(struct iosm_imem *ipc_imem,
static bool ipc_imem_pipe_open(struct iosm_imem *ipc_imem,
static int ipc_imem_tq_pipe_td_alloc(struct iosm_imem *ipc_imem, int arg,
struct iosm_imem *ipc_imem =
container_of(hr_timer, struct iosm_imem, td_alloc_timer);
struct iosm_imem *ipc_imem =
container_of(hr_timer, struct iosm_imem, tdupdate_timer);
enum ipc_phase ipc_imem_phase_update(struct iosm_imem *ipc_imem)
void ipc_imem_pipe_close(struct iosm_imem *ipc_imem, struct ipc_pipe *pipe)
void ipc_imem_channel_close(struct iosm_imem *ipc_imem, int channel_id)
static int ipc_imem_tq_fast_update_timer_cb(struct iosm_imem *ipc_imem, int arg,
struct ipc_mem_channel *ipc_imem_channel_open(struct iosm_imem *ipc_imem,
struct iosm_imem *ipc_imem_init(struct iosm_pcie *pcie, unsigned int device_id,
void ipc_imem_pm_s2idle_sleep(struct iosm_imem *ipc_imem, bool sleep);
void ipc_imem_pm_suspend(struct iosm_imem *ipc_imem);
void ipc_imem_pm_resume(struct iosm_imem *ipc_imem);
void ipc_imem_cleanup(struct iosm_imem *ipc_imem);
void ipc_imem_irq_process(struct iosm_imem *ipc_imem, int irq);
int imem_get_device_sleep_state(struct iosm_imem *ipc_imem);
void ipc_imem_td_update_timer_suspend(struct iosm_imem *ipc_imem, bool suspend);
void ipc_imem_channel_close(struct iosm_imem *ipc_imem, int channel_id);
int ipc_imem_channel_alloc(struct iosm_imem *ipc_imem, int index,
struct ipc_mem_channel *ipc_imem_channel_open(struct iosm_imem *ipc_imem,
void ipc_imem_td_update_timer_start(struct iosm_imem *ipc_imem);
bool ipc_imem_ul_write_td(struct iosm_imem *ipc_imem);
void ipc_imem_ul_send(struct iosm_imem *ipc_imem);
void ipc_imem_channel_update(struct iosm_imem *ipc_imem, int id,
void ipc_imem_pipe_cleanup(struct iosm_imem *ipc_imem, struct ipc_pipe *pipe);
void ipc_imem_pipe_close(struct iosm_imem *ipc_imem, struct ipc_pipe *pipe);
enum ipc_phase ipc_imem_phase_update(struct iosm_imem *ipc_imem);
void ipc_imem_msg_send_feature_set(struct iosm_imem *ipc_imem,
void ipc_imem_ipc_init_check(struct iosm_imem *ipc_imem);
void ipc_imem_channel_init(struct iosm_imem *ipc_imem, enum ipc_ctype ctype,
int ipc_imem_devlink_trigger_chip_info(struct iosm_imem *ipc_imem);
void ipc_imem_adb_timer_start(struct iosm_imem *ipc_imem);
static int ipc_imem_map_skb_to_dma(struct iosm_imem *ipc_imem,
static bool ipc_imem_is_channel_active(struct iosm_imem *ipc_imem,
int ipc_imem_sys_wwan_open(struct iosm_imem *ipc_imem, int if_id)
void ipc_imem_sys_port_close(struct iosm_imem *ipc_imem,
struct ipc_mem_channel *ipc_imem_sys_port_open(struct iosm_imem *ipc_imem,
struct iosm_imem *ipc_imem = ipc_cdev->ipc_imem;
void ipc_imem_sys_wwan_close(struct iosm_imem *ipc_imem, int if_id,
struct ipc_mem_channel *ipc_imem_sys_devlink_open(struct iosm_imem *ipc_imem)
struct iosm_imem *ipc_imem = ipc_devlink->pcie->imem;
static int ipc_imem_tq_cdev_write(struct iosm_imem *ipc_imem, int arg,
static int ipc_imem_sys_psi_transfer(struct iosm_imem *ipc_imem,
static int ipc_imem_call_cdev_write(struct iosm_imem *ipc_imem)
int ipc_imem_sys_wwan_transmit(struct iosm_imem *ipc_imem,
struct iosm_imem *ipc_imem = ipc_devlink->pcie->imem;
int ipc_imem_wwan_channel_init(struct iosm_imem *ipc_imem,
struct ipc_mem_channel *ipc_imem_sys_devlink_open(struct iosm_imem *ipc_imem);
struct ipc_mem_channel *ipc_imem_sys_port_open(struct iosm_imem *ipc_imem,
void ipc_imem_sys_port_close(struct iosm_imem *ipc_imem,
int ipc_imem_sys_wwan_open(struct iosm_imem *ipc_imem, int if_id);
void ipc_imem_sys_wwan_close(struct iosm_imem *ipc_imem, int if_id,
int ipc_imem_sys_wwan_transmit(struct iosm_imem *ipc_imem, int if_id,
int ipc_imem_wwan_channel_init(struct iosm_imem *ipc_imem,
struct iosm_imem *imem)
struct iosm_imem *imem;
struct iosm_imem *ipc_imem);
static int ipc_mux_tq_cmd_send(struct iosm_imem *ipc_imem, int arg, void *msg,
static int ipc_mux_tq_ul_trigger_encode(struct iosm_imem *ipc_imem, int arg,
struct iosm_imem *imem;
struct iosm_imem *ipc_imem = ipc_protocol->imem;
struct iosm_cdev *ipc_port_init(struct iosm_imem *ipc_imem,
struct iosm_imem *ipc_imem;
struct iosm_cdev *ipc_port_init(struct iosm_imem *ipc_imem,
static int ipc_protocol_tq_wakeup_dev_slp(struct iosm_imem *ipc_imem, int arg,
struct iosm_protocol *ipc_protocol_init(struct iosm_imem *ipc_imem)
static int ipc_protocol_tq_msg_send_cb(struct iosm_imem *ipc_imem, int arg,
static int ipc_protocol_tq_msg_remove(struct iosm_imem *ipc_imem, int arg,
struct iosm_imem *imem;
struct iosm_protocol *ipc_protocol_init(struct iosm_imem *ipc_imem);
bool ipc_protocol_msg_process(struct iosm_imem *ipc_imem, int irq)
void ipc_protocol_msg_hp_update(struct iosm_imem *ipc_imem)
int ipc_protocol_msg_prep(struct iosm_imem *ipc_imem,
int ipc_protocol_msg_prep(struct iosm_imem *ipc_imem,
void ipc_protocol_msg_hp_update(struct iosm_imem *ipc_imem);
bool ipc_protocol_msg_process(struct iosm_imem *ipc_imem, int irq);
int ipc_task_queue_send_task(struct iosm_imem *imem,
int (*func)(struct iosm_imem *ipc_imem, int arg,
ipc_task_queue_add_task(struct iosm_imem *ipc_imem,
int (*func)(struct iosm_imem *ipc_imem, int arg,
struct iosm_imem *ipc_imem;
int (*func)(struct iosm_imem *ipc_imem, int arg, void *msg,
int ipc_task_queue_send_task(struct iosm_imem *imem,
int (*func)(struct iosm_imem *ipc_imem, int arg,
struct iosm_trace *ipc_trace_init(struct iosm_imem *ipc_imem)
void ipc_trace_port_rx(struct iosm_imem *ipc_imem, struct sk_buff *skb)
struct iosm_imem *ipc_imem;
static inline bool ipc_is_trace_channel(struct iosm_imem *ipc_mem, u16 chl_id)
struct iosm_trace *ipc_trace_init(struct iosm_imem *ipc_imem);
void ipc_trace_port_rx(struct iosm_imem *ipc_imem, struct sk_buff *skb);
static inline bool ipc_is_trace_channel(struct iosm_imem *ipc_mem, u16 chl_id)
static inline void ipc_trace_port_rx(struct iosm_imem *ipc_imem,
struct iosm_wwan *ipc_wwan_init(struct iosm_imem *ipc_imem, struct device *dev)
struct iosm_imem *ipc_imem;
struct iosm_wwan *ipc_wwan_init(struct iosm_imem *ipc_imem, struct device *dev);