aboutsummaryrefslogtreecommitdiffstats
path: root/package/mac80211/patches/868-brcmsmac-write-beacon-period-to-hardware.patch
diff options
context:
space:
mode:
authorHauke Mehrtens <hauke@openwrt.org>2013-02-24 01:11:20 +0000
committerHauke Mehrtens <hauke@openwrt.org>2013-02-24 01:11:20 +0000
commit575c4cb452bfa0383bce5b74405ac053e39c51a5 (patch)
tree9cee6208f53d8dea76ddb1a6a75dbea7fac76124 /package/mac80211/patches/868-brcmsmac-write-beacon-period-to-hardware.patch
parentc88549ad2cdcdaeb926a94f79dd0105412527397 (diff)
downloadmaster-187ad058-575c4cb452bfa0383bce5b74405ac053e39c51a5.tar.gz
master-187ad058-575c4cb452bfa0383bce5b74405ac053e39c51a5.tar.bz2
master-187ad058-575c4cb452bfa0383bce5b74405ac053e39c51a5.zip
mac80211: brcmsmac: add ap mode support
This does not work very well. I did not got this running in 5GHz mode and it was not very fast. git-svn-id: svn://svn.openwrt.org/openwrt/trunk@35763 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package/mac80211/patches/868-brcmsmac-write-beacon-period-to-hardware.patch')
-rw-r--r--package/mac80211/patches/868-brcmsmac-write-beacon-period-to-hardware.patch23
1 files changed, 23 insertions, 0 deletions
diff --git a/package/mac80211/patches/868-brcmsmac-write-beacon-period-to-hardware.patch b/package/mac80211/patches/868-brcmsmac-write-beacon-period-to-hardware.patch
new file mode 100644
index 0000000000..fb10e1ba6e
--- /dev/null
+++ b/package/mac80211/patches/868-brcmsmac-write-beacon-period-to-hardware.patch
@@ -0,0 +1,23 @@
+--- a/drivers/net/wireless/brcm80211/brcmsmac/main.c
++++ b/drivers/net/wireless/brcm80211/brcmsmac/main.c
+@@ -5553,10 +5553,20 @@ static void brcms_c_time_unlock(struct b
+
+ 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;
+ }
+