Merge tag 'mac80211-next-for-davem-2016-02-26' of git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next
Johannes Berg says: ==================== Here's another round of updates for -next: * big A-MSDU RX performance improvement (avoid linearize of paged RX) * rfkill changes: cleanups, documentation, platform properties * basic PBSS support in cfg80211 * MU-MIMO action frame processing support * BlockAck reordering & duplicate detection offload support * various cleanups & little fixes ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
@@ -163,6 +163,14 @@ static inline u16 ieee80211_sn_sub(u16 sn1, u16 sn2)
|
||||
/* 30 byte 4 addr hdr, 2 byte QoS, 2304 byte MSDU, 12 byte crypt, 4 byte FCS */
|
||||
#define IEEE80211_MAX_FRAME_LEN 2352
|
||||
|
||||
/* Maximal size of an A-MSDU */
|
||||
#define IEEE80211_MAX_MPDU_LEN_HT_3839 3839
|
||||
#define IEEE80211_MAX_MPDU_LEN_HT_7935 7935
|
||||
|
||||
#define IEEE80211_MAX_MPDU_LEN_VHT_3895 3895
|
||||
#define IEEE80211_MAX_MPDU_LEN_VHT_7991 7991
|
||||
#define IEEE80211_MAX_MPDU_LEN_VHT_11454 11454
|
||||
|
||||
#define IEEE80211_MAX_SSID_LEN 32
|
||||
|
||||
#define IEEE80211_MAX_MESH_ID_LEN 32
|
||||
@@ -843,6 +851,8 @@ enum ieee80211_vht_opmode_bits {
|
||||
};
|
||||
|
||||
#define WLAN_SA_QUERY_TR_ID_LEN 2
|
||||
#define WLAN_MEMBERSHIP_LEN 8
|
||||
#define WLAN_USER_POSITION_LEN 16
|
||||
|
||||
/**
|
||||
* struct ieee80211_tpc_report_ie
|
||||
@@ -989,6 +999,11 @@ struct ieee80211_mgmt {
|
||||
u8 action_code;
|
||||
u8 operating_mode;
|
||||
} __packed vht_opmode_notif;
|
||||
struct {
|
||||
u8 action_code;
|
||||
u8 membership[WLAN_MEMBERSHIP_LEN];
|
||||
u8 position[WLAN_USER_POSITION_LEN];
|
||||
} __packed vht_group_notif;
|
||||
struct {
|
||||
u8 action_code;
|
||||
u8 dialog_token;
|
||||
@@ -1498,6 +1513,7 @@ struct ieee80211_vht_operation {
|
||||
#define IEEE80211_VHT_CAP_MAX_MPDU_LENGTH_3895 0x00000000
|
||||
#define IEEE80211_VHT_CAP_MAX_MPDU_LENGTH_7991 0x00000001
|
||||
#define IEEE80211_VHT_CAP_MAX_MPDU_LENGTH_11454 0x00000002
|
||||
#define IEEE80211_VHT_CAP_MAX_MPDU_MASK 0x00000003
|
||||
#define IEEE80211_VHT_CAP_SUPP_CHAN_WIDTH_160MHZ 0x00000004
|
||||
#define IEEE80211_VHT_CAP_SUPP_CHAN_WIDTH_160_80PLUS80MHZ 0x00000008
|
||||
#define IEEE80211_VHT_CAP_SUPP_CHAN_WIDTH_MASK 0x0000000C
|
||||
@@ -2079,6 +2095,16 @@ enum ieee80211_tdls_actioncode {
|
||||
#define WLAN_EXT_CAPA8_TDLS_WIDE_BW_ENABLED BIT(5)
|
||||
#define WLAN_EXT_CAPA8_OPMODE_NOTIF BIT(6)
|
||||
|
||||
/* Defines the maximal number of MSDUs in an A-MSDU. */
|
||||
#define WLAN_EXT_CAPA8_MAX_MSDU_IN_AMSDU_LSB BIT(7)
|
||||
#define WLAN_EXT_CAPA9_MAX_MSDU_IN_AMSDU_MSB BIT(0)
|
||||
|
||||
/*
|
||||
* Fine Timing Measurement Initiator - bit 71 of @WLAN_EID_EXT_CAPABILITY
|
||||
* information element
|
||||
*/
|
||||
#define WLAN_EXT_CAPA9_FTM_INITIATOR BIT(7)
|
||||
|
||||
/* TDLS specific payload type in the LLC/SNAP header */
|
||||
#define WLAN_TDLS_SNAP_RFTYPE 0x2
|
||||
|
||||
|
@@ -1,37 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2011, NVIDIA Corporation.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
||||
* more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along
|
||||
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
|
||||
#ifndef __RFKILL_GPIO_H
|
||||
#define __RFKILL_GPIO_H
|
||||
|
||||
#include <linux/types.h>
|
||||
#include <linux/rfkill.h>
|
||||
|
||||
/**
|
||||
* struct rfkill_gpio_platform_data - platform data for rfkill gpio device.
|
||||
* for unused gpio's, the expected value is -1.
|
||||
* @name: name for the gpio rf kill instance
|
||||
*/
|
||||
|
||||
struct rfkill_gpio_platform_data {
|
||||
char *name;
|
||||
enum rfkill_type type;
|
||||
};
|
||||
|
||||
#endif /* __RFKILL_GPIO_H */
|
@@ -104,7 +104,8 @@ int __must_check rfkill_register(struct rfkill *rfkill);
|
||||
*
|
||||
* Pause polling -- say transmitter is off for other reasons.
|
||||
* NOTE: not necessary for suspend/resume -- in that case the
|
||||
* core stops polling anyway
|
||||
* core stops polling anyway (but will also correctly handle
|
||||
* the case of polling having been paused before suspend.)
|
||||
*/
|
||||
void rfkill_pause_polling(struct rfkill *rfkill);
|
||||
|
||||
@@ -212,6 +213,15 @@ void rfkill_set_states(struct rfkill *rfkill, bool sw, bool hw);
|
||||
* @rfkill: rfkill struct to query
|
||||
*/
|
||||
bool rfkill_blocked(struct rfkill *rfkill);
|
||||
|
||||
/**
|
||||
* rfkill_find_type - Helpper for finding rfkill type by name
|
||||
* @name: the name of the type
|
||||
*
|
||||
* Returns enum rfkill_type that conrresponds the name.
|
||||
*/
|
||||
enum rfkill_type rfkill_find_type(const char *name);
|
||||
|
||||
#else /* !RFKILL */
|
||||
static inline struct rfkill * __must_check
|
||||
rfkill_alloc(const char *name,
|
||||
@@ -268,6 +278,12 @@ static inline bool rfkill_blocked(struct rfkill *rfkill)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
static inline enum rfkill_type rfkill_find_type(const char *name)
|
||||
{
|
||||
return RFKILL_TYPE_ALL;
|
||||
}
|
||||
|
||||
#endif /* RFKILL || RFKILL_MODULE */
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user