Skip to content

Commit

Permalink
staging: brcm80211: removed unused softmac workaround
Browse files Browse the repository at this point in the history
WAR16165 is only used on older PCI chips, the driver does not support
these chips.

Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com>
Reviewed-by: Arend van Spriel <arend@broadcom.com>
Signed-off-by: Franky Lin <frankyl@broadcom.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
  • Loading branch information
Roland Vossen authored and Greg Kroah-Hartman committed Oct 3, 2011
1 parent bce42cf commit 261f992
Show file tree
Hide file tree
Showing 5 changed files with 1 addition and 49 deletions.
9 changes: 0 additions & 9 deletions drivers/staging/brcm80211/brcmsmac/aiutils.c
Original file line number Diff line number Diff line change
Expand Up @@ -1852,15 +1852,6 @@ int ai_devpath(struct si_pub *sih, char *path, int size)
return 0;
}

bool ai_pci_war16165(struct si_pub *sih)
{
struct si_info *sii;

sii = (struct si_info *)sih;

return PCI(sii) && (sih->buscorerev <= 10);
}

void ai_pci_up(struct si_pub *sih)
{
struct si_info *sii;
Expand Down
2 changes: 0 additions & 2 deletions drivers/staging/brcm80211/brcmsmac/aiutils.h
Original file line number Diff line number Diff line change
Expand Up @@ -322,8 +322,6 @@ extern void ai_write_wrap_reg(struct si_pub *sih, u32 offset, u32 val);
extern struct si_pub *ai_attach(void *regs, struct pci_dev *sdh, char **vars,
uint *varsz);
extern void ai_detach(struct si_pub *sih);
extern bool ai_pci_war16165(struct si_pub *sih);

extern uint ai_coreid(struct si_pub *sih);
extern uint ai_corerev(struct si_pub *sih);
extern uint ai_corereg(struct si_pub *sih, uint coreidx, uint regoff, uint mask,
Expand Down
3 changes: 1 addition & 2 deletions drivers/staging/brcm80211/brcmsmac/d11.h
Original file line number Diff line number Diff line change
Expand Up @@ -1330,8 +1330,7 @@ struct shm_acparams {
#define MHF1_FORCEFASTCLK 0x0400

/* Flags in M_HOST_FLAGS2 */
/* PR16165WAR : Enable ucode PCI slow clock WAR */
#define MHF2_PCISLOWCLKWAR 0x0008

/* Flush BCMC FIFO immediately */
#define MHF2_TXBCMC_NOW 0x0040
/* Enable ucode/hw power control */
Expand Down
31 changes: 0 additions & 31 deletions drivers/staging/brcm80211/brcmsmac/main.c
Original file line number Diff line number Diff line change
Expand Up @@ -829,19 +829,6 @@ brcms_b_recv(struct brcms_hardware *wlc_hw, uint fifo, bool bound)
return n >= bound_limit;
}

static void brcms_c_war16165(struct brcms_c_info *wlc, bool tx)
{
if (tx) {
/* the post-increment is used in STAY_AWAKE macro */
if (wlc->txpend16165war++ == 0)
brcms_c_set_ps_ctrl(wlc);
} else {
wlc->txpend16165war--;
if (wlc->txpend16165war == 0)
brcms_c_set_ps_ctrl(wlc);
}
}

/* process an individual struct tx_status */
static bool
brcms_c_dotxstatus(struct brcms_c_info *wlc, struct tx_status *txs)
Expand Down Expand Up @@ -879,8 +866,6 @@ brcms_c_dotxstatus(struct brcms_c_info *wlc, struct tx_status *txs)
}

p = dma_getnexttxp(wlc->hw->di[queue], DMA_RANGE_TRANSMITTED);
if (wlc->war16165)
brcms_c_war16165(wlc, false);
if (p == NULL)
goto fatal;

Expand Down Expand Up @@ -3109,8 +3094,6 @@ static void brcms_c_flushqueues(struct brcms_c_info *wlc)
struct brcms_hardware *wlc_hw = wlc->hw;
uint i;

wlc->txpend16165war = 0;

/* free any posted tx packets */
for (i = 0; i < NFIFO; i++)
if (wlc_hw->di[i]) {
Expand Down Expand Up @@ -3532,9 +3515,6 @@ static void brcms_b_coreinit(struct brcms_c_info *wlc)
AND_REG(&regs->ifs_ctl, 0x0FFF);
W_REG(&regs->ifs_aifsn, EDCF_AIFSN_MIN);

/* dma initializations */
wlc->txpend16165war = 0;

/* init the tx dma engines */
for (i = 0; i < NFIFO; i++) {
if (wlc_hw->di[i])
Expand Down Expand Up @@ -4832,9 +4812,6 @@ static int brcms_b_attach(struct brcms_c_info *wlc, u16 vendor, u16 device,
if (wlc_hw->boardflags & BFL_NOPLLDOWN)
brcms_b_pllreq(wlc_hw, true, BRCMS_PLLREQ_SHARED);

if (ai_pci_war16165(wlc_hw->sih))
wlc->war16165 = true;

/* check device id(srom, nvram etc.) to set bands */
if (wlc_hw->deviceid == BCM43224_D11N_ID ||
wlc_hw->deviceid == BCM43224_D11N_ID_VEN1)
Expand Down Expand Up @@ -5833,10 +5810,6 @@ int brcms_c_up(struct brcms_c_info *wlc)
/* Set EDCF hostflags */
brcms_c_mhf(wlc, MHF1, MHF1_EDCF, MHF1_EDCF, BRCM_BAND_ALL);

if (wlc->war16165)
brcms_c_mhf(wlc, MHF2, MHF2_PCISLOWCLKWAR, MHF2_PCISLOWCLKWAR,
BRCM_BAND_ALL);

brcms_init(wlc->wl);
wlc->pub->up = true;

Expand Down Expand Up @@ -7816,10 +7789,6 @@ brcms_c_txfifo(struct brcms_c_info *wlc, uint fifo, struct sk_buff *p,
if (fifo == TX_BCMC_FIFO)
frameid = le16_to_cpu(txh->TxFrameID);

if (wlc->war16165)
brcms_c_war16165(wlc, true);


/*
* Bump up pending count for if not using rpc. If rpc is
* used, this will be handled in brcms_b_txfifo()
Expand Down
5 changes: 0 additions & 5 deletions drivers/staging/brcm80211/brcmsmac/main.h
Original file line number Diff line number Diff line change
Expand Up @@ -416,8 +416,6 @@ struct brcms_txq_info {
* band: pointer to active per-band state.
* corestate: per-core state (one per hw core).
* bandstate: per-band state (one per phy/radio).
* war16165: PCI slow clock 16165 war flag.
* txpend16165war: PCI slow clock 16165 war flag.
* qvalid: DirFrmQValid and BcMcFrmQValid.
* ampdu: ampdu module handler.
* asi: antsel module handler.
Expand Down Expand Up @@ -508,9 +506,6 @@ struct brcms_c_info {
struct brcms_core *corestate;
struct brcms_band *bandstate[MAXBANDS];

bool war16165;
uint txpend16165war;

/* packet queue */
uint qvalid;

Expand Down

0 comments on commit 261f992

Please sign in to comment.