diff options
Diffstat (limited to 'include/net/mac80211.h')
-rw-r--r-- | include/net/mac80211.h | 21 |
1 files changed, 15 insertions, 6 deletions
diff --git a/include/net/mac80211.h b/include/net/mac80211.h index 76d43e12cc29..bc865206e5f1 100644 --- a/include/net/mac80211.h +++ b/include/net/mac80211.h | |||
@@ -1219,10 +1219,13 @@ ieee80211_get_alt_retry_rate(const struct ieee80211_hw *hw, | |||
1219 | * the driver's configure_filter() function which frames should be | 1219 | * the driver's configure_filter() function which frames should be |
1220 | * passed to mac80211 and which should be filtered out. | 1220 | * passed to mac80211 and which should be filtered out. |
1221 | * | 1221 | * |
1222 | * The configure_filter() callback is invoked with the parameters | 1222 | * Before configure_filter() is invoked, the prepare_multicast() |
1223 | * @mc_count and @mc_list for the combined multicast address list | 1223 | * callback is invoked with the parameters @mc_count and @mc_list |
1224 | * of all virtual interfaces, @changed_flags telling which flags | 1224 | * for the combined multicast address list of all virtual interfaces. |
1225 | * were changed and @total_flags with the new flag states. | 1225 | * It's use is optional, and it returns a u64 that is passed to |
1226 | * configure_filter(). Additionally, configure_filter() has the | ||
1227 | * arguments @changed_flags telling which flags were changed and | ||
1228 | * @total_flags with the new flag states. | ||
1226 | * | 1229 | * |
1227 | * If your device has no multicast address filters your driver will | 1230 | * If your device has no multicast address filters your driver will |
1228 | * need to check both the %FIF_ALLMULTI flag and the @mc_count | 1231 | * need to check both the %FIF_ALLMULTI flag and the @mc_count |
@@ -1375,9 +1378,13 @@ enum ieee80211_ampdu_mlme_action { | |||
1375 | * for association indication. The @changed parameter indicates which | 1378 | * for association indication. The @changed parameter indicates which |
1376 | * of the bss parameters has changed when a call is made. | 1379 | * of the bss parameters has changed when a call is made. |
1377 | * | 1380 | * |
1381 | * @prepare_multicast: Prepare for multicast filter configuration. | ||
1382 | * This callback is optional, and its return value is passed | ||
1383 | * to configure_filter(). This callback must be atomic. | ||
1384 | * | ||
1378 | * @configure_filter: Configure the device's RX filter. | 1385 | * @configure_filter: Configure the device's RX filter. |
1379 | * See the section "Frame filtering" for more information. | 1386 | * See the section "Frame filtering" for more information. |
1380 | * This callback must be implemented and atomic. | 1387 | * This callback must be implemented. |
1381 | * | 1388 | * |
1382 | * @set_tim: Set TIM bit. mac80211 calls this function when a TIM bit | 1389 | * @set_tim: Set TIM bit. mac80211 calls this function when a TIM bit |
1383 | * must be set or cleared for a given STA. Must be atomic. | 1390 | * must be set or cleared for a given STA. Must be atomic. |
@@ -1479,10 +1486,12 @@ struct ieee80211_ops { | |||
1479 | struct ieee80211_vif *vif, | 1486 | struct ieee80211_vif *vif, |
1480 | struct ieee80211_bss_conf *info, | 1487 | struct ieee80211_bss_conf *info, |
1481 | u32 changed); | 1488 | u32 changed); |
1489 | u64 (*prepare_multicast)(struct ieee80211_hw *hw, | ||
1490 | int mc_count, struct dev_addr_list *mc_list); | ||
1482 | void (*configure_filter)(struct ieee80211_hw *hw, | 1491 | void (*configure_filter)(struct ieee80211_hw *hw, |
1483 | unsigned int changed_flags, | 1492 | unsigned int changed_flags, |
1484 | unsigned int *total_flags, | 1493 | unsigned int *total_flags, |
1485 | int mc_count, struct dev_addr_list *mc_list); | 1494 | u64 multicast); |
1486 | int (*set_tim)(struct ieee80211_hw *hw, struct ieee80211_sta *sta, | 1495 | int (*set_tim)(struct ieee80211_hw *hw, struct ieee80211_sta *sta, |
1487 | bool set); | 1496 | bool set); |
1488 | int (*set_key)(struct ieee80211_hw *hw, enum set_key_cmd cmd, | 1497 | int (*set_key)(struct ieee80211_hw *hw, enum set_key_cmd cmd, |