#include <linux/bits.h>
#include <linux/bitfield.h>
#include <linux/completion.h>
#include <linux/device.h>
#include <linux/delay.h>
#include <linux/err.h>
#include <linux/gfp.h>
#include <linux/iopoll.h>
#include <linux/jiffies.h>
#include <linux/kernel.h>
#include <linux/kthread.h>
#include <linux/list.h>
#include <linux/slab.h>
#include <linux/spinlock.h>
#include <linux/string.h>
#include <linux/types.h>
#include <linux/wait.h>
#include "t7xx_hif_cldma.h"
#include "t7xx_mhccif.h"
#include "t7xx_modem_ops.h"
#include "t7xx_pci.h"
#include "t7xx_pcie_mac.h"
#include "t7xx_port_proxy.h"
#include "t7xx_reg.h"
#include "t7xx_state_monitor.h"
#define FSM_DRM_DISABLE_DELAY_MS …
#define FSM_EVENT_POLL_INTERVAL_MS …
#define FSM_MD_EX_REC_OK_TIMEOUT_MS …
#define FSM_MD_EX_PASS_TIMEOUT_MS …
#define FSM_CMD_TIMEOUT_MS …
#define wait_for_expected_dev_stage(status) …
void t7xx_fsm_notifier_register(struct t7xx_modem *md, struct t7xx_fsm_notifier *notifier)
{ … }
void t7xx_fsm_notifier_unregister(struct t7xx_modem *md, struct t7xx_fsm_notifier *notifier)
{ … }
static void fsm_state_notify(struct t7xx_modem *md, enum md_state state)
{ … }
void t7xx_fsm_broadcast_state(struct t7xx_fsm_ctl *ctl, enum md_state state)
{ … }
static void fsm_finish_command(struct t7xx_fsm_ctl *ctl, struct t7xx_fsm_command *cmd, int result)
{ … }
static void fsm_del_kf_event(struct t7xx_fsm_event *event)
{ … }
static void fsm_flush_event_cmd_qs(struct t7xx_fsm_ctl *ctl)
{ … }
static void fsm_wait_for_event(struct t7xx_fsm_ctl *ctl, enum t7xx_fsm_event_state event_expected,
enum t7xx_fsm_event_state event_ignore, int retries)
{ … }
static void fsm_routine_exception(struct t7xx_fsm_ctl *ctl, struct t7xx_fsm_command *cmd,
enum t7xx_ex_reason reason)
{ … }
static void t7xx_lk_stage_event_handling(struct t7xx_fsm_ctl *ctl, unsigned int status)
{ … }
static int fsm_stopped_handler(struct t7xx_fsm_ctl *ctl)
{ … }
static void fsm_routine_stopped(struct t7xx_fsm_ctl *ctl, struct t7xx_fsm_command *cmd)
{ … }
static void fsm_routine_stopping(struct t7xx_fsm_ctl *ctl, struct t7xx_fsm_command *cmd)
{ … }
static void t7xx_fsm_broadcast_ready_state(struct t7xx_fsm_ctl *ctl)
{ … }
static void fsm_routine_ready(struct t7xx_fsm_ctl *ctl)
{ … }
static int fsm_routine_starting(struct t7xx_fsm_ctl *ctl)
{ … }
static void fsm_routine_start(struct t7xx_fsm_ctl *ctl, struct t7xx_fsm_command *cmd)
{ … }
static int fsm_main_thread(void *data)
{ … }
int t7xx_fsm_append_cmd(struct t7xx_fsm_ctl *ctl, enum t7xx_fsm_cmd_state cmd_id, unsigned int flag)
{ … }
int t7xx_fsm_append_event(struct t7xx_fsm_ctl *ctl, enum t7xx_fsm_event_state event_id,
unsigned char *data, unsigned int length)
{ … }
void t7xx_fsm_clr_event(struct t7xx_fsm_ctl *ctl, enum t7xx_fsm_event_state event_id)
{ … }
enum md_state t7xx_fsm_get_md_state(struct t7xx_fsm_ctl *ctl)
{ … }
unsigned int t7xx_fsm_get_ctl_state(struct t7xx_fsm_ctl *ctl)
{ … }
int t7xx_fsm_recv_md_intr(struct t7xx_fsm_ctl *ctl, enum t7xx_md_irq_type type)
{ … }
void t7xx_fsm_reset(struct t7xx_modem *md)
{ … }
int t7xx_fsm_init(struct t7xx_modem *md)
{ … }
void t7xx_fsm_uninit(struct t7xx_modem *md)
{ … }