#include <linux/bits.h>
#include <linux/bitfield.h>
#include <linux/device.h>
#include <linux/gfp.h>
#include <linux/kernel.h>
#include <linux/kthread.h>
#include <linux/list.h>
#include <linux/mutex.h>
#include <linux/netdevice.h>
#include <linux/skbuff.h>
#include <linux/spinlock.h>
#include <linux/wait.h>
#include <linux/wwan.h>
#include "t7xx_hif_cldma.h"
#include "t7xx_modem_ops.h"
#include "t7xx_port.h"
#include "t7xx_port_proxy.h"
#include "t7xx_state_monitor.h"
#define Q_IDX_CTRL …
#define Q_IDX_MBIM …
#define Q_IDX_AT_CMD …
#define INVALID_SEQ_NUM …
#define for_each_proxy_port(i, p, proxy) …
#define T7XX_MAX_POSSIBLE_PORTS_NUM …
static const struct t7xx_port_conf t7xx_port_conf[] = …;
static const struct t7xx_port_conf t7xx_early_port_conf[] = …;
static struct t7xx_port *t7xx_proxy_get_port_by_ch(struct port_proxy *port_prox, enum port_ch ch)
{ … }
static u16 t7xx_port_next_rx_seq_num(struct t7xx_port *port, struct ccci_header *ccci_h)
{ … }
void t7xx_port_proxy_reset(struct port_proxy *port_prox)
{ … }
static int t7xx_port_get_queue_no(struct t7xx_port *port)
{ … }
static void t7xx_port_struct_init(struct t7xx_port *port)
{ … }
struct sk_buff *t7xx_port_alloc_skb(int payload)
{ … }
struct sk_buff *t7xx_ctrl_alloc_skb(int payload)
{ … }
int t7xx_port_enqueue_skb(struct t7xx_port *port, struct sk_buff *skb)
{ … }
int t7xx_get_port_mtu(struct t7xx_port *port)
{ … }
int t7xx_port_send_raw_skb(struct t7xx_port *port, struct sk_buff *skb)
{ … }
static int t7xx_port_send_ccci_skb(struct t7xx_port *port, struct sk_buff *skb,
unsigned int pkt_header, unsigned int ex_msg)
{ … }
int t7xx_port_send_ctl_skb(struct t7xx_port *port, struct sk_buff *skb, unsigned int msg,
unsigned int ex_msg)
{ … }
int t7xx_port_send_skb(struct t7xx_port *port, struct sk_buff *skb, unsigned int pkt_header,
unsigned int ex_msg)
{ … }
static void t7xx_proxy_setup_ch_mapping(struct port_proxy *port_prox)
{ … }
int t7xx_port_proxy_recv_skb_from_dedicated_queue(struct cldma_queue *queue, struct sk_buff *skb)
{ … }
static struct t7xx_port *t7xx_port_proxy_find_port(struct t7xx_pci_dev *t7xx_dev,
struct cldma_queue *queue, u16 channel)
{ … }
int t7xx_port_proxy_recv_skb(struct cldma_queue *queue, struct sk_buff *skb)
{ … }
void t7xx_port_proxy_md_status_notify(struct port_proxy *port_prox, unsigned int state)
{ … }
static void t7xx_proxy_init_all_ports(struct t7xx_modem *md)
{ … }
void t7xx_port_proxy_set_cfg(struct t7xx_modem *md, enum port_cfg_id cfg_id)
{ … }
static int t7xx_proxy_alloc(struct t7xx_modem *md)
{ … }
int t7xx_port_proxy_init(struct t7xx_modem *md)
{ … }
void t7xx_port_proxy_uninit(struct port_proxy *port_prox)
{ … }
int t7xx_port_proxy_chl_enable_disable(struct port_proxy *port_prox, unsigned int ch_id,
bool en_flag)
{ … }