linux/drivers/net/wireless/realtek/rtw89/ser.c

// SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause
/* Copyright(c) 2019-2020  Realtek Corporation
 */

#include <linux/devcoredump.h>

#include "cam.h"
#include "chan.h"
#include "debug.h"
#include "fw.h"
#include "mac.h"
#include "ps.h"
#include "reg.h"
#include "ser.h"
#include "util.h"

#define SER_RECFG_TIMEOUT

enum ser_evt {};

enum ser_state {};

struct ser_msg {};

struct state_ent {};

struct event_ent {};

static char *ser_ev_name(struct rtw89_ser *ser, u8 event)
{}

static char *ser_st_name(struct rtw89_ser *ser)
{}

#define RTW89_DEF_SER_CD_TYPE(_name, _type, _size)

enum rtw89_ser_cd_type {};

RTW89_DEF_SER_CD_TYPE(fw_rsvd_ple,
		      RTW89_SER_CD_FW_RSVD_PLE,
		      RTW89_FW_RSVD_PLE_SIZE);

RTW89_DEF_SER_CD_TYPE(fw_backtrace,
		      RTW89_SER_CD_FW_BACKTRACE,
		      RTW89_FW_BACKTRACE_MAX_SIZE);

struct rtw89_ser_cd_buffer {} __packed;

static struct rtw89_ser_cd_buffer *rtw89_ser_cd_prep(struct rtw89_dev *rtwdev)
{}

static void rtw89_ser_cd_send(struct rtw89_dev *rtwdev,
			      struct rtw89_ser_cd_buffer *buf)
{}

static void rtw89_ser_cd_free(struct rtw89_dev *rtwdev,
			      struct rtw89_ser_cd_buffer *buf, bool free_self)
{}

static void ser_state_run(struct rtw89_ser *ser, u8 evt)
{}

static void ser_state_goto(struct rtw89_ser *ser, u8 new_state)
{}

static struct ser_msg *__rtw89_ser_dequeue_msg(struct rtw89_ser *ser)
{}

static void rtw89_ser_hdl_work(struct work_struct *work)
{}

static int ser_send_msg(struct rtw89_ser *ser, u8 event)
{}

static void rtw89_ser_alarm_work(struct work_struct *work)
{}

static void ser_set_alarm(struct rtw89_ser *ser, u32 ms, u8 event)
{}

static void ser_del_alarm(struct rtw89_ser *ser)
{}

/* driver function */
static void drv_stop_tx(struct rtw89_ser *ser)
{}

static void drv_stop_rx(struct rtw89_ser *ser)
{}

static void drv_trx_reset(struct rtw89_ser *ser)
{}

static void drv_resume_tx(struct rtw89_ser *ser)
{}

static void drv_resume_rx(struct rtw89_ser *ser)
{}

static void ser_reset_vif(struct rtw89_dev *rtwdev, struct rtw89_vif *rtwvif)
{}

static void ser_sta_deinit_cam_iter(void *data, struct ieee80211_sta *sta)
{}

static void ser_deinit_cam(struct rtw89_dev *rtwdev, struct rtw89_vif *rtwvif)
{}

static void ser_reset_mac_binding(struct rtw89_dev *rtwdev)
{}

/* hal function */
static int hal_enable_dma(struct rtw89_ser *ser)
{}

static int hal_stop_dma(struct rtw89_ser *ser)
{}

static void hal_send_post_m0_event(struct rtw89_ser *ser)
{}

static void hal_send_m2_event(struct rtw89_ser *ser)
{}

static void hal_send_m4_event(struct rtw89_ser *ser)
{}

/* state handler */
static void ser_idle_st_hdl(struct rtw89_ser *ser, u8 evt)
{}

static void ser_l1_reset_pre_st_hdl(struct rtw89_ser *ser, u8 evt)
{}

static void ser_reset_trx_st_hdl(struct rtw89_ser *ser, u8 evt)
{}

static void ser_do_hci_st_hdl(struct rtw89_ser *ser, u8 evt)
{}

static void ser_mac_mem_dump(struct rtw89_dev *rtwdev, u8 *buf,
			     u8 sel, u32 start_addr, u32 len)
{}

static void rtw89_ser_fw_rsvd_ple_dump(struct rtw89_dev *rtwdev, u8 *buf)
{}

struct __fw_backtrace_entry {} __packed;

struct __fw_backtrace_info {} __packed;

static_assert();

static u32 convert_addr_from_wcpu(u32 wcpu_addr)
{}

static int rtw89_ser_fw_backtrace_dump(struct rtw89_dev *rtwdev, u8 *buf,
				       const struct __fw_backtrace_entry *ent)
{}

static void ser_l2_reset_st_pre_hdl(struct rtw89_ser *ser)
{}

static void ser_l2_reset_st_hdl(struct rtw89_ser *ser, u8 evt)
{}

static const struct event_ent ser_ev_tbl[] =;

static const struct state_ent ser_st_tbl[] =;

int rtw89_ser_init(struct rtw89_dev *rtwdev)
{}

int rtw89_ser_deinit(struct rtw89_dev *rtwdev)
{}

void rtw89_ser_recfg_done(struct rtw89_dev *rtwdev)
{}

int rtw89_ser_notify(struct rtw89_dev *rtwdev, u32 err)
{}
EXPORT_SYMBOL();