mac80211: add a HW flag for supporting HW TX fragmentation
Currently mac80211 determines whether HW does fragmentation by checking whether the set_frag_threshold callback is set or not. However, some drivers may want to set the HW fragmentation capability depending on HW generation. Allow this by checking a HW flag instead of checking the callback. Signed-off-by: Sara Sharon <sara.sharon@intel.com> [added the flag to ath10k and wlcore] Signed-off-by: Luca Coelho <luciano.coelho@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:

committed by
Johannes Berg

parent
0aa419ec6e
commit
f3fe4e93dd
@@ -2025,6 +2025,10 @@ struct ieee80211_txq {
|
||||
* drivers, mac80211 packet loss mechanism will not be triggered and driver
|
||||
* is completely depending on firmware event for station kickout.
|
||||
*
|
||||
* @IEEE80211_HW_SUPPORTS_TX_FRAG: Hardware does fragmentation by itself.
|
||||
* The stack will not do fragmentation.
|
||||
* The callback for @set_frag_threshold should be set as well.
|
||||
*
|
||||
* @NUM_IEEE80211_HW_FLAGS: number of hardware flags, used for sizing arrays
|
||||
*/
|
||||
enum ieee80211_hw_flags {
|
||||
@@ -2066,6 +2070,7 @@ enum ieee80211_hw_flags {
|
||||
IEEE80211_HW_TX_AMSDU,
|
||||
IEEE80211_HW_TX_FRAG_LIST,
|
||||
IEEE80211_HW_REPORTS_LOW_ACK,
|
||||
IEEE80211_HW_SUPPORTS_TX_FRAG,
|
||||
|
||||
/* keep last, obviously */
|
||||
NUM_IEEE80211_HW_FLAGS
|
||||
@@ -3093,8 +3098,9 @@ enum ieee80211_reconfig_type {
|
||||
* The callback must be atomic.
|
||||
*
|
||||
* @set_frag_threshold: Configuration of fragmentation threshold. Assign this
|
||||
* if the device does fragmentation by itself; if this callback is
|
||||
* implemented then the stack will not do fragmentation.
|
||||
* if the device does fragmentation by itself. Note that to prevent the
|
||||
* stack from doing fragmentation IEEE80211_HW_SUPPORTS_TX_FRAG
|
||||
* should be set as well.
|
||||
* The callback can sleep.
|
||||
*
|
||||
* @set_rts_threshold: Configuration of RTS threshold (if device needs it)
|
||||
|
Reference in New Issue
Block a user