brcmsmac: write beacon period to hardware
Make brcms_c_set_beacon_period() write the beacon period to the hardware if a new one is set. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
Родитель
0627fe3d51
Коммит
ee9794ff49
|
@ -5551,10 +5551,20 @@ static void brcms_c_time_unlock(struct brcms_c_info *wlc)
|
|||
|
||||
int brcms_c_set_beacon_period(struct brcms_c_info *wlc, u16 period)
|
||||
{
|
||||
u32 bcnint_us;
|
||||
|
||||
if (period == 0)
|
||||
return -EINVAL;
|
||||
|
||||
wlc->default_bss->beacon_period = period;
|
||||
|
||||
bcnint_us = period << 10;
|
||||
brcms_c_time_lock(wlc);
|
||||
bcma_write32(wlc->hw->d11core, D11REGOFFS(tsf_cfprep),
|
||||
(bcnint_us << CFPREP_CBI_SHIFT));
|
||||
bcma_write32(wlc->hw->d11core, D11REGOFFS(tsf_cfpstart), bcnint_us);
|
||||
brcms_c_time_unlock(wlc);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче