diff options
author | Gregory Greenman <gregory.greenman@intel.com> | 2017-11-02 05:07:52 +0300 |
---|---|---|
committer | Luca Coelho <luciano.coelho@intel.com> | 2018-04-20 10:57:16 +0300 |
commit | 84226ca1c5d34e6a8492d12848e9cdf7752b834b (patch) | |
tree | 15676dfef3233911038cb53b2e990c74baac4f86 /drivers/net/wireless/intel/iwlwifi/fw | |
parent | cf58c9e0915aad684aa8e9b82afd260c67ee7b22 (diff) | |
download | linux-84226ca1c5d34e6a8492d12848e9cdf7752b834b.tar.xz |
iwlwifi: mvm: support offload of AMSDU rate control
Support the new APIs and activate AMSDU based on the
offloaded TLC decisions.
Signed-off-by: Sara Sharon <sara.sharon@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Diffstat (limited to 'drivers/net/wireless/intel/iwlwifi/fw')
-rw-r--r-- | drivers/net/wireless/intel/iwlwifi/fw/api/datapath.h | 5 | ||||
-rw-r--r-- | drivers/net/wireless/intel/iwlwifi/fw/api/rs.h | 18 |
2 files changed, 21 insertions, 2 deletions
diff --git a/drivers/net/wireless/intel/iwlwifi/fw/api/datapath.h b/drivers/net/wireless/intel/iwlwifi/fw/api/datapath.h index a57c7223df0f..184cee98c359 100644 --- a/drivers/net/wireless/intel/iwlwifi/fw/api/datapath.h +++ b/drivers/net/wireless/intel/iwlwifi/fw/api/datapath.h @@ -93,6 +93,11 @@ enum iwl_data_path_subcmd_ids { TLC_MNG_NOTIF_REQ_CMD = 0x10, /** + * @TLC_MNG_AMSDU_ENABLE_NOTIF: &struct iwl_tlc_amsdu_notif + */ + TLC_MNG_AMSDU_ENABLE_NOTIF = 0xF6, + + /** * @TLC_MNG_UPDATE_NOTIF: &struct iwl_tlc_update_notif */ TLC_MNG_UPDATE_NOTIF = 0xF7, diff --git a/drivers/net/wireless/intel/iwlwifi/fw/api/rs.h b/drivers/net/wireless/intel/iwlwifi/fw/api/rs.h index e49a6f7be613..1a8f3154a1fe 100644 --- a/drivers/net/wireless/intel/iwlwifi/fw/api/rs.h +++ b/drivers/net/wireless/intel/iwlwifi/fw/api/rs.h @@ -205,7 +205,7 @@ enum iwl_tlc_mng_ht_rates { * @non_ht_supp_rates: bitmap of supported legacy rates * @ht_supp_rates: bitmap of supported HT/VHT rates, valid bits are 0-9 * @mode: &enum iwl_tlc_mng_cfg_mode - * @reserved2: reserved + * @amsdu: TX amsdu is supported * @he_supp_rates: bitmap of supported HE rates * @sgi_ch_width_supp: bitmap of SGI support per channel width * @he_gi_support: 11ax HE guard interval @@ -222,13 +222,27 @@ struct iwl_tlc_config_cmd { __le16 non_ht_supp_rates; __le16 ht_supp_rates[MAX_RS_ANT_NUM]; u8 mode; - u8 reserved2; + u8 amsdu; __le16 he_supp_rates; u8 sgi_ch_width_supp; u8 he_gi_support; __le32 max_ampdu_cnt; } __packed; /* TLC_MNG_CONFIG_CMD_API_S_VER_1 */ +/** + * struct iwl_tlc_amsdu_notif - TLC AMSDU configuration + * @sta_id: station id + * @reserved: reserved + * @amsdu_size: Max AMSDU size, in bytes + * @amsdu_enabled: bitmap for per-TID AMSDU enablement + */ +struct iwl_tlc_amsdu_notif { + u8 sta_id; + u8 reserved[3]; + __le16 amsdu_size; + __le16 amsdu_enabled; +} __packed; /* TLC_MNG_AMSDU_ENABLE_NTFY_API_S_VER_1 */ + #define IWL_TLC_NOTIF_INIT_RATE_POS 0 #define IWL_TLC_NOTIF_INIT_RATE_MSK BIT(IWL_TLC_NOTIF_INIT_RATE_POS) #define IWL_TLC_NOTIF_REQ_INTERVAL (500) |