#include <net/mac80211.h>
#include <linux/netdevice.h>
#include <linux/dmi.h>
#include "iwl-trans.h"
#include "iwl-op-mode.h"
#include "fw/img.h"
#include "iwl-debug.h"
#include "iwl-prph.h"
#include "fw/acpi.h"
#include "fw/pnvm.h"
#include "fw/uefi.h"
#include "fw/regulatory.h"
#include "mvm.h"
#include "fw/dbg.h"
#include "iwl-phy-db.h"
#include "iwl-modparams.h"
#include "iwl-nvm-parse.h"
#include "time-sync.h"
#define MVM_UCODE_ALIVE_TIMEOUT …
#define MVM_UCODE_CALIB_TIMEOUT …
struct iwl_mvm_alive_data { … };
static int iwl_send_tx_ant_cfg(struct iwl_mvm *mvm, u8 valid_tx_ant)
{ … }
static int iwl_send_rss_cfg_cmd(struct iwl_mvm *mvm)
{ … }
static int iwl_mvm_send_dqa_cmd(struct iwl_mvm *mvm)
{ … }
void iwl_mvm_mfu_assert_dump_notif(struct iwl_mvm *mvm,
struct iwl_rx_cmd_buffer *rxb)
{ … }
static bool iwl_alive_fn(struct iwl_notif_wait_data *notif_wait,
struct iwl_rx_packet *pkt, void *data)
{ … }
static bool iwl_wait_init_complete(struct iwl_notif_wait_data *notif_wait,
struct iwl_rx_packet *pkt, void *data)
{ … }
static bool iwl_wait_phy_db_entry(struct iwl_notif_wait_data *notif_wait,
struct iwl_rx_packet *pkt, void *data)
{ … }
static void iwl_mvm_print_pd_notification(struct iwl_mvm *mvm)
{ … }
static int iwl_mvm_load_ucode_wait_alive(struct iwl_mvm *mvm,
enum iwl_ucode_type ucode_type)
{ … }
static void iwl_mvm_phy_filter_init(struct iwl_mvm *mvm,
struct iwl_phy_specific_cfg *phy_filters)
{ … }
static void iwl_mvm_uats_init(struct iwl_mvm *mvm)
{ … }
static int iwl_mvm_sgom_init(struct iwl_mvm *mvm)
{ … }
static int iwl_send_phy_cfg_cmd(struct iwl_mvm *mvm)
{ … }
static int iwl_run_unified_mvm_ucode(struct iwl_mvm *mvm)
{ … }
int iwl_run_init_mvm_ucode(struct iwl_mvm *mvm)
{ … }
static int iwl_mvm_config_ltr(struct iwl_mvm *mvm)
{ … }
int iwl_mvm_sar_select_profile(struct iwl_mvm *mvm, int prof_a, int prof_b)
{ … }
int iwl_mvm_get_sar_geo_profile(struct iwl_mvm *mvm)
{ … }
static int iwl_mvm_sar_geo_init(struct iwl_mvm *mvm)
{ … }
int iwl_mvm_ppag_send_cmd(struct iwl_mvm *mvm)
{ … }
static int iwl_mvm_ppag_init(struct iwl_mvm *mvm)
{ … }
static bool iwl_mvm_add_to_tas_block_list(__le32 *list, __le32 *le_size, unsigned int mcc)
{ … }
static void iwl_mvm_tas_init(struct iwl_mvm *mvm)
{ … }
static bool iwl_mvm_eval_dsm_rfi(struct iwl_mvm *mvm)
{ … }
static void iwl_mvm_lari_cfg(struct iwl_mvm *mvm)
{ … }
void iwl_mvm_get_bios_tables(struct iwl_mvm *mvm)
{ … }
static void iwl_mvm_disconnect_iterator(void *data, u8 *mac,
struct ieee80211_vif *vif)
{ … }
void iwl_mvm_send_recovery_cmd(struct iwl_mvm *mvm, u32 flags)
{ … }
static int iwl_mvm_sar_init(struct iwl_mvm *mvm)
{ … }
static int iwl_mvm_load_rt_fw(struct iwl_mvm *mvm)
{ … }
int iwl_mvm_up(struct iwl_mvm *mvm)
{ … }
int iwl_mvm_load_d3_fw(struct iwl_mvm *mvm)
{ … }
void iwl_mvm_rx_mfuart_notif(struct iwl_mvm *mvm,
struct iwl_rx_cmd_buffer *rxb)
{ … }