forked from Minki/linux
staging: brcm80211: replaced wlc_info_t by struct wlc_info.
Part of code cleanup effort. Global replace of wlc_info_t with struct wlc_info. Signed-off-by: Roland Vossen <rvossen@broadcom.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
parent
e63449b717
commit
c6a9e1fc71
@ -156,7 +156,7 @@ void wlc_bsscfg_mfree(struct osl_info *osh, wlc_bsscfg_t *cfg)
|
||||
kfree(cfg);
|
||||
}
|
||||
|
||||
void wlc_bsscfg_ID_assign(wlc_info_t *wlc, wlc_bsscfg_t *bsscfg)
|
||||
void wlc_bsscfg_ID_assign(struct wlc_info *wlc, wlc_bsscfg_t *bsscfg)
|
||||
{
|
||||
bsscfg->ID = wlc->next_bsscfg_ID;
|
||||
wlc->next_bsscfg_ID++;
|
||||
@ -165,12 +165,13 @@ void wlc_bsscfg_ID_assign(wlc_info_t *wlc, wlc_bsscfg_t *bsscfg)
|
||||
/*
|
||||
* The common driver entry routine. Error codes should be unique
|
||||
*/
|
||||
wlc_info_t *wlc_attach_malloc(struct osl_info *osh, uint unit, uint *err,
|
||||
struct wlc_info *wlc_attach_malloc(struct osl_info *osh, uint unit, uint *err,
|
||||
uint devid)
|
||||
{
|
||||
wlc_info_t *wlc;
|
||||
struct wlc_info *wlc;
|
||||
|
||||
wlc = (wlc_info_t *) wlc_calloc(osh, unit, sizeof(wlc_info_t));
|
||||
wlc = (struct wlc_info *) wlc_calloc(osh, unit,
|
||||
sizeof(struct wlc_info));
|
||||
if (wlc == NULL) {
|
||||
*err = 1002;
|
||||
goto fail;
|
||||
@ -301,7 +302,7 @@ wlc_info_t *wlc_attach_malloc(struct osl_info *osh, uint unit, uint *err,
|
||||
return NULL;
|
||||
}
|
||||
|
||||
void wlc_detach_mfree(wlc_info_t *wlc, struct osl_info *osh)
|
||||
void wlc_detach_mfree(struct wlc_info *wlc, struct osl_info *osh)
|
||||
{
|
||||
if (wlc == NULL)
|
||||
return;
|
||||
|
@ -16,9 +16,9 @@
|
||||
|
||||
extern void *wlc_calloc(struct osl_info *osh, uint unit, uint size);
|
||||
|
||||
extern wlc_info_t *wlc_attach_malloc(struct osl_info *osh, uint unit, uint *err,
|
||||
uint devid);
|
||||
extern void wlc_detach_mfree(wlc_info_t *wlc, struct osl_info *osh);
|
||||
extern struct wlc_info *wlc_attach_malloc(struct osl_info *osh, uint unit,
|
||||
uint *err, uint devid);
|
||||
extern void wlc_detach_mfree(struct wlc_info *wlc, struct osl_info *osh);
|
||||
|
||||
struct wlc_bsscfg;
|
||||
extern struct wlc_bsscfg *wlc_bsscfg_malloc(struct osl_info *osh, uint unit);
|
||||
|
@ -98,7 +98,7 @@ typedef struct wlc_fifo_info {
|
||||
|
||||
/* AMPDU module specific state */
|
||||
struct ampdu_info {
|
||||
wlc_info_t *wlc; /* pointer to main wlc structure */
|
||||
struct wlc_info *wlc; /* pointer to main wlc structure */
|
||||
int scb_handle; /* scb cubby handle to retrieve data from scb */
|
||||
u8 ini_enable[AMPDU_MAX_SCB_TID]; /* per-tid initiator enable/disable of ampdu */
|
||||
u8 ba_tx_wsize; /* Tx ba window size (in pdu) */
|
||||
@ -131,7 +131,7 @@ struct ampdu_info {
|
||||
#define SCB_AMPDU_INI(scb_ampdu, tid) (&(scb_ampdu->ini[tid]))
|
||||
|
||||
static void wlc_ffpld_init(ampdu_info_t *ampdu);
|
||||
static int wlc_ffpld_check_txfunfl(wlc_info_t *wlc, int f);
|
||||
static int wlc_ffpld_check_txfunfl(struct wlc_info *wlc, int f);
|
||||
static void wlc_ffpld_calc_mcs2ampdu_table(ampdu_info_t *ampdu, int f);
|
||||
|
||||
static scb_ampdu_tid_ini_t *wlc_ampdu_init_tid_ini(ampdu_info_t *ampdu,
|
||||
@ -149,7 +149,7 @@ static void wlc_ampdu_dotxstatus_complete(ampdu_info_t *ampdu, struct scb *scb,
|
||||
struct sk_buff *p, tx_status_t *txs,
|
||||
u32 frmtxstatus, u32 frmtxstatus2);
|
||||
|
||||
static inline u16 pkt_txh_seqnum(wlc_info_t *wlc, struct sk_buff *p)
|
||||
static inline u16 pkt_txh_seqnum(struct wlc_info *wlc, struct sk_buff *p)
|
||||
{
|
||||
d11txh_t *txh;
|
||||
struct dot11_header *h;
|
||||
@ -158,7 +158,7 @@ static inline u16 pkt_txh_seqnum(wlc_info_t *wlc, struct sk_buff *p)
|
||||
return ltoh16(h->seq) >> SEQNUM_SHIFT;
|
||||
}
|
||||
|
||||
ampdu_info_t *wlc_ampdu_attach(wlc_info_t *wlc)
|
||||
ampdu_info_t *wlc_ampdu_attach(struct wlc_info *wlc)
|
||||
{
|
||||
ampdu_info_t *ampdu;
|
||||
int i;
|
||||
@ -317,7 +317,7 @@ static void wlc_ffpld_init(ampdu_info_t *ampdu)
|
||||
* Return 1 if pre-loading not active, -1 if not an underflow event,
|
||||
* 0 if pre-loading module took care of the event.
|
||||
*/
|
||||
static int wlc_ffpld_check_txfunfl(wlc_info_t *wlc, int fid)
|
||||
static int wlc_ffpld_check_txfunfl(struct wlc_info *wlc, int fid)
|
||||
{
|
||||
ampdu_info_t *ampdu = wlc->ampdu;
|
||||
u32 phy_rate = MCS_RATE(FFPLD_MAX_MCS, true, false);
|
||||
@ -491,7 +491,7 @@ int BCMFASTPATH
|
||||
wlc_sendampdu(ampdu_info_t *ampdu, wlc_txq_info_t *qi, struct sk_buff **pdu,
|
||||
int prec)
|
||||
{
|
||||
wlc_info_t *wlc;
|
||||
struct wlc_info *wlc;
|
||||
struct osl_info *osh;
|
||||
struct sk_buff *p, *pkt[AMPDU_MAX_MPDU];
|
||||
u8 tid, ndelim;
|
||||
@ -889,7 +889,7 @@ wlc_ampdu_dotxstatus(ampdu_info_t *ampdu, struct scb *scb, struct sk_buff *p,
|
||||
tx_status_t *txs)
|
||||
{
|
||||
scb_ampdu_t *scb_ampdu;
|
||||
wlc_info_t *wlc = ampdu->wlc;
|
||||
struct wlc_info *wlc = ampdu->wlc;
|
||||
scb_ampdu_tid_ini_t *ini;
|
||||
u32 s1 = 0, s2 = 0;
|
||||
struct ieee80211_tx_info *tx_info;
|
||||
@ -932,11 +932,8 @@ wlc_ampdu_dotxstatus(ampdu_info_t *ampdu, struct scb *scb, struct sk_buff *p,
|
||||
wlc_ampdu_txflowcontrol(wlc, scb_ampdu, ini);
|
||||
}
|
||||
|
||||
void rate_status(wlc_info_t *wlc, struct ieee80211_tx_info *tx_info,
|
||||
tx_status_t *txs, u8 mcs);
|
||||
|
||||
void
|
||||
rate_status(wlc_info_t *wlc, struct ieee80211_tx_info *tx_info,
|
||||
rate_status(struct wlc_info *wlc, struct ieee80211_tx_info *tx_info,
|
||||
tx_status_t *txs, u8 mcs)
|
||||
{
|
||||
struct ieee80211_tx_rate *txrate = tx_info->status.rates;
|
||||
@ -957,7 +954,7 @@ wlc_ampdu_dotxstatus_complete(ampdu_info_t *ampdu, struct scb *scb,
|
||||
u32 s1, u32 s2)
|
||||
{
|
||||
scb_ampdu_t *scb_ampdu;
|
||||
wlc_info_t *wlc = ampdu->wlc;
|
||||
struct wlc_info *wlc = ampdu->wlc;
|
||||
scb_ampdu_tid_ini_t *ini;
|
||||
u8 bitmap[8], queue, tid;
|
||||
d11txh_t *txh;
|
||||
@ -1226,7 +1223,7 @@ static scb_ampdu_tid_ini_t *wlc_ampdu_init_tid_ini(ampdu_info_t *ampdu,
|
||||
|
||||
int wlc_ampdu_set(ampdu_info_t *ampdu, bool on)
|
||||
{
|
||||
wlc_info_t *wlc = ampdu->wlc;
|
||||
struct wlc_info *wlc = ampdu->wlc;
|
||||
|
||||
wlc->pub->_ampdu = false;
|
||||
|
||||
@ -1313,7 +1310,7 @@ wlc_ampdu_null_delim_cnt(ampdu_info_t *ampdu, struct scb *scb,
|
||||
return 0;
|
||||
}
|
||||
|
||||
void wlc_ampdu_macaddr_upd(wlc_info_t *wlc)
|
||||
void wlc_ampdu_macaddr_upd(struct wlc_info *wlc)
|
||||
{
|
||||
char template[T_RAM_ACCESS_SZ * 2];
|
||||
|
||||
@ -1324,14 +1321,14 @@ void wlc_ampdu_macaddr_upd(wlc_info_t *wlc)
|
||||
template);
|
||||
}
|
||||
|
||||
bool wlc_aggregatable(wlc_info_t *wlc, u8 tid)
|
||||
bool wlc_aggregatable(struct wlc_info *wlc, u8 tid)
|
||||
{
|
||||
return wlc->ampdu->ini_enable[tid];
|
||||
}
|
||||
|
||||
void wlc_ampdu_shm_upd(ampdu_info_t *ampdu)
|
||||
{
|
||||
wlc_info_t *wlc = ampdu->wlc;
|
||||
struct wlc_info *wlc = ampdu->wlc;
|
||||
|
||||
/* Extend ucode internal watchdog timer to match larger received frames */
|
||||
if ((ampdu->rx_factor & HT_PARAMS_RX_FACTOR_MASK) ==
|
||||
|
@ -17,7 +17,7 @@
|
||||
#ifndef _wlc_ampdu_h_
|
||||
#define _wlc_ampdu_h_
|
||||
|
||||
extern ampdu_info_t *wlc_ampdu_attach(wlc_info_t *wlc);
|
||||
extern ampdu_info_t *wlc_ampdu_attach(struct wlc_info *wlc);
|
||||
extern void wlc_ampdu_detach(ampdu_info_t *ampdu);
|
||||
extern bool wlc_ampdu_cap(ampdu_info_t *ampdu);
|
||||
extern int wlc_ampdu_set(ampdu_info_t *ampdu, bool on);
|
||||
@ -26,7 +26,7 @@ extern int wlc_sendampdu(ampdu_info_t *ampdu, wlc_txq_info_t *qi,
|
||||
extern void wlc_ampdu_dotxstatus(ampdu_info_t *ampdu, struct scb *scb,
|
||||
struct sk_buff *p, tx_status_t *txs);
|
||||
extern void wlc_ampdu_reset(ampdu_info_t *ampdu);
|
||||
extern void wlc_ampdu_macaddr_upd(wlc_info_t *wlc);
|
||||
extern void wlc_ampdu_macaddr_upd(struct wlc_info *wlc);
|
||||
extern void wlc_ampdu_shm_upd(ampdu_info_t *ampdu);
|
||||
|
||||
extern u8 wlc_ampdu_null_delim_cnt(ampdu_info_t *ampdu, struct scb *scb,
|
||||
|
@ -93,7 +93,7 @@ const u8 mimo_2x3_div_antselid_tbl[16] = {
|
||||
0, 0, 0, 0, 0, 0, 0, 0 /* pat to antselid */
|
||||
};
|
||||
|
||||
antsel_info_t *wlc_antsel_attach(wlc_info_t *wlc, struct osl_info *osh,
|
||||
antsel_info_t *wlc_antsel_attach(struct wlc_info *wlc, struct osl_info *osh,
|
||||
wlc_pub_t *pub,
|
||||
wlc_hw_info_t *wlc_hw) {
|
||||
antsel_info_t *asi;
|
||||
@ -297,7 +297,7 @@ static u16 wlc_antsel_antcfg2antsel(antsel_info_t *asi, u8 ant_cfg)
|
||||
/* boardlevel antenna selection: ucode interface control */
|
||||
static int wlc_antsel_cfgupd(antsel_info_t *asi, wlc_antselcfg_t *antsel)
|
||||
{
|
||||
wlc_info_t *wlc = asi->wlc;
|
||||
struct wlc_info *wlc = asi->wlc;
|
||||
u8 ant_cfg;
|
||||
u16 mimo_antsel;
|
||||
|
||||
|
@ -16,7 +16,8 @@
|
||||
|
||||
#ifndef _wlc_antsel_h_
|
||||
#define _wlc_antsel_h_
|
||||
extern antsel_info_t *wlc_antsel_attach(wlc_info_t *wlc, struct osl_info *osh,
|
||||
extern antsel_info_t *wlc_antsel_attach(struct wlc_info *wlc,
|
||||
struct osl_info *osh,
|
||||
wlc_pub_t *pub,
|
||||
wlc_hw_info_t *wlc_hw);
|
||||
extern void wlc_antsel_detach(antsel_info_t *asi);
|
||||
|
@ -113,7 +113,7 @@ static u16 xmtfifo_sz[][NFIFO] = {
|
||||
};
|
||||
|
||||
static void wlc_clkctl_clk(wlc_hw_info_t *wlc, uint mode);
|
||||
static void wlc_coreinit(wlc_info_t *wlc);
|
||||
static void wlc_coreinit(struct wlc_info *wlc);
|
||||
|
||||
/* used by wlc_wakeucode_init() */
|
||||
static void wlc_write_inits(wlc_hw_info_t *wlc_hw, const d11init_t *inits);
|
||||
@ -130,7 +130,7 @@ static bool wlc_bmac_txstatus(wlc_hw_info_t *wlc, bool bound, bool *fatal);
|
||||
static bool wlc_bmac_recv(wlc_hw_info_t *wlc_hw, uint fifo, bool bound);
|
||||
|
||||
/* used by wlc_down() */
|
||||
static void wlc_flushqueues(wlc_info_t *wlc);
|
||||
static void wlc_flushqueues(struct wlc_info *wlc);
|
||||
|
||||
static void wlc_write_mhf(wlc_hw_info_t *wlc_hw, u16 *mhfs);
|
||||
static void wlc_mctrl_reset(wlc_hw_info_t *wlc_hw);
|
||||
@ -141,25 +141,25 @@ static u16 wlc_bmac_read_objmem(wlc_hw_info_t *wlc_hw, uint offset,
|
||||
u32 sel);
|
||||
static void wlc_bmac_write_objmem(wlc_hw_info_t *wlc_hw, uint offset, u16 v,
|
||||
u32 sel);
|
||||
static bool wlc_bmac_attach_dmapio(wlc_info_t *wlc, uint j, bool wme);
|
||||
static bool wlc_bmac_attach_dmapio(struct wlc_info *wlc, uint j, bool wme);
|
||||
static void wlc_bmac_detach_dmapio(wlc_hw_info_t *wlc_hw);
|
||||
static void wlc_ucode_bsinit(wlc_hw_info_t *wlc_hw);
|
||||
static bool wlc_validboardtype(wlc_hw_info_t *wlc);
|
||||
static bool wlc_isgoodchip(wlc_hw_info_t *wlc_hw);
|
||||
static char *wlc_get_macaddr(wlc_hw_info_t *wlc_hw);
|
||||
static void wlc_mhfdef(wlc_info_t *wlc, u16 *mhfs, u16 mhf2_init);
|
||||
static void wlc_mhfdef(struct wlc_info *wlc, u16 *mhfs, u16 mhf2_init);
|
||||
static void wlc_mctrl_write(wlc_hw_info_t *wlc_hw);
|
||||
static void wlc_ucode_mute_override_set(wlc_hw_info_t *wlc_hw);
|
||||
static void wlc_ucode_mute_override_clear(wlc_hw_info_t *wlc_hw);
|
||||
static u32 wlc_wlintrsoff(wlc_info_t *wlc);
|
||||
static void wlc_wlintrsrestore(wlc_info_t *wlc, u32 macintmask);
|
||||
static void wlc_gpio_init(wlc_info_t *wlc);
|
||||
static u32 wlc_wlintrsoff(struct wlc_info *wlc);
|
||||
static void wlc_wlintrsrestore(struct wlc_info *wlc, u32 macintmask);
|
||||
static void wlc_gpio_init(struct wlc_info *wlc);
|
||||
static void wlc_write_hw_bcntemplate0(wlc_hw_info_t *wlc_hw, void *bcn,
|
||||
int len);
|
||||
static void wlc_write_hw_bcntemplate1(wlc_hw_info_t *wlc_hw, void *bcn,
|
||||
int len);
|
||||
static void wlc_bmac_bsinit(wlc_info_t *wlc, chanspec_t chanspec);
|
||||
static u32 wlc_setband_inact(wlc_info_t *wlc, uint bandunit);
|
||||
static void wlc_bmac_bsinit(struct wlc_info *wlc, chanspec_t chanspec);
|
||||
static u32 wlc_setband_inact(struct wlc_info *wlc, uint bandunit);
|
||||
static void wlc_bmac_setband(wlc_hw_info_t *wlc_hw, uint bandunit,
|
||||
chanspec_t chanspec);
|
||||
static void wlc_bmac_update_slot_timing(wlc_hw_info_t *wlc_hw, bool shortslot);
|
||||
@ -231,7 +231,7 @@ static void WLBANDINITFN(wlc_ucode_bsinit) (wlc_hw_info_t *wlc_hw)
|
||||
}
|
||||
|
||||
/* switch to new band but leave it inactive */
|
||||
static u32 WLBANDINITFN(wlc_setband_inact) (wlc_info_t *wlc, uint bandunit)
|
||||
static u32 WLBANDINITFN(wlc_setband_inact) (struct wlc_info *wlc, uint bandunit)
|
||||
{
|
||||
wlc_hw_info_t *wlc_hw = wlc->hw;
|
||||
u32 macintmask;
|
||||
@ -322,7 +322,7 @@ wlc_bmac_recv(wlc_hw_info_t *wlc_hw, uint fifo, bool bound)
|
||||
* Return true if another dpc needs to be re-scheduled. false otherwise.
|
||||
* Param 'bounded' indicates if applicable loops should be bounded.
|
||||
*/
|
||||
bool BCMFASTPATH wlc_dpc(wlc_info_t *wlc, bool bounded)
|
||||
bool BCMFASTPATH wlc_dpc(struct wlc_info *wlc, bool bounded)
|
||||
{
|
||||
u32 macintstatus;
|
||||
wlc_hw_info_t *wlc_hw = wlc->hw;
|
||||
@ -451,7 +451,7 @@ bool BCMFASTPATH wlc_dpc(wlc_info_t *wlc, bool bounded)
|
||||
/* common low-level watchdog code */
|
||||
void wlc_bmac_watchdog(void *arg)
|
||||
{
|
||||
wlc_info_t *wlc = (wlc_info_t *) arg;
|
||||
struct wlc_info *wlc = (struct wlc_info *) arg;
|
||||
wlc_hw_info_t *wlc_hw = wlc->hw;
|
||||
|
||||
WL_TRACE(("wl%d: wlc_bmac_watchdog\n", wlc_hw->unit));
|
||||
@ -564,7 +564,7 @@ int wlc_bmac_state_get(wlc_hw_info_t *wlc_hw, wlc_bmac_state_t *state)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static bool wlc_bmac_attach_dmapio(wlc_info_t *wlc, uint j, bool wme)
|
||||
static bool wlc_bmac_attach_dmapio(struct wlc_info *wlc, uint j, bool wme)
|
||||
{
|
||||
uint i;
|
||||
char name[8];
|
||||
@ -700,7 +700,7 @@ static void wlc_bmac_detach_dmapio(wlc_hw_info_t *wlc_hw)
|
||||
* initialize software state for each core and band
|
||||
* put the whole chip in reset(driver down state), no clock
|
||||
*/
|
||||
int wlc_bmac_attach(wlc_info_t *wlc, u16 vendor, u16 device, uint unit,
|
||||
int wlc_bmac_attach(struct wlc_info *wlc, u16 vendor, u16 device, uint unit,
|
||||
bool piomode, struct osl_info *osh, void *regsva,
|
||||
uint bustype, void *btparam)
|
||||
{
|
||||
@ -1045,7 +1045,7 @@ int wlc_bmac_attach(wlc_info_t *wlc, u16 vendor, u16 device, uint unit,
|
||||
*/
|
||||
void wlc_bmac_info_init(wlc_hw_info_t *wlc_hw)
|
||||
{
|
||||
wlc_info_t *wlc = wlc_hw->wlc;
|
||||
struct wlc_info *wlc = wlc_hw->wlc;
|
||||
|
||||
/* set default sw macintmask value */
|
||||
wlc->defmacintmask = DEF_MACINTMASK;
|
||||
@ -1065,7 +1065,7 @@ void wlc_bmac_info_init(wlc_hw_info_t *wlc_hw)
|
||||
/*
|
||||
* low level detach
|
||||
*/
|
||||
int wlc_bmac_detach(wlc_info_t *wlc)
|
||||
int wlc_bmac_detach(struct wlc_info *wlc)
|
||||
{
|
||||
uint i;
|
||||
wlc_hwband_t *band;
|
||||
@ -1137,7 +1137,7 @@ wlc_bmac_init(wlc_hw_info_t *wlc_hw, chanspec_t chanspec,
|
||||
bool mute) {
|
||||
u32 macintmask;
|
||||
bool fastclk;
|
||||
wlc_info_t *wlc = wlc_hw->wlc;
|
||||
struct wlc_info *wlc = wlc_hw->wlc;
|
||||
|
||||
WL_TRACE(("wl%d: wlc_bmac_init\n", wlc_hw->unit));
|
||||
|
||||
@ -1349,7 +1349,7 @@ int wlc_bmac_bandtype(wlc_hw_info_t *wlc_hw)
|
||||
return wlc_hw->band->bandtype;
|
||||
}
|
||||
|
||||
void *wlc_cur_phy(wlc_info_t *wlc)
|
||||
void *wlc_cur_phy(struct wlc_info *wlc)
|
||||
{
|
||||
wlc_hw_info_t *wlc_hw = wlc->hw;
|
||||
return (void *)wlc_hw->band->pi;
|
||||
@ -1453,7 +1453,7 @@ static void wlc_clkctl_clk(wlc_hw_info_t *wlc_hw, uint mode)
|
||||
|
||||
/* set initial host flags value */
|
||||
static void
|
||||
wlc_mhfdef(wlc_info_t *wlc, u16 *mhfs, u16 mhf2_init)
|
||||
wlc_mhfdef(struct wlc_info *wlc, u16 *mhfs, u16 mhf2_init)
|
||||
{
|
||||
wlc_hw_info_t *wlc_hw = wlc->hw;
|
||||
|
||||
@ -1912,7 +1912,7 @@ wlc_bmac_write_hw_bcntemplates(wlc_hw_info_t *wlc_hw, void *bcn, int len,
|
||||
static void WLBANDINITFN(wlc_bmac_upd_synthpu) (wlc_hw_info_t *wlc_hw)
|
||||
{
|
||||
u16 v;
|
||||
wlc_info_t *wlc = wlc_hw->wlc;
|
||||
struct wlc_info *wlc = wlc_hw->wlc;
|
||||
/* update SYNTHPU_DLY */
|
||||
|
||||
if (WLCISLCNPHY(wlc->band)) {
|
||||
@ -1928,7 +1928,7 @@ static void WLBANDINITFN(wlc_bmac_upd_synthpu) (wlc_hw_info_t *wlc_hw)
|
||||
|
||||
/* band-specific init */
|
||||
static void
|
||||
WLBANDINITFN(wlc_bmac_bsinit) (wlc_info_t *wlc, chanspec_t chanspec)
|
||||
WLBANDINITFN(wlc_bmac_bsinit) (struct wlc_info *wlc, chanspec_t chanspec)
|
||||
{
|
||||
wlc_hw_info_t *wlc_hw = wlc->hw;
|
||||
|
||||
@ -2080,7 +2080,7 @@ void wlc_bmac_phy_reset(wlc_hw_info_t *wlc_hw)
|
||||
static void
|
||||
WLBANDINITFN(wlc_bmac_setband) (wlc_hw_info_t *wlc_hw, uint bandunit,
|
||||
chanspec_t chanspec) {
|
||||
wlc_info_t *wlc = wlc_hw->wlc;
|
||||
struct wlc_info *wlc = wlc_hw->wlc;
|
||||
u32 macintmask;
|
||||
|
||||
ASSERT(NBANDS_HW(wlc_hw) > 1);
|
||||
@ -2471,7 +2471,7 @@ static void wlc_corerev_fifofixup(wlc_hw_info_t *wlc_hw)
|
||||
* config other core registers
|
||||
* init dma
|
||||
*/
|
||||
static void wlc_coreinit(wlc_info_t *wlc)
|
||||
static void wlc_coreinit(struct wlc_info *wlc)
|
||||
{
|
||||
wlc_hw_info_t *wlc_hw = wlc->hw;
|
||||
d11regs_t *regs;
|
||||
@ -2713,7 +2713,7 @@ void wlc_bmac_switch_macfreq(wlc_hw_info_t *wlc_hw, u8 spurmode)
|
||||
}
|
||||
|
||||
/* Initialize GPIOs that are controlled by D11 core */
|
||||
static void wlc_gpio_init(wlc_info_t *wlc)
|
||||
static void wlc_gpio_init(struct wlc_info *wlc)
|
||||
{
|
||||
wlc_hw_info_t *wlc_hw = wlc->hw;
|
||||
d11regs_t *regs;
|
||||
@ -2780,7 +2780,7 @@ static void wlc_gpio_init(wlc_info_t *wlc)
|
||||
|
||||
static void wlc_ucode_download(wlc_hw_info_t *wlc_hw)
|
||||
{
|
||||
wlc_info_t *wlc;
|
||||
struct wlc_info *wlc;
|
||||
wlc = wlc_hw->wlc;
|
||||
|
||||
if (wlc_hw->ucode_loaded)
|
||||
@ -2960,7 +2960,7 @@ void wlc_bmac_fifoerrors(wlc_hw_info_t *wlc_hw)
|
||||
}
|
||||
}
|
||||
|
||||
void wlc_intrson(wlc_info_t *wlc)
|
||||
void wlc_intrson(struct wlc_info *wlc)
|
||||
{
|
||||
wlc_hw_info_t *wlc_hw = wlc->hw;
|
||||
ASSERT(wlc->defmacintmask);
|
||||
@ -2973,7 +2973,7 @@ void wlc_intrson(wlc_info_t *wlc)
|
||||
* but also because per-port code may require sync with valid interrupt.
|
||||
*/
|
||||
|
||||
static u32 wlc_wlintrsoff(wlc_info_t *wlc)
|
||||
static u32 wlc_wlintrsoff(struct wlc_info *wlc)
|
||||
{
|
||||
if (!wlc->hw->up)
|
||||
return 0;
|
||||
@ -2981,7 +2981,7 @@ static u32 wlc_wlintrsoff(wlc_info_t *wlc)
|
||||
return wl_intrsoff(wlc->wl);
|
||||
}
|
||||
|
||||
static void wlc_wlintrsrestore(wlc_info_t *wlc, u32 macintmask)
|
||||
static void wlc_wlintrsrestore(struct wlc_info *wlc, u32 macintmask)
|
||||
{
|
||||
if (!wlc->hw->up)
|
||||
return;
|
||||
@ -2989,7 +2989,7 @@ static void wlc_wlintrsrestore(wlc_info_t *wlc, u32 macintmask)
|
||||
wl_intrsrestore(wlc->wl, macintmask);
|
||||
}
|
||||
|
||||
u32 wlc_intrsoff(wlc_info_t *wlc)
|
||||
u32 wlc_intrsoff(struct wlc_info *wlc)
|
||||
{
|
||||
wlc_hw_info_t *wlc_hw = wlc->hw;
|
||||
u32 macintmask;
|
||||
@ -3008,7 +3008,7 @@ u32 wlc_intrsoff(wlc_info_t *wlc)
|
||||
return wlc->macintstatus ? 0 : macintmask;
|
||||
}
|
||||
|
||||
void wlc_intrsrestore(wlc_info_t *wlc, u32 macintmask)
|
||||
void wlc_intrsrestore(struct wlc_info *wlc, u32 macintmask)
|
||||
{
|
||||
wlc_hw_info_t *wlc_hw = wlc->hw;
|
||||
if (!wlc_hw->clk)
|
||||
@ -3167,7 +3167,7 @@ void wlc_bmac_tx_fifo_resume(wlc_hw_info_t *wlc_hw, uint tx_fifo)
|
||||
* 0 if the interrupt is not for us, or we are in some special cases;
|
||||
* device interrupt status bits otherwise.
|
||||
*/
|
||||
static inline u32 wlc_intstatus(wlc_info_t *wlc, bool in_isr)
|
||||
static inline u32 wlc_intstatus(struct wlc_info *wlc, bool in_isr)
|
||||
{
|
||||
wlc_hw_info_t *wlc_hw = wlc->hw;
|
||||
d11regs_t *regs = wlc_hw->regs;
|
||||
@ -3257,7 +3257,7 @@ static inline u32 wlc_intstatus(wlc_info_t *wlc, bool in_isr)
|
||||
|
||||
/* Update wlc->macintstatus and wlc->intstatus[]. */
|
||||
/* Return true if they are updated successfully. false otherwise */
|
||||
bool wlc_intrsupd(wlc_info_t *wlc)
|
||||
bool wlc_intrsupd(struct wlc_info *wlc)
|
||||
{
|
||||
u32 macintstatus;
|
||||
|
||||
@ -3282,7 +3282,7 @@ bool wlc_intrsupd(wlc_info_t *wlc)
|
||||
* *wantdpc will be set to true if further wlc_dpc() processing is required,
|
||||
* false otherwise.
|
||||
*/
|
||||
bool BCMFASTPATH wlc_isr(wlc_info_t *wlc, bool *wantdpc)
|
||||
bool BCMFASTPATH wlc_isr(struct wlc_info *wlc, bool *wantdpc)
|
||||
{
|
||||
wlc_hw_info_t *wlc_hw = wlc->hw;
|
||||
u32 macintstatus;
|
||||
@ -3371,7 +3371,7 @@ static bool BCMFASTPATH
|
||||
wlc_bmac_txstatus(wlc_hw_info_t *wlc_hw, bool bound, bool *fatal)
|
||||
{
|
||||
bool morepending = false;
|
||||
wlc_info_t *wlc = wlc_hw->wlc;
|
||||
struct wlc_info *wlc = wlc_hw->wlc;
|
||||
|
||||
WL_TRACE(("wl%d: wlc_bmac_txstatus\n", wlc_hw->unit));
|
||||
|
||||
@ -3432,7 +3432,7 @@ wlc_bmac_txstatus(wlc_hw_info_t *wlc_hw, bool bound, bool *fatal)
|
||||
return morepending;
|
||||
}
|
||||
|
||||
void wlc_suspend_mac_and_wait(wlc_info_t *wlc)
|
||||
void wlc_suspend_mac_and_wait(struct wlc_info *wlc)
|
||||
{
|
||||
wlc_hw_info_t *wlc_hw = wlc->hw;
|
||||
d11regs_t *regs = wlc_hw->regs;
|
||||
@ -3496,7 +3496,7 @@ void wlc_suspend_mac_and_wait(wlc_info_t *wlc)
|
||||
ASSERT(!(mc & MCTL_EN_MAC));
|
||||
}
|
||||
|
||||
void wlc_enable_mac(wlc_info_t *wlc)
|
||||
void wlc_enable_mac(struct wlc_info *wlc)
|
||||
{
|
||||
wlc_hw_info_t *wlc_hw = wlc->hw;
|
||||
d11regs_t *regs = wlc_hw->regs;
|
||||
@ -3872,7 +3872,7 @@ void wlc_bmac_xtal(wlc_hw_info_t *wlc_hw, bool want)
|
||||
}
|
||||
}
|
||||
|
||||
static void wlc_flushqueues(wlc_info_t *wlc)
|
||||
static void wlc_flushqueues(struct wlc_info *wlc)
|
||||
{
|
||||
wlc_hw_info_t *wlc_hw = wlc->hw;
|
||||
uint i;
|
||||
|
@ -57,7 +57,7 @@ typedef struct wlc_bmac_revinfo {
|
||||
} band[MAXBANDS];
|
||||
} wlc_bmac_revinfo_t;
|
||||
|
||||
/* dup state between BMAC(wlc_hw_info_t) and HIGH(wlc_info_t) driver */
|
||||
/* dup state between BMAC(wlc_hw_info_t) and HIGH(struct wlc_info) driver */
|
||||
typedef struct wlc_bmac_state {
|
||||
u32 machwcap; /* mac hw capibility */
|
||||
u32 preamble_ovr; /* preamble override */
|
||||
@ -130,10 +130,10 @@ typedef enum {
|
||||
WLCHW_STATE_LAST
|
||||
} wlc_bmac_state_id_t;
|
||||
|
||||
extern int wlc_bmac_attach(wlc_info_t *wlc, u16 vendor, u16 device,
|
||||
extern int wlc_bmac_attach(struct wlc_info *wlc, u16 vendor, u16 device,
|
||||
uint unit, bool piomode, struct osl_info *osh,
|
||||
void *regsva, uint bustype, void *btparam);
|
||||
extern int wlc_bmac_detach(wlc_info_t *wlc);
|
||||
extern int wlc_bmac_detach(struct wlc_info *wlc);
|
||||
extern void wlc_bmac_watchdog(void *arg);
|
||||
extern void wlc_bmac_info_init(wlc_hw_info_t *wlc_hw);
|
||||
|
||||
|
@ -34,7 +34,8 @@ typedef struct wlc_bsscfg wlc_bsscfg_t;
|
||||
#define MAXMACLIST 64 /* max # source MAC matches */
|
||||
#define BCN_TEMPLATE_COUNT 2
|
||||
|
||||
/* Iterator for "associated" STA bss configs: (wlc_info_t *wlc, int idx, wlc_bsscfg_t *cfg) */
|
||||
/* Iterator for "associated" STA bss configs:
|
||||
(struct wlc_info *wlc, int idx, wlc_bsscfg_t *cfg) */
|
||||
#define FOREACH_AS_STA(wlc, idx, cfg) \
|
||||
for (idx = 0; (int) idx < WLC_MAXBSSCFG; idx++) \
|
||||
if ((cfg = (wlc)->bsscfg[idx]) && BSSCFG_STA(cfg) && cfg->associated)
|
||||
|
@ -45,7 +45,7 @@ typedef struct wlc_cm_band {
|
||||
|
||||
struct wlc_cm_info {
|
||||
wlc_pub_t *pub;
|
||||
wlc_info_t *wlc;
|
||||
struct wlc_info *wlc;
|
||||
char srom_ccode[WLC_CNTRY_BUF_SZ]; /* Country Code in SROM */
|
||||
uint srom_regrev; /* Regulatory Rev for the SROM ccode */
|
||||
const country_info_t *country; /* current country def */
|
||||
@ -606,7 +606,7 @@ const locale_mimo_info_t *wlc_get_mimo_5g(u8 locale_idx)
|
||||
return g_mimo_5g_table[locale_idx];
|
||||
}
|
||||
|
||||
wlc_cm_info_t *wlc_channel_mgr_attach(wlc_info_t *wlc)
|
||||
wlc_cm_info_t *wlc_channel_mgr_attach(struct wlc_info *wlc)
|
||||
{
|
||||
wlc_cm_info_t *wlc_cm;
|
||||
char country_abbrev[WLC_CNTRY_BUF_SZ];
|
||||
@ -664,7 +664,7 @@ const char *wlc_channel_country_abbrev(wlc_cm_info_t *wlc_cm)
|
||||
|
||||
u8 wlc_channel_locale_flags(wlc_cm_info_t *wlc_cm)
|
||||
{
|
||||
wlc_info_t *wlc = wlc_cm->wlc;
|
||||
struct wlc_info *wlc = wlc_cm->wlc;
|
||||
|
||||
return wlc_cm->bandstate[wlc->band->bandunit].locale_flags;
|
||||
}
|
||||
@ -755,7 +755,7 @@ wlc_set_country_common(wlc_cm_info_t *wlc_cm,
|
||||
{
|
||||
const locale_mimo_info_t *li_mimo;
|
||||
const locale_info_t *locale;
|
||||
wlc_info_t *wlc = wlc_cm->wlc;
|
||||
struct wlc_info *wlc = wlc_cm->wlc;
|
||||
char prev_country_abbrev[WLC_CNTRY_BUF_SZ];
|
||||
|
||||
ASSERT(country != NULL);
|
||||
@ -819,7 +819,7 @@ static const country_info_t *wlc_countrycode_map(wlc_cm_info_t *wlc_cm,
|
||||
char *mapped_ccode,
|
||||
uint *mapped_regrev)
|
||||
{
|
||||
wlc_info_t *wlc = wlc_cm->wlc;
|
||||
struct wlc_info *wlc = wlc_cm->wlc;
|
||||
const country_info_t *country;
|
||||
uint srom_regrev = wlc_cm->srom_regrev;
|
||||
const char *srom_ccode = wlc_cm->srom_ccode;
|
||||
@ -903,7 +903,7 @@ static const country_info_t *wlc_country_lookup_direct(const char *ccode,
|
||||
static int
|
||||
wlc_channels_init(wlc_cm_info_t *wlc_cm, const country_info_t *country)
|
||||
{
|
||||
wlc_info_t *wlc = wlc_cm->wlc;
|
||||
struct wlc_info *wlc = wlc_cm->wlc;
|
||||
uint i, j;
|
||||
wlcband_t *band;
|
||||
const locale_info_t *li;
|
||||
@ -957,7 +957,7 @@ wlc_channels_init(wlc_cm_info_t *wlc_cm, const country_info_t *country)
|
||||
*/
|
||||
static void wlc_channels_commit(wlc_cm_info_t *wlc_cm)
|
||||
{
|
||||
wlc_info_t *wlc = wlc_cm->wlc;
|
||||
struct wlc_info *wlc = wlc_cm->wlc;
|
||||
uint chan;
|
||||
struct txpwr_limits txpwr;
|
||||
|
||||
@ -1003,7 +1003,7 @@ static void wlc_channels_commit(wlc_cm_info_t *wlc_cm)
|
||||
/* reset the quiet channels vector to the union of the restricted and radar channel sets */
|
||||
void wlc_quiet_channels_reset(wlc_cm_info_t *wlc_cm)
|
||||
{
|
||||
wlc_info_t *wlc = wlc_cm->wlc;
|
||||
struct wlc_info *wlc = wlc_cm->wlc;
|
||||
uint i, j;
|
||||
wlcband_t *band;
|
||||
const chanvec_t *chanvec;
|
||||
@ -1041,7 +1041,7 @@ bool wlc_quiet_chanspec(wlc_cm_info_t *wlc_cm, chanspec_t chspec)
|
||||
*/
|
||||
bool wlc_valid_channel20_db(wlc_cm_info_t *wlc_cm, uint val)
|
||||
{
|
||||
wlc_info_t *wlc = wlc_cm->wlc;
|
||||
struct wlc_info *wlc = wlc_cm->wlc;
|
||||
|
||||
return VALID_CHANNEL20(wlc, val) ||
|
||||
(!wlc->bandlocked
|
||||
@ -1059,7 +1059,7 @@ wlc_valid_channel20_in_band(wlc_cm_info_t *wlc_cm, uint bandunit, uint val)
|
||||
/* Is the channel valid for the current locale and current band? */
|
||||
bool wlc_valid_channel20(wlc_cm_info_t *wlc_cm, uint val)
|
||||
{
|
||||
wlc_info_t *wlc = wlc_cm->wlc;
|
||||
struct wlc_info *wlc = wlc_cm->wlc;
|
||||
|
||||
return ((val < MAXCHANNEL) &&
|
||||
isset(wlc_cm->bandstate[wlc->band->bandunit].valid_channels.vec,
|
||||
@ -1069,7 +1069,7 @@ bool wlc_valid_channel20(wlc_cm_info_t *wlc_cm, uint val)
|
||||
/* Is the 40 MHz allowed for the current locale and specified band? */
|
||||
bool wlc_valid_40chanspec_in_band(wlc_cm_info_t *wlc_cm, uint bandunit)
|
||||
{
|
||||
wlc_info_t *wlc = wlc_cm->wlc;
|
||||
struct wlc_info *wlc = wlc_cm->wlc;
|
||||
|
||||
return (((wlc_cm->bandstate[bandunit].
|
||||
locale_flags & (WLC_NO_MIMO | WLC_NO_40MHZ)) == 0)
|
||||
@ -1167,7 +1167,7 @@ void
|
||||
wlc_channel_set_chanspec(wlc_cm_info_t *wlc_cm, chanspec_t chanspec,
|
||||
u8 local_constraint_qdbm)
|
||||
{
|
||||
wlc_info_t *wlc = wlc_cm->wlc;
|
||||
struct wlc_info *wlc = wlc_cm->wlc;
|
||||
struct txpwr_limits txpwr;
|
||||
|
||||
wlc_channel_reg_limits(wlc_cm, chanspec, &txpwr);
|
||||
@ -1184,7 +1184,7 @@ int
|
||||
wlc_channel_set_txpower_limit(wlc_cm_info_t *wlc_cm,
|
||||
u8 local_constraint_qdbm)
|
||||
{
|
||||
wlc_info_t *wlc = wlc_cm->wlc;
|
||||
struct wlc_info *wlc = wlc_cm->wlc;
|
||||
struct txpwr_limits txpwr;
|
||||
|
||||
wlc_channel_reg_limits(wlc_cm, wlc->chanspec, &txpwr);
|
||||
@ -1304,7 +1304,7 @@ void
|
||||
wlc_channel_reg_limits(wlc_cm_info_t *wlc_cm, chanspec_t chanspec,
|
||||
txpwr_limits_t *txpwr)
|
||||
{
|
||||
wlc_info_t *wlc = wlc_cm->wlc;
|
||||
struct wlc_info *wlc = wlc_cm->wlc;
|
||||
uint i;
|
||||
uint chan;
|
||||
int maxpwr;
|
||||
@ -1533,7 +1533,7 @@ static bool wlc_japan_ccode(const char *ccode)
|
||||
static bool
|
||||
wlc_valid_chanspec_ext(wlc_cm_info_t *wlc_cm, chanspec_t chspec, bool dualband)
|
||||
{
|
||||
wlc_info_t *wlc = wlc_cm->wlc;
|
||||
struct wlc_info *wlc = wlc_cm->wlc;
|
||||
u8 channel = CHSPEC_CHANNEL(chspec);
|
||||
|
||||
/* check the chanspec */
|
||||
|
@ -38,7 +38,7 @@ extern int wlc_eventq_query_ind(wlc_eventq_t *eq, void *bitvect);
|
||||
extern int wlc_eventq_test_ind(wlc_eventq_t *eq, int et);
|
||||
extern int wlc_eventq_set_ind(wlc_eventq_t *eq, uint et, bool on);
|
||||
extern void wlc_eventq_flush(wlc_eventq_t *eq);
|
||||
extern void wlc_assign_event_msg(wlc_info_t *wlc, wl_event_msg_t *msg,
|
||||
extern void wlc_assign_event_msg(struct wlc_info *wlc, wl_event_msg_t *msg,
|
||||
const wlc_event_t *e, u8 *data,
|
||||
u32 len);
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -350,7 +350,7 @@ typedef struct wlcband {
|
||||
typedef void (*cb_fn_t) (void *);
|
||||
|
||||
/* tx completion callback takes 3 args */
|
||||
typedef void (*pkcb_fn_t) (wlc_info_t *wlc, uint txstatus, void *arg);
|
||||
typedef void (*pkcb_fn_t) (struct wlc_info *wlc, uint txstatus, void *arg);
|
||||
|
||||
typedef struct pkt_cb {
|
||||
pkcb_fn_t fn; /* function to call when tx frame completes */
|
||||
@ -421,7 +421,7 @@ typedef struct wlc_hwband {
|
||||
struct wlc_hw_info {
|
||||
struct osl_info *osh; /* pointer to os handle */
|
||||
bool _piomode; /* true if pio mode */
|
||||
wlc_info_t *wlc;
|
||||
struct wlc_info *wlc;
|
||||
|
||||
/* fifo */
|
||||
hnddma_t *di[NFIFO]; /* hnddma handles, per fifo */
|
||||
@ -782,7 +782,7 @@ struct wlc_info {
|
||||
|
||||
/* antsel module specific state */
|
||||
struct antsel_info {
|
||||
wlc_info_t *wlc; /* pointer to main wlc structure */
|
||||
struct wlc_info *wlc; /* pointer to main wlc structure */
|
||||
wlc_pub_t *pub; /* pointer to public fn */
|
||||
u8 antsel_type; /* Type of boardlevel mimo antenna switch-logic
|
||||
* 0 = N/A, 1 = 2x4 board, 2 = 2x3 CB2 board
|
||||
@ -815,44 +815,45 @@ struct antsel_info {
|
||||
#define WLC_IS_MATCH_SSID(wlc, ssid1, ssid2, len1, len2) \
|
||||
((len1 == len2) && !memcmp(ssid1, ssid2, len1))
|
||||
|
||||
extern void wlc_high_dpc(wlc_info_t *wlc, u32 macintstatus);
|
||||
extern void wlc_fatal_error(wlc_info_t *wlc);
|
||||
extern void wlc_bmac_rpc_watchdog(wlc_info_t *wlc);
|
||||
extern void wlc_recv(wlc_info_t *wlc, struct sk_buff *p);
|
||||
extern bool wlc_dotxstatus(wlc_info_t *wlc, tx_status_t *txs, u32 frm_tx2);
|
||||
extern void wlc_txfifo(wlc_info_t *wlc, uint fifo, struct sk_buff *p,
|
||||
extern void wlc_high_dpc(struct wlc_info *wlc, u32 macintstatus);
|
||||
extern void wlc_fatal_error(struct wlc_info *wlc);
|
||||
extern void wlc_bmac_rpc_watchdog(struct wlc_info *wlc);
|
||||
extern void wlc_recv(struct wlc_info *wlc, struct sk_buff *p);
|
||||
extern bool wlc_dotxstatus(struct wlc_info *wlc, tx_status_t *txs, u32 frm_tx2);
|
||||
extern void wlc_txfifo(struct wlc_info *wlc, uint fifo, struct sk_buff *p,
|
||||
bool commit, s8 txpktpend);
|
||||
extern void wlc_txfifo_complete(wlc_info_t *wlc, uint fifo, s8 txpktpend);
|
||||
extern void wlc_txfifo_complete(struct wlc_info *wlc, uint fifo, s8 txpktpend);
|
||||
extern void wlc_txq_enq(void *ctx, struct scb *scb, struct sk_buff *sdu,
|
||||
uint prec);
|
||||
extern void wlc_info_init(wlc_info_t *wlc, int unit);
|
||||
extern void wlc_info_init(struct wlc_info *wlc, int unit);
|
||||
extern void wlc_print_txstatus(tx_status_t *txs);
|
||||
extern int wlc_xmtfifo_sz_get(wlc_info_t *wlc, uint fifo, uint *blocks);
|
||||
extern void wlc_write_template_ram(wlc_info_t *wlc, int offset, int len,
|
||||
extern int wlc_xmtfifo_sz_get(struct wlc_info *wlc, uint fifo, uint *blocks);
|
||||
extern void wlc_write_template_ram(struct wlc_info *wlc, int offset, int len,
|
||||
void *buf);
|
||||
extern void wlc_write_hw_bcntemplates(wlc_info_t *wlc, void *bcn, int len,
|
||||
extern void wlc_write_hw_bcntemplates(struct wlc_info *wlc, void *bcn, int len,
|
||||
bool both);
|
||||
#if defined(BCMDBG)
|
||||
extern void wlc_get_rcmta(wlc_info_t *wlc, int idx, struct ether_addr *addr);
|
||||
extern void wlc_get_rcmta(struct wlc_info *wlc, int idx,
|
||||
struct ether_addr *addr);
|
||||
#endif
|
||||
extern void wlc_set_rcmta(wlc_info_t *wlc, int idx,
|
||||
extern void wlc_set_rcmta(struct wlc_info *wlc, int idx,
|
||||
const struct ether_addr *addr);
|
||||
extern void wlc_set_addrmatch(wlc_info_t *wlc, int match_reg_offset,
|
||||
extern void wlc_set_addrmatch(struct wlc_info *wlc, int match_reg_offset,
|
||||
const struct ether_addr *addr);
|
||||
extern void wlc_read_tsf(wlc_info_t *wlc, u32 *tsf_l_ptr,
|
||||
extern void wlc_read_tsf(struct wlc_info *wlc, u32 *tsf_l_ptr,
|
||||
u32 *tsf_h_ptr);
|
||||
extern void wlc_set_cwmin(wlc_info_t *wlc, u16 newmin);
|
||||
extern void wlc_set_cwmax(wlc_info_t *wlc, u16 newmax);
|
||||
extern void wlc_fifoerrors(wlc_info_t *wlc);
|
||||
extern void wlc_pllreq(wlc_info_t *wlc, bool set, mbool req_bit);
|
||||
extern void wlc_reset_bmac_done(wlc_info_t *wlc);
|
||||
extern void wlc_protection_upd(wlc_info_t *wlc, uint idx, int val);
|
||||
extern void wlc_hwtimer_gptimer_set(wlc_info_t *wlc, uint us);
|
||||
extern void wlc_hwtimer_gptimer_abort(wlc_info_t *wlc);
|
||||
extern void wlc_set_cwmin(struct wlc_info *wlc, u16 newmin);
|
||||
extern void wlc_set_cwmax(struct wlc_info *wlc, u16 newmax);
|
||||
extern void wlc_fifoerrors(struct wlc_info *wlc);
|
||||
extern void wlc_pllreq(struct wlc_info *wlc, bool set, mbool req_bit);
|
||||
extern void wlc_reset_bmac_done(struct wlc_info *wlc);
|
||||
extern void wlc_protection_upd(struct wlc_info *wlc, uint idx, int val);
|
||||
extern void wlc_hwtimer_gptimer_set(struct wlc_info *wlc, uint us);
|
||||
extern void wlc_hwtimer_gptimer_abort(struct wlc_info *wlc);
|
||||
|
||||
#if defined(BCMDBG)
|
||||
extern void wlc_print_rxh(d11rxhdr_t *rxh);
|
||||
extern void wlc_print_hdrs(wlc_info_t *wlc, const char *prefix, u8 *frame,
|
||||
extern void wlc_print_hdrs(struct wlc_info *wlc, const char *prefix, u8 *frame,
|
||||
d11txh_t *txh, d11rxhdr_t *rxh, uint len);
|
||||
extern void wlc_print_txdesc(d11txh_t *txh);
|
||||
#endif
|
||||
@ -863,79 +864,83 @@ extern void wlc_print_dot11_mac_hdr(u8 *buf, int len);
|
||||
extern void wlc_setxband(wlc_hw_info_t *wlc_hw, uint bandunit);
|
||||
extern void wlc_coredisable(wlc_hw_info_t *wlc_hw);
|
||||
|
||||
extern bool wlc_valid_rate(wlc_info_t *wlc, ratespec_t rate, int band,
|
||||
extern bool wlc_valid_rate(struct wlc_info *wlc, ratespec_t rate, int band,
|
||||
bool verbose);
|
||||
extern void wlc_ap_upd(wlc_info_t *wlc);
|
||||
extern void wlc_ap_upd(struct wlc_info *wlc);
|
||||
|
||||
/* helper functions */
|
||||
extern void wlc_shm_ssid_upd(wlc_info_t *wlc, wlc_bsscfg_t *cfg);
|
||||
extern int wlc_set_gmode(wlc_info_t *wlc, u8 gmode, bool config);
|
||||
extern void wlc_shm_ssid_upd(struct wlc_info *wlc, wlc_bsscfg_t *cfg);
|
||||
extern int wlc_set_gmode(struct wlc_info *wlc, u8 gmode, bool config);
|
||||
|
||||
extern void wlc_mac_bcn_promisc_change(wlc_info_t *wlc, bool promisc);
|
||||
extern void wlc_mac_bcn_promisc(wlc_info_t *wlc);
|
||||
extern void wlc_mac_promisc(wlc_info_t *wlc);
|
||||
extern void wlc_txflowcontrol(wlc_info_t *wlc, wlc_txq_info_t *qi, bool on,
|
||||
extern void wlc_mac_bcn_promisc_change(struct wlc_info *wlc, bool promisc);
|
||||
extern void wlc_mac_bcn_promisc(struct wlc_info *wlc);
|
||||
extern void wlc_mac_promisc(struct wlc_info *wlc);
|
||||
extern void wlc_txflowcontrol(struct wlc_info *wlc, wlc_txq_info_t *qi, bool on,
|
||||
int prio);
|
||||
extern void wlc_txflowcontrol_override(wlc_info_t *wlc, wlc_txq_info_t *qi,
|
||||
extern void wlc_txflowcontrol_override(struct wlc_info *wlc, wlc_txq_info_t *qi,
|
||||
bool on, uint override);
|
||||
extern bool wlc_txflowcontrol_prio_isset(wlc_info_t *wlc, wlc_txq_info_t *qi,
|
||||
int prio);
|
||||
extern void wlc_send_q(wlc_info_t *wlc, wlc_txq_info_t *qi);
|
||||
extern int wlc_prep_pdu(wlc_info_t *wlc, struct sk_buff *pdu, uint *fifo);
|
||||
extern bool wlc_txflowcontrol_prio_isset(struct wlc_info *wlc,
|
||||
wlc_txq_info_t *qi, int prio);
|
||||
extern void wlc_send_q(struct wlc_info *wlc, wlc_txq_info_t *qi);
|
||||
extern int wlc_prep_pdu(struct wlc_info *wlc, struct sk_buff *pdu, uint *fifo);
|
||||
|
||||
extern u16 wlc_calc_lsig_len(wlc_info_t *wlc, ratespec_t ratespec,
|
||||
extern u16 wlc_calc_lsig_len(struct wlc_info *wlc, ratespec_t ratespec,
|
||||
uint mac_len);
|
||||
extern ratespec_t wlc_rspec_to_rts_rspec(wlc_info_t *wlc, ratespec_t rspec,
|
||||
extern ratespec_t wlc_rspec_to_rts_rspec(struct wlc_info *wlc, ratespec_t rspec,
|
||||
bool use_rspec, u16 mimo_ctlchbw);
|
||||
extern u16 wlc_compute_rtscts_dur(wlc_info_t *wlc, bool cts_only,
|
||||
extern u16 wlc_compute_rtscts_dur(struct wlc_info *wlc, bool cts_only,
|
||||
ratespec_t rts_rate, ratespec_t frame_rate,
|
||||
u8 rts_preamble_type,
|
||||
u8 frame_preamble_type, uint frame_len,
|
||||
bool ba);
|
||||
|
||||
extern void wlc_tbtt(wlc_info_t *wlc, d11regs_t *regs);
|
||||
extern void wlc_tbtt(struct wlc_info *wlc, d11regs_t *regs);
|
||||
|
||||
#if defined(BCMDBG)
|
||||
extern void wlc_dump_ie(wlc_info_t *wlc, bcm_tlv_t *ie, struct bcmstrbuf *b);
|
||||
extern void wlc_dump_ie(struct wlc_info *wlc, bcm_tlv_t *ie,
|
||||
struct bcmstrbuf *b);
|
||||
#endif
|
||||
|
||||
extern bool wlc_ps_check(wlc_info_t *wlc);
|
||||
extern void wlc_reprate_init(wlc_info_t *wlc);
|
||||
extern bool wlc_ps_check(struct wlc_info *wlc);
|
||||
extern void wlc_reprate_init(struct wlc_info *wlc);
|
||||
extern void wlc_bsscfg_reprate_init(wlc_bsscfg_t *bsscfg);
|
||||
extern void wlc_uint64_sub(u32 *a_high, u32 *a_low, u32 b_high,
|
||||
u32 b_low);
|
||||
extern u32 wlc_calc_tbtt_offset(u32 bi, u32 tsf_h, u32 tsf_l);
|
||||
|
||||
/* Shared memory access */
|
||||
extern void wlc_write_shm(wlc_info_t *wlc, uint offset, u16 v);
|
||||
extern u16 wlc_read_shm(wlc_info_t *wlc, uint offset);
|
||||
extern void wlc_set_shm(wlc_info_t *wlc, uint offset, u16 v, int len);
|
||||
extern void wlc_copyto_shm(wlc_info_t *wlc, uint offset, const void *buf,
|
||||
extern void wlc_write_shm(struct wlc_info *wlc, uint offset, u16 v);
|
||||
extern u16 wlc_read_shm(struct wlc_info *wlc, uint offset);
|
||||
extern void wlc_set_shm(struct wlc_info *wlc, uint offset, u16 v, int len);
|
||||
extern void wlc_copyto_shm(struct wlc_info *wlc, uint offset, const void *buf,
|
||||
int len);
|
||||
extern void wlc_copyfrom_shm(wlc_info_t *wlc, uint offset, void *buf, int len);
|
||||
extern void wlc_copyfrom_shm(struct wlc_info *wlc, uint offset, void *buf,
|
||||
int len);
|
||||
|
||||
extern void wlc_update_beacon(wlc_info_t *wlc);
|
||||
extern void wlc_bss_update_beacon(wlc_info_t *wlc, struct wlc_bsscfg *bsscfg);
|
||||
extern void wlc_update_beacon(struct wlc_info *wlc);
|
||||
extern void wlc_bss_update_beacon(struct wlc_info *wlc,
|
||||
struct wlc_bsscfg *bsscfg);
|
||||
|
||||
extern void wlc_update_probe_resp(wlc_info_t *wlc, bool suspend);
|
||||
extern void wlc_bss_update_probe_resp(wlc_info_t *wlc, wlc_bsscfg_t *cfg,
|
||||
extern void wlc_update_probe_resp(struct wlc_info *wlc, bool suspend);
|
||||
extern void wlc_bss_update_probe_resp(struct wlc_info *wlc, wlc_bsscfg_t *cfg,
|
||||
bool suspend);
|
||||
|
||||
extern bool wlc_ismpc(wlc_info_t *wlc);
|
||||
extern bool wlc_is_non_delay_mpc(wlc_info_t *wlc);
|
||||
extern void wlc_radio_mpc_upd(wlc_info_t *wlc);
|
||||
extern bool wlc_prec_enq(wlc_info_t *wlc, struct pktq *q, void *pkt, int prec);
|
||||
extern bool wlc_prec_enq_head(wlc_info_t *wlc, struct pktq *q,
|
||||
extern bool wlc_ismpc(struct wlc_info *wlc);
|
||||
extern bool wlc_is_non_delay_mpc(struct wlc_info *wlc);
|
||||
extern void wlc_radio_mpc_upd(struct wlc_info *wlc);
|
||||
extern bool wlc_prec_enq(struct wlc_info *wlc, struct pktq *q, void *pkt,
|
||||
int prec);
|
||||
extern bool wlc_prec_enq_head(struct wlc_info *wlc, struct pktq *q,
|
||||
struct sk_buff *pkt, int prec, bool head);
|
||||
extern u16 wlc_phytxctl1_calc(wlc_info_t *wlc, ratespec_t rspec);
|
||||
extern void wlc_compute_plcp(wlc_info_t *wlc, ratespec_t rate, uint length,
|
||||
extern u16 wlc_phytxctl1_calc(struct wlc_info *wlc, ratespec_t rspec);
|
||||
extern void wlc_compute_plcp(struct wlc_info *wlc, ratespec_t rate, uint length,
|
||||
u8 *plcp);
|
||||
extern uint wlc_calc_frame_time(wlc_info_t *wlc, ratespec_t ratespec,
|
||||
extern uint wlc_calc_frame_time(struct wlc_info *wlc, ratespec_t ratespec,
|
||||
u8 preamble_type, uint mac_len);
|
||||
|
||||
extern void wlc_set_chanspec(wlc_info_t *wlc, chanspec_t chanspec);
|
||||
extern void wlc_set_chanspec(struct wlc_info *wlc, chanspec_t chanspec);
|
||||
|
||||
extern bool wlc_timers_init(wlc_info_t *wlc, int unit);
|
||||
extern bool wlc_timers_init(struct wlc_info *wlc, int unit);
|
||||
|
||||
extern const bcm_iovar_t wlc_iovars[];
|
||||
|
||||
@ -944,36 +949,38 @@ extern int wlc_doiovar(void *hdl, const bcm_iovar_t *vi, u32 actionid,
|
||||
int len, int val_size, wlc_if_t *wlcif);
|
||||
|
||||
#if defined(BCMDBG)
|
||||
extern void wlc_print_ies(wlc_info_t *wlc, u8 *ies, uint ies_len);
|
||||
extern void wlc_print_ies(struct wlc_info *wlc, u8 *ies, uint ies_len);
|
||||
#endif
|
||||
|
||||
extern int wlc_set_nmode(wlc_info_t *wlc, s32 nmode);
|
||||
extern void wlc_ht_mimops_cap_update(wlc_info_t *wlc, u8 mimops_mode);
|
||||
extern void wlc_mimops_action_ht_send(wlc_info_t *wlc, wlc_bsscfg_t *bsscfg,
|
||||
u8 mimops_mode);
|
||||
extern int wlc_set_nmode(struct wlc_info *wlc, s32 nmode);
|
||||
extern void wlc_ht_mimops_cap_update(struct wlc_info *wlc, u8 mimops_mode);
|
||||
extern void wlc_mimops_action_ht_send(struct wlc_info *wlc,
|
||||
wlc_bsscfg_t *bsscfg, u8 mimops_mode);
|
||||
|
||||
extern void wlc_switch_shortslot(wlc_info_t *wlc, bool shortslot);
|
||||
extern void wlc_switch_shortslot(struct wlc_info *wlc, bool shortslot);
|
||||
extern void wlc_set_bssid(wlc_bsscfg_t *cfg);
|
||||
extern void wlc_edcf_setparams(wlc_bsscfg_t *cfg, bool suspend);
|
||||
|
||||
extern void wlc_set_ratetable(wlc_info_t *wlc);
|
||||
extern void wlc_set_ratetable(struct wlc_info *wlc);
|
||||
extern int wlc_set_mac(wlc_bsscfg_t *cfg);
|
||||
extern void wlc_beacon_phytxctl_txant_upd(wlc_info_t *wlc,
|
||||
extern void wlc_beacon_phytxctl_txant_upd(struct wlc_info *wlc,
|
||||
ratespec_t bcn_rate);
|
||||
extern void wlc_mod_prb_rsp_rate_table(wlc_info_t *wlc, uint frame_len);
|
||||
extern ratespec_t wlc_lowest_basic_rspec(wlc_info_t *wlc, wlc_rateset_t *rs);
|
||||
extern u16 wlc_compute_bcntsfoff(wlc_info_t *wlc, ratespec_t rspec,
|
||||
extern void wlc_mod_prb_rsp_rate_table(struct wlc_info *wlc, uint frame_len);
|
||||
extern ratespec_t wlc_lowest_basic_rspec(struct wlc_info *wlc,
|
||||
wlc_rateset_t *rs);
|
||||
extern u16 wlc_compute_bcntsfoff(struct wlc_info *wlc, ratespec_t rspec,
|
||||
bool short_preamble, bool phydelay);
|
||||
extern void wlc_radio_disable(wlc_info_t *wlc);
|
||||
extern void wlc_bcn_li_upd(wlc_info_t *wlc);
|
||||
extern void wlc_radio_disable(struct wlc_info *wlc);
|
||||
extern void wlc_bcn_li_upd(struct wlc_info *wlc);
|
||||
|
||||
extern int wlc_get_revision_info(wlc_info_t *wlc, void *buf, uint len);
|
||||
extern void wlc_out(wlc_info_t *wlc);
|
||||
extern void wlc_set_home_chanspec(wlc_info_t *wlc, chanspec_t chanspec);
|
||||
extern void wlc_watchdog_upd(wlc_info_t *wlc, bool tbtt);
|
||||
extern bool wlc_ps_allowed(wlc_info_t *wlc);
|
||||
extern bool wlc_stay_awake(wlc_info_t *wlc);
|
||||
extern void wlc_wme_initparams_sta(wlc_info_t *wlc, wme_param_ie_t *pe);
|
||||
extern int wlc_get_revision_info(struct wlc_info *wlc, void *buf, uint len);
|
||||
extern void wlc_out(struct wlc_info *wlc);
|
||||
extern void wlc_set_home_chanspec(struct wlc_info *wlc, chanspec_t chanspec);
|
||||
extern void wlc_watchdog_upd(struct wlc_info *wlc, bool tbtt);
|
||||
extern bool wlc_ps_allowed(struct wlc_info *wlc);
|
||||
extern bool wlc_stay_awake(struct wlc_info *wlc);
|
||||
extern void wlc_wme_initparams_sta(struct wlc_info *wlc, wme_param_ie_t *pe);
|
||||
|
||||
extern void wlc_bss_list_free(wlc_info_t *wlc, wlc_bss_list_t *bss_list);
|
||||
extern void wlc_bss_list_free(struct wlc_info *wlc, wlc_bss_list_t *bss_list);
|
||||
extern void wlc_ht_mimops_cap_update(struct wlc_info *wlc, u8 mimops_mode);
|
||||
#endif /* _wlc_h_ */
|
||||
|
@ -512,7 +512,7 @@ extern bool wlc_isr(struct wlc_info *wlc, bool *wantdpc);
|
||||
extern bool wlc_dpc(struct wlc_info *wlc, bool bounded);
|
||||
extern bool wlc_send80211_raw(struct wlc_info *wlc, wlc_if_t *wlcif, void *p,
|
||||
uint ac);
|
||||
extern bool wlc_sendpkt_mac80211(wlc_info_t *wlc, struct sk_buff *sdu,
|
||||
extern bool wlc_sendpkt_mac80211(struct wlc_info *wlc, struct sk_buff *sdu,
|
||||
struct ieee80211_hw *hw);
|
||||
extern int wlc_iovar_op(struct wlc_info *wlc, const char *name, void *params,
|
||||
int p_len, void *arg, int len, bool set,
|
||||
@ -522,10 +522,10 @@ extern int wlc_ioctl(struct wlc_info *wlc, int cmd, void *arg, int len,
|
||||
/* helper functions */
|
||||
extern void wlc_statsupd(struct wlc_info *wlc);
|
||||
extern int wlc_get_header_len(void);
|
||||
extern void wlc_mac_bcn_promisc_change(wlc_info_t *wlc, bool promisc);
|
||||
extern void wlc_set_addrmatch(wlc_info_t *wlc, int match_reg_offset,
|
||||
extern void wlc_mac_bcn_promisc_change(struct wlc_info *wlc, bool promisc);
|
||||
extern void wlc_set_addrmatch(struct wlc_info *wlc, int match_reg_offset,
|
||||
const struct ether_addr *addr);
|
||||
extern void wlc_wme_setparams(wlc_info_t *wlc, u16 aci, void *arg,
|
||||
extern void wlc_wme_setparams(struct wlc_info *wlc, u16 aci, void *arg,
|
||||
bool suspend);
|
||||
|
||||
extern wlc_pub_t *wlc_pub(void *wlc);
|
||||
|
@ -19,7 +19,7 @@
|
||||
|
||||
#include <proto/802.1d.h>
|
||||
|
||||
extern bool wlc_aggregatable(wlc_info_t *wlc, u8 tid);
|
||||
extern bool wlc_aggregatable(struct wlc_info *wlc, u8 tid);
|
||||
|
||||
#define AMPDU_TX_BA_MAX_WSIZE 64 /* max Tx ba window size (in pdu) */
|
||||
/* structure to store per-tid state for the ampdu initiator */
|
||||
|
@ -44,14 +44,14 @@
|
||||
#define WLC_STF_SS_STBC_RX(wlc) (WLCISNPHY(wlc->band) && \
|
||||
NREV_GT(wlc->band->phyrev, 3) && NREV_LE(wlc->band->phyrev, 6))
|
||||
|
||||
static s8 wlc_stf_stbc_rx_get(wlc_info_t *wlc);
|
||||
static bool wlc_stf_stbc_tx_set(wlc_info_t *wlc, s32 int_val);
|
||||
static int wlc_stf_txcore_set(wlc_info_t *wlc, u8 Nsts, u8 val);
|
||||
static int wlc_stf_spatial_policy_set(wlc_info_t *wlc, int val);
|
||||
static void wlc_stf_stbc_rx_ht_update(wlc_info_t *wlc, int val);
|
||||
static s8 wlc_stf_stbc_rx_get(struct wlc_info *wlc);
|
||||
static bool wlc_stf_stbc_tx_set(struct wlc_info *wlc, s32 int_val);
|
||||
static int wlc_stf_txcore_set(struct wlc_info *wlc, u8 Nsts, u8 val);
|
||||
static int wlc_stf_spatial_policy_set(struct wlc_info *wlc, int val);
|
||||
static void wlc_stf_stbc_rx_ht_update(struct wlc_info *wlc, int val);
|
||||
|
||||
static void _wlc_stf_phy_txant_upd(wlc_info_t *wlc);
|
||||
static u16 _wlc_stf_phytxchain_sel(wlc_info_t *wlc, ratespec_t rspec);
|
||||
static void _wlc_stf_phy_txant_upd(struct wlc_info *wlc);
|
||||
static u16 _wlc_stf_phytxchain_sel(struct wlc_info *wlc, ratespec_t rspec);
|
||||
|
||||
#define NSTS_1 1
|
||||
#define NSTS_2 2
|
||||
@ -65,7 +65,7 @@ const u8 txcore_default[5] = {
|
||||
(0x0f) /* For Nsts = 4, enable all cores */
|
||||
};
|
||||
|
||||
static void wlc_stf_stbc_rx_ht_update(wlc_info_t *wlc, int val)
|
||||
static void wlc_stf_stbc_rx_ht_update(struct wlc_info *wlc, int val)
|
||||
{
|
||||
ASSERT((val == HT_CAP_RX_STBC_NO)
|
||||
|| (val == HT_CAP_RX_STBC_ONE_STREAM));
|
||||
@ -86,7 +86,7 @@ static void wlc_stf_stbc_rx_ht_update(wlc_info_t *wlc, int val)
|
||||
}
|
||||
|
||||
/* every WLC_TEMPSENSE_PERIOD seconds temperature check to decide whether to turn on/off txchain */
|
||||
void wlc_tempsense_upd(wlc_info_t *wlc)
|
||||
void wlc_tempsense_upd(struct wlc_info *wlc)
|
||||
{
|
||||
wlc_phy_t *pi = wlc->band->pi;
|
||||
uint active_chains, txchain;
|
||||
@ -110,7 +110,7 @@ void wlc_tempsense_upd(wlc_info_t *wlc)
|
||||
}
|
||||
|
||||
void
|
||||
wlc_stf_ss_algo_channel_get(wlc_info_t *wlc, u16 *ss_algo_channel,
|
||||
wlc_stf_ss_algo_channel_get(struct wlc_info *wlc, u16 *ss_algo_channel,
|
||||
chanspec_t chanspec)
|
||||
{
|
||||
tx_power_t power;
|
||||
@ -151,12 +151,12 @@ wlc_stf_ss_algo_channel_get(wlc_info_t *wlc, u16 *ss_algo_channel,
|
||||
setbit(ss_algo_channel, PHY_TXC1_MODE_STBC);
|
||||
}
|
||||
|
||||
static s8 wlc_stf_stbc_rx_get(wlc_info_t *wlc)
|
||||
static s8 wlc_stf_stbc_rx_get(struct wlc_info *wlc)
|
||||
{
|
||||
return (wlc->ht_cap.cap & HT_CAP_RX_STBC_MASK) >> HT_CAP_RX_STBC_SHIFT;
|
||||
}
|
||||
|
||||
static bool wlc_stf_stbc_tx_set(wlc_info_t *wlc, s32 int_val)
|
||||
static bool wlc_stf_stbc_tx_set(struct wlc_info *wlc, s32 int_val)
|
||||
{
|
||||
if ((int_val != AUTO) && (int_val != OFF) && (int_val != ON)) {
|
||||
return false;
|
||||
@ -177,7 +177,7 @@ static bool wlc_stf_stbc_tx_set(wlc_info_t *wlc, s32 int_val)
|
||||
return true;
|
||||
}
|
||||
|
||||
bool wlc_stf_stbc_rx_set(wlc_info_t *wlc, s32 int_val)
|
||||
bool wlc_stf_stbc_rx_set(struct wlc_info *wlc, s32 int_val)
|
||||
{
|
||||
if ((int_val != HT_CAP_RX_STBC_NO)
|
||||
&& (int_val != HT_CAP_RX_STBC_ONE_STREAM)) {
|
||||
@ -194,7 +194,7 @@ bool wlc_stf_stbc_rx_set(wlc_info_t *wlc, s32 int_val)
|
||||
return true;
|
||||
}
|
||||
|
||||
static int wlc_stf_txcore_set(wlc_info_t *wlc, u8 Nsts, u8 core_mask)
|
||||
static int wlc_stf_txcore_set(struct wlc_info *wlc, u8 Nsts, u8 core_mask)
|
||||
{
|
||||
WL_TRACE(("wl%d: %s: Nsts %d core_mask %x\n",
|
||||
wlc->pub->unit, __func__, Nsts, core_mask));
|
||||
@ -231,7 +231,7 @@ static int wlc_stf_txcore_set(wlc_info_t *wlc, u8 Nsts, u8 core_mask)
|
||||
return BCME_OK;
|
||||
}
|
||||
|
||||
static int wlc_stf_spatial_policy_set(wlc_info_t *wlc, int val)
|
||||
static int wlc_stf_spatial_policy_set(struct wlc_info *wlc, int val)
|
||||
{
|
||||
int i;
|
||||
u8 core_mask = 0;
|
||||
@ -247,7 +247,7 @@ static int wlc_stf_spatial_policy_set(wlc_info_t *wlc, int val)
|
||||
return BCME_OK;
|
||||
}
|
||||
|
||||
int wlc_stf_txchain_set(wlc_info_t *wlc, s32 int_val, bool force)
|
||||
int wlc_stf_txchain_set(struct wlc_info *wlc, s32 int_val, bool force)
|
||||
{
|
||||
u8 txchain = (u8) int_val;
|
||||
u8 txstreams;
|
||||
@ -307,7 +307,7 @@ int wlc_stf_txchain_set(wlc_info_t *wlc, s32 int_val, bool force)
|
||||
return BCME_OK;
|
||||
}
|
||||
|
||||
int wlc_stf_rxchain_set(wlc_info_t *wlc, s32 int_val)
|
||||
int wlc_stf_rxchain_set(struct wlc_info *wlc, s32 int_val)
|
||||
{
|
||||
u8 rxchain_cnt;
|
||||
u8 rxchain = (u8) int_val;
|
||||
@ -371,7 +371,7 @@ int wlc_stf_rxchain_set(wlc_info_t *wlc, s32 int_val)
|
||||
}
|
||||
|
||||
/* update wlc->stf->ss_opmode which represents the operational stf_ss mode we're using */
|
||||
int wlc_stf_ss_update(wlc_info_t *wlc, wlcband_t *band)
|
||||
int wlc_stf_ss_update(struct wlc_info *wlc, wlcband_t *band)
|
||||
{
|
||||
int ret_code = 0;
|
||||
u8 prev_stf_ss;
|
||||
@ -406,7 +406,7 @@ int wlc_stf_ss_update(wlc_info_t *wlc, wlcband_t *band)
|
||||
return ret_code;
|
||||
}
|
||||
|
||||
int wlc_stf_attach(wlc_info_t *wlc)
|
||||
int wlc_stf_attach(struct wlc_info *wlc)
|
||||
{
|
||||
wlc->bandstate[BAND_2G_INDEX]->band_stf_ss_mode = PHY_TXC1_MODE_SISO;
|
||||
wlc->bandstate[BAND_5G_INDEX]->band_stf_ss_mode = PHY_TXC1_MODE_CDD;
|
||||
@ -429,11 +429,11 @@ int wlc_stf_attach(wlc_info_t *wlc)
|
||||
return 0;
|
||||
}
|
||||
|
||||
void wlc_stf_detach(wlc_info_t *wlc)
|
||||
void wlc_stf_detach(struct wlc_info *wlc)
|
||||
{
|
||||
}
|
||||
|
||||
int wlc_stf_ant_txant_validate(wlc_info_t *wlc, s8 val)
|
||||
int wlc_stf_ant_txant_validate(struct wlc_info *wlc, s8 val)
|
||||
{
|
||||
int bcmerror = BCME_OK;
|
||||
|
||||
@ -480,7 +480,7 @@ int wlc_stf_ant_txant_validate(wlc_info_t *wlc, s8 val)
|
||||
* do tx-antenna selection for SISO transmissions
|
||||
* for NREV>=7, bit 6 and bit 7 mean antenna 0 and 1 respectively, nit6+bit7 means both cores active
|
||||
*/
|
||||
static void _wlc_stf_phy_txant_upd(wlc_info_t *wlc)
|
||||
static void _wlc_stf_phy_txant_upd(struct wlc_info *wlc)
|
||||
{
|
||||
s8 txant;
|
||||
|
||||
@ -521,12 +521,12 @@ static void _wlc_stf_phy_txant_upd(wlc_info_t *wlc)
|
||||
wlc_bmac_txant_set(wlc->hw, wlc->stf->phytxant);
|
||||
}
|
||||
|
||||
void wlc_stf_phy_txant_upd(wlc_info_t *wlc)
|
||||
void wlc_stf_phy_txant_upd(struct wlc_info *wlc)
|
||||
{
|
||||
_wlc_stf_phy_txant_upd(wlc);
|
||||
}
|
||||
|
||||
void wlc_stf_phy_chain_calc(wlc_info_t *wlc)
|
||||
void wlc_stf_phy_chain_calc(struct wlc_info *wlc)
|
||||
{
|
||||
/* get available rx/tx chains */
|
||||
wlc->stf->hw_txchain = (u8) getintvar(wlc->pub->vars, "txchain");
|
||||
@ -563,7 +563,7 @@ void wlc_stf_phy_chain_calc(wlc_info_t *wlc)
|
||||
wlc_stf_spatial_policy_set(wlc, MIN_SPATIAL_EXPANSION);
|
||||
}
|
||||
|
||||
static u16 _wlc_stf_phytxchain_sel(wlc_info_t *wlc, ratespec_t rspec)
|
||||
static u16 _wlc_stf_phytxchain_sel(struct wlc_info *wlc, ratespec_t rspec)
|
||||
{
|
||||
u16 phytxant = wlc->stf->phytxant;
|
||||
|
||||
@ -576,12 +576,12 @@ static u16 _wlc_stf_phytxchain_sel(wlc_info_t *wlc, ratespec_t rspec)
|
||||
return phytxant;
|
||||
}
|
||||
|
||||
u16 wlc_stf_phytxchain_sel(wlc_info_t *wlc, ratespec_t rspec)
|
||||
u16 wlc_stf_phytxchain_sel(struct wlc_info *wlc, ratespec_t rspec)
|
||||
{
|
||||
return _wlc_stf_phytxchain_sel(wlc, rspec);
|
||||
}
|
||||
|
||||
u16 wlc_stf_d11hdrs_phyctl_txant(wlc_info_t *wlc, ratespec_t rspec)
|
||||
u16 wlc_stf_d11hdrs_phyctl_txant(struct wlc_info *wlc, ratespec_t rspec)
|
||||
{
|
||||
u16 phytxant = wlc->stf->phytxant;
|
||||
u16 mask = PHY_TXC_ANT_MASK;
|
||||
|
@ -20,23 +20,24 @@
|
||||
#define MIN_SPATIAL_EXPANSION 0
|
||||
#define MAX_SPATIAL_EXPANSION 1
|
||||
|
||||
extern int wlc_stf_attach(wlc_info_t *wlc);
|
||||
extern void wlc_stf_detach(wlc_info_t *wlc);
|
||||
extern int wlc_stf_attach(struct wlc_info *wlc);
|
||||
extern void wlc_stf_detach(struct wlc_info *wlc);
|
||||
|
||||
extern void wlc_tempsense_upd(wlc_info_t *wlc);
|
||||
extern void wlc_stf_ss_algo_channel_get(wlc_info_t *wlc,
|
||||
extern void wlc_tempsense_upd(struct wlc_info *wlc);
|
||||
extern void wlc_stf_ss_algo_channel_get(struct wlc_info *wlc,
|
||||
u16 *ss_algo_channel,
|
||||
chanspec_t chanspec);
|
||||
extern int wlc_stf_ss_update(wlc_info_t *wlc, struct wlcband *band);
|
||||
extern void wlc_stf_phy_txant_upd(wlc_info_t *wlc);
|
||||
extern int wlc_stf_txchain_set(wlc_info_t *wlc, s32 int_val, bool force);
|
||||
extern int wlc_stf_rxchain_set(wlc_info_t *wlc, s32 int_val);
|
||||
extern bool wlc_stf_stbc_rx_set(wlc_info_t *wlc, s32 int_val);
|
||||
extern int wlc_stf_ss_update(struct wlc_info *wlc, struct wlcband *band);
|
||||
extern void wlc_stf_phy_txant_upd(struct wlc_info *wlc);
|
||||
extern int wlc_stf_txchain_set(struct wlc_info *wlc, s32 int_val, bool force);
|
||||
extern int wlc_stf_rxchain_set(struct wlc_info *wlc, s32 int_val);
|
||||
extern bool wlc_stf_stbc_rx_set(struct wlc_info *wlc, s32 int_val);
|
||||
|
||||
extern int wlc_stf_ant_txant_validate(wlc_info_t *wlc, s8 val);
|
||||
extern void wlc_stf_phy_txant_upd(wlc_info_t *wlc);
|
||||
extern void wlc_stf_phy_chain_calc(wlc_info_t *wlc);
|
||||
extern u16 wlc_stf_phytxchain_sel(wlc_info_t *wlc, ratespec_t rspec);
|
||||
extern u16 wlc_stf_d11hdrs_phyctl_txant(wlc_info_t *wlc, ratespec_t rspec);
|
||||
extern u16 wlc_stf_spatial_expansion_get(wlc_info_t *wlc, ratespec_t rspec);
|
||||
extern int wlc_stf_ant_txant_validate(struct wlc_info *wlc, s8 val);
|
||||
extern void wlc_stf_phy_txant_upd(struct wlc_info *wlc);
|
||||
extern void wlc_stf_phy_chain_calc(struct wlc_info *wlc);
|
||||
extern u16 wlc_stf_phytxchain_sel(struct wlc_info *wlc, ratespec_t rspec);
|
||||
extern u16 wlc_stf_d11hdrs_phyctl_txant(struct wlc_info *wlc, ratespec_t rspec);
|
||||
extern u16 wlc_stf_spatial_expansion_get(struct wlc_info *wlc,
|
||||
ratespec_t rspec);
|
||||
#endif /* _wlc_stf_h_ */
|
||||
|
@ -19,7 +19,7 @@
|
||||
|
||||
/* forward declarations */
|
||||
|
||||
typedef struct wlc_info wlc_info_t;
|
||||
struct wlc_info;
|
||||
typedef struct wlc_hw_info wlc_hw_info_t;
|
||||
typedef struct wlc_if wlc_if_t;
|
||||
typedef struct wl_if wl_if_t;
|
||||
|
Loading…
Reference in New Issue
Block a user