Search Linux Wireless

Re: [PATCHv3] mac80211: Add interface for driver to temporarily disable dynamic ps

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Jun 17, 2010 at 08:42:33AM +0300, Juuso Oikarinen wrote:
> This mechanism introduced in this patch applies (at least) for hardware
> designs using a single shared antenna for both WLAN and BT. In these designs,
> the antenna must be toggled between WLAN and BT.
> 
> In those hardware, managing WLAN co-existence with Bluetooth requires WLAN
> full power save whenever there is Bluetooth activity in order for WLAN to be
> able to periodically relinquish the antenna to be used for BT. This is because
> BT can only access the shared antenna when WLAN is idle or asleep.
> 
> Some hardware, for instance the wl1271, are able to indicate to the host
> whenever there is BT traffic. In essence, the hardware will send an indication
> to the host whenever there is, for example, SCO traffic or A2DP traffic, and
> will send another indication when the traffic is over.
> 
> The hardware gets information of Bluetooth traffic via hardware co-existence
> control lines - these lines are used to negotiate the shared antenna
> ownership. The hardware will give the antenna to BT whenever WLAN is sleeping.
> 
> This patch adds the interface to mac80211 to facilitate temporarily disabling
> of dynamic power save as per request of the WLAN driver. This interface will
> immediately force WLAN to full powersave, hence allowing BT coexistence as
> described above.
> 
> In these kind of shared antenna desings, when WLAN powersave is fully disabled,
> Bluetooth will not work simultaneously with WLAN at all. This patch does not
> address that problem. This interface will not change PSM state, so if PSM is
> disabled it will remain so. Solving this problem requires knowledge about BT
> state, and is best done in user-space.
> 
> Signed-off-by: Juuso Oikarinen <juuso.oikarinen@xxxxxxxxx>
> ---
> v3: separate ieee80211_dyn_ps_enable/ieee80211_dyn_ps_enable functions

  CC [M]  net/mac80211/mlme.o
net/mac80211/mlme.c: In function ‘ieee80211_recalc_ps’:
net/mac80211/mlme.c:598: error: ‘struct ieee80211_conf’ has no member named ‘dynamic_ps_forced_timeout’
make[1]: *** [net/mac80211/mlme.o] Error 1

John
-- 
John W. Linville		Someday the world will need a hero, and you
linville@xxxxxxxxxxxxx			might be all we have.  Be ready.
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]
  Powered by Linux