linux/drivers/net/wireless/broadcom/b43/phy_ht.c

// SPDX-License-Identifier: GPL-2.0-or-later
/*

  Broadcom B43 wireless driver
  IEEE 802.11n HT-PHY support

  Copyright (c) 2011 Rafał Miłecki <[email protected]>


*/

#include <linux/slab.h>

#include "b43.h"
#include "phy_ht.h"
#include "tables_phy_ht.h"
#include "radio_2059.h"
#include "main.h"

/* Force values to keep compatibility with wl */
enum ht_rssi_type {};

/**************************************************
 * Radio 2059.
 **************************************************/

static void b43_radio_2059_channel_setup(struct b43_wldev *dev,
			const struct b43_phy_ht_channeltab_e_radio2059 *e)
{}

/* Calibrate resistors in LPF of PLL? */
static void b43_radio_2059_rcal(struct b43_wldev *dev)
{}

/* Calibrate the internal RC oscillator? */
static void b43_radio_2057_rccal(struct b43_wldev *dev)
{}

static void b43_radio_2059_init_pre(struct b43_wldev *dev)
{}

static void b43_radio_2059_init(struct b43_wldev *dev)
{}

/**************************************************
 * RF
 **************************************************/

static void b43_phy_ht_force_rf_sequence(struct b43_wldev *dev, u16 rf_seq)
{}

static void b43_phy_ht_pa_override(struct b43_wldev *dev, bool enable)
{}

/**************************************************
 * Various PHY ops
 **************************************************/

static u16 b43_phy_ht_classifier(struct b43_wldev *dev, u16 mask, u16 val)
{}

static void b43_phy_ht_reset_cca(struct b43_wldev *dev)
{}

static void b43_phy_ht_zero_extg(struct b43_wldev *dev)
{}

/* Some unknown AFE (Analog Frondned) op */
static void b43_phy_ht_afe_unk1(struct b43_wldev *dev)
{}

static void b43_phy_ht_read_clip_detection(struct b43_wldev *dev, u16 *clip_st)
{}

static void b43_phy_ht_bphy_init(struct b43_wldev *dev)
{}

static void b43_phy_ht_bphy_reset(struct b43_wldev *dev, bool reset)
{}

/**************************************************
 * Samples
 **************************************************/

static void b43_phy_ht_stop_playback(struct b43_wldev *dev)
{}

static u16 b43_phy_ht_load_samples(struct b43_wldev *dev)
{}

static void b43_phy_ht_run_samples(struct b43_wldev *dev, u16 samps, u16 loops,
				   u16 wait)
{}

static void b43_phy_ht_tx_tone(struct b43_wldev *dev)
{}

/**************************************************
 * RSSI
 **************************************************/

static void b43_phy_ht_rssi_select(struct b43_wldev *dev, u8 core_sel,
				   enum ht_rssi_type rssi_type)
{}

static void b43_phy_ht_poll_rssi(struct b43_wldev *dev, enum ht_rssi_type type,
				 s32 *buf, u8 nsamp)
{}

/**************************************************
 * Tx/Rx
 **************************************************/

static void b43_phy_ht_tx_power_fix(struct b43_wldev *dev)
{}

static void b43_phy_ht_tx_power_ctl(struct b43_wldev *dev, bool enable)
{}

static void b43_phy_ht_tx_power_ctl_idle_tssi(struct b43_wldev *dev)
{}

static void b43_phy_ht_tssi_setup(struct b43_wldev *dev)
{}

static void b43_phy_ht_tx_power_ctl_setup(struct b43_wldev *dev)
{}

/**************************************************
 * Channel switching ops.
 **************************************************/

static void b43_phy_ht_spur_avoid(struct b43_wldev *dev,
				  struct ieee80211_channel *new_channel)
{}

static void b43_phy_ht_channel_setup(struct b43_wldev *dev,
				const struct b43_phy_ht_channeltab_e_phy *e,
				struct ieee80211_channel *new_channel)
{}

static int b43_phy_ht_set_channel(struct b43_wldev *dev,
				  struct ieee80211_channel *channel,
				  enum nl80211_channel_type channel_type)
{}

/**************************************************
 * Basic PHY ops.
 **************************************************/

static int b43_phy_ht_op_allocate(struct b43_wldev *dev)
{}

static void b43_phy_ht_op_prepare_structs(struct b43_wldev *dev)
{}

static int b43_phy_ht_op_init(struct b43_wldev *dev)
{}

static void b43_phy_ht_op_free(struct b43_wldev *dev)
{}

/* https://bcm-v4.sipsolutions.net/802.11/Radio/Switch%20Radio */
static void b43_phy_ht_op_software_rfkill(struct b43_wldev *dev,
					bool blocked)
{}

static void b43_phy_ht_op_switch_analog(struct b43_wldev *dev, bool on)
{}

static int b43_phy_ht_op_switch_channel(struct b43_wldev *dev,
					unsigned int new_channel)
{}

static unsigned int b43_phy_ht_op_get_default_chan(struct b43_wldev *dev)
{}

/**************************************************
 * R/W ops.
 **************************************************/

static void b43_phy_ht_op_maskset(struct b43_wldev *dev, u16 reg, u16 mask,
				 u16 set)
{}

static u16 b43_phy_ht_op_radio_read(struct b43_wldev *dev, u16 reg)
{}

static void b43_phy_ht_op_radio_write(struct b43_wldev *dev, u16 reg,
				      u16 value)
{}

static enum b43_txpwr_result
b43_phy_ht_op_recalc_txpower(struct b43_wldev *dev, bool ignore_tssi)
{}

static void b43_phy_ht_op_adjust_txpower(struct b43_wldev *dev)
{}

/**************************************************
 * PHY ops struct.
 **************************************************/

const struct b43_phy_operations b43_phyops_ht =;