Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 278945
b: refs/heads/master
c: a232c8a
h: refs/heads/master
i:
  278943: bc07f14
v: v3
  • Loading branch information
Arend van Spriel authored and John W. Linville committed Dec 13, 2011
1 parent fb68e29 commit 6071463
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 25 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 291ed3dcd5334c7987272494373751f86e5b61ee
refs/heads/master: a232c8a12a0fe55a2e671d24626c98a21b57a332
30 changes: 6 additions & 24 deletions trunk/drivers/net/wireless/brcm80211/brcmsmac/aiutils.c
Original file line number Diff line number Diff line change
Expand Up @@ -940,14 +940,11 @@ uint ai_cc_reg(struct si_pub *sih, uint regoff, u32 mask, u32 val)
struct bcma_device *cc;
uint origidx = 0;
u32 w;
uint intr_val = 0;
struct si_info *sii;

sii = (struct si_info *)sih;
cc = sii->icbus->drv_cc.core;

INTR_OFF(sii, intr_val);

/* save current core index */
origidx = ai_coreidx(&sii->pub);

Expand All @@ -962,8 +959,6 @@ uint ai_cc_reg(struct si_pub *sih, uint regoff, u32 mask, u32 val)
/* restore core index */
ai_setcoreidx(&sii->pub, origidx);

INTR_RESTORE(sii, intr_val);

return w;
}

Expand Down Expand Up @@ -1086,32 +1081,23 @@ u16 ai_clkctl_fast_pwrup_delay(struct si_pub *sih)
struct bcma_device *cc;
uint slowminfreq;
u16 fpdelay;
uint intr_val = 0;

sii = (struct si_info *)sih;
if (ai_get_cccaps(sih) & CC_CAP_PMU) {
INTR_OFF(sii, intr_val);
fpdelay = si_pmu_fast_pwrup_delay(sih);
INTR_RESTORE(sii, intr_val);
return fpdelay;
}

if (!(ai_get_cccaps(sih) & CC_CAP_PWR_CTL))
return 0;

fpdelay = 0;
INTR_OFF(sii, intr_val);
cc = ai_findcore(sih, CC_CORE_ID, 0);
if (cc == NULL)
goto done;


slowminfreq = ai_slowclk_freq(sih, false, cc);
fpdelay = (((bcma_read32(cc, CHIPCREGOFFS(pll_on_delay)) + 2) * 1000000)
+ (slowminfreq - 1)) / slowminfreq;

done:
INTR_RESTORE(sii, intr_val);
if (cc) {
slowminfreq = ai_slowclk_freq(sih, false, cc);
fpdelay = (((bcma_read32(cc, CHIPCREGOFFS(pll_on_delay)) + 2)
* 1000000) + (slowminfreq - 1)) / slowminfreq;
}
return fpdelay;
}

Expand Down Expand Up @@ -1183,18 +1169,16 @@ static bool _ai_clkctl_cc(struct si_info *sii, uint mode)
{
struct bcma_device *cc;
u32 scc;
uint intr_val = 0;

/* chipcommon cores prior to rev6 don't support dynamic clock control */
if (ai_get_ccrev(&sii->pub) < 6)
return false;

INTR_OFF(sii, intr_val);
cc = ai_findcore(&sii->pub, BCMA_CORE_CHIPCOMMON, 0);

if (!(ai_get_cccaps(&sii->pub) & CC_CAP_PWR_CTL) &&
(ai_get_ccrev(&sii->pub) < 20))
goto done;
return mode == CLK_FAST;

switch (mode) {
case CLK_FAST: /* FORCEHT, fast (pll) clock */
Expand Down Expand Up @@ -1248,8 +1232,6 @@ static bool _ai_clkctl_cc(struct si_info *sii, uint mode)
break;
}

done:
INTR_RESTORE(sii, intr_val);
return mode == CLK_FAST;
}

Expand Down

0 comments on commit 6071463

Please sign in to comment.