#include <linux/nospec.h>
#include "iosm_ipc_imem_ops.h"
#include "iosm_ipc_mux_codec.h"
#include "iosm_ipc_task_queue.h"
static int ipc_mux_tq_cmd_send(struct iosm_imem *ipc_imem, int arg, void *msg,
size_t size)
{ … }
static int ipc_mux_acb_send(struct iosm_mux *ipc_mux, bool blocking)
{ … }
static void ipc_mux_acb_init(struct iosm_mux *ipc_mux)
{ … }
static struct mux_cmdh *ipc_mux_acb_add_cmd(struct iosm_mux *ipc_mux, u32 cmd,
void *param, u32 param_size)
{ … }
static struct mux_lite_cmdh *ipc_mux_lite_add_cmd(struct iosm_mux *ipc_mux,
u32 cmd, struct mux_acb *acb,
void *param, u32 param_size)
{ … }
static int ipc_mux_acb_alloc(struct iosm_mux *ipc_mux)
{ … }
int ipc_mux_dl_acb_send_cmds(struct iosm_mux *ipc_mux, u32 cmd_type, u8 if_id,
u32 transaction_id, union mux_cmd_param *param,
size_t res_size, bool blocking, bool respond)
{ … }
void ipc_mux_netif_tx_flowctrl(struct mux_session *session, int idx, bool on)
{ … }
static int ipc_mux_dl_cmdresps_decode_process(struct iosm_mux *ipc_mux,
union mux_cmd_param param,
__le32 command_type, u8 if_id,
__le32 transaction_id)
{ … }
static int ipc_mux_dl_cmds_decode_process(struct iosm_mux *ipc_mux,
union mux_cmd_param *param,
__le32 command_type, u8 if_id,
__le16 cmd_len, int size)
{ … }
static void ipc_mux_dl_cmd_decode(struct iosm_mux *ipc_mux, struct sk_buff *skb)
{ … }
static int ipc_mux_net_receive(struct iosm_mux *ipc_mux, int if_id,
struct iosm_wwan *wwan, u32 offset,
u8 service_class, struct sk_buff *skb,
u32 pkt_len)
{ … }
static void ipc_mux_dl_fcth_decode(struct iosm_mux *ipc_mux,
unsigned char *block)
{ … }
static void ipc_mux_dl_adgh_decode(struct iosm_mux *ipc_mux,
struct sk_buff *skb)
{ … }
static void ipc_mux_dl_acbcmd_decode(struct iosm_mux *ipc_mux,
struct mux_cmdh *cmdh, int size)
{ … }
static void ipc_mux_dl_acb_decode(struct iosm_mux *ipc_mux, struct sk_buff *skb)
{ … }
static int mux_dl_process_dg(struct iosm_mux *ipc_mux, struct mux_adbh *adbh,
struct mux_adth_dg *dg, struct sk_buff *skb,
int if_id, int nr_of_dg)
{ … }
static void mux_dl_adb_decode(struct iosm_mux *ipc_mux,
struct sk_buff *skb)
{ … }
void ipc_mux_dl_decode(struct iosm_mux *ipc_mux, struct sk_buff *skb)
{ … }
static int ipc_mux_ul_skb_alloc(struct iosm_mux *ipc_mux,
struct mux_adb *ul_adb, u32 type)
{ … }
static void ipc_mux_ul_adgh_finish(struct iosm_mux *ipc_mux)
{ … }
static void ipc_mux_ul_encode_adth(struct iosm_mux *ipc_mux,
struct mux_adb *ul_adb, int *out_offset)
{ … }
void ipc_mux_ul_adb_finish(struct iosm_mux *ipc_mux)
{ … }
static bool ipc_mux_ul_adb_allocate(struct iosm_mux *ipc_mux,
struct mux_adb *adb, int *size_needed,
u32 type)
{ … }
static void ipc_mux_stop_tx_for_all_sessions(struct iosm_mux *ipc_mux)
{ … }
static bool ipc_mux_lite_send_qlt(struct iosm_mux *ipc_mux)
{ … }
static int ipc_mux_ul_bytes_credits_check(struct iosm_mux *ipc_mux,
struct mux_session *session,
struct sk_buff_head *ul_list,
int max_nr_of_pkts)
{ … }
static int ipc_mux_ul_adgh_encode(struct iosm_mux *ipc_mux, int session_id,
struct mux_session *session,
struct sk_buff_head *ul_list,
struct mux_adb *adb, int nr_of_pkts)
{ … }
void ipc_mux_ul_adb_update_ql(struct iosm_mux *ipc_mux, struct mux_adb *p_adb,
int session_id, int qlth_n_ql_size,
struct sk_buff_head *ul_list)
{ … }
static int mux_ul_dg_update_tbl_index(struct iosm_mux *ipc_mux,
int session_id,
struct sk_buff_head *ul_list,
struct mux_adth_dg *dg,
int aligned_size,
u32 qlth_n_ql_size,
struct mux_adb *adb,
struct sk_buff *src_skb)
{ … }
static int mux_ul_dg_encode(struct iosm_mux *ipc_mux, struct mux_adb *adb,
struct mux_adth_dg *dg,
struct sk_buff_head *ul_list,
struct sk_buff *src_skb, int session_id,
int pkt_to_send, u32 qlth_n_ql_size,
int *out_offset, int head_pad_len)
{ … }
static int mux_ul_adb_encode(struct iosm_mux *ipc_mux, int session_id,
struct mux_session *session,
struct sk_buff_head *ul_list, struct mux_adb *adb,
int pkt_to_send)
{ … }
bool ipc_mux_ul_data_encode(struct iosm_mux *ipc_mux)
{ … }
static int ipc_mux_get_payload_from_adb(struct iosm_mux *ipc_mux,
struct mux_adbh *p_adbh)
{ … }
void ipc_mux_ul_encoded_process(struct iosm_mux *ipc_mux, struct sk_buff *skb)
{ … }
static int ipc_mux_tq_ul_trigger_encode(struct iosm_imem *ipc_imem, int arg,
void *msg, size_t size)
{ … }
int ipc_mux_ul_trigger_encode(struct iosm_mux *ipc_mux, int if_id,
struct sk_buff *skb)
{ … }