diff options
Diffstat (limited to 'include/net/cfg80211.h')
-rw-r--r-- | include/net/cfg80211.h | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/include/net/cfg80211.h b/include/net/cfg80211.h index 49409602fe3d..071ed2395c9a 100644 --- a/include/net/cfg80211.h +++ b/include/net/cfg80211.h | |||
@@ -1781,6 +1781,35 @@ struct cfg80211_wowlan { | |||
1781 | }; | 1781 | }; |
1782 | 1782 | ||
1783 | /** | 1783 | /** |
1784 | * struct cfg80211_coalesce_rules - Coalesce rule parameters | ||
1785 | * | ||
1786 | * This structure defines coalesce rule for the device. | ||
1787 | * @delay: maximum coalescing delay in msecs. | ||
1788 | * @condition: condition for packet coalescence. | ||
1789 | * see &enum nl80211_coalesce_condition. | ||
1790 | * @patterns: array of packet patterns | ||
1791 | * @n_patterns: number of patterns | ||
1792 | */ | ||
1793 | struct cfg80211_coalesce_rules { | ||
1794 | int delay; | ||
1795 | enum nl80211_coalesce_condition condition; | ||
1796 | struct cfg80211_pkt_pattern *patterns; | ||
1797 | int n_patterns; | ||
1798 | }; | ||
1799 | |||
1800 | /** | ||
1801 | * struct cfg80211_coalesce - Packet coalescing settings | ||
1802 | * | ||
1803 | * This structure defines coalescing settings. | ||
1804 | * @rules: array of coalesce rules | ||
1805 | * @n_rules: number of rules | ||
1806 | */ | ||
1807 | struct cfg80211_coalesce { | ||
1808 | struct cfg80211_coalesce_rules *rules; | ||
1809 | int n_rules; | ||
1810 | }; | ||
1811 | |||
1812 | /** | ||
1784 | * struct cfg80211_wowlan_wakeup - wakeup report | 1813 | * struct cfg80211_wowlan_wakeup - wakeup report |
1785 | * @disconnect: woke up by getting disconnected | 1814 | * @disconnect: woke up by getting disconnected |
1786 | * @magic_pkt: woke up by receiving magic packet | 1815 | * @magic_pkt: woke up by receiving magic packet |
@@ -2076,6 +2105,7 @@ struct cfg80211_update_ft_ies_params { | |||
2076 | * driver can take the most appropriate actions. | 2105 | * driver can take the most appropriate actions. |
2077 | * @crit_proto_stop: Indicates critical protocol no longer needs increased link | 2106 | * @crit_proto_stop: Indicates critical protocol no longer needs increased link |
2078 | * reliability. This operation can not fail. | 2107 | * reliability. This operation can not fail. |
2108 | * @set_coalesce: Set coalesce parameters. | ||
2079 | */ | 2109 | */ |
2080 | struct cfg80211_ops { | 2110 | struct cfg80211_ops { |
2081 | int (*suspend)(struct wiphy *wiphy, struct cfg80211_wowlan *wow); | 2111 | int (*suspend)(struct wiphy *wiphy, struct cfg80211_wowlan *wow); |
@@ -2311,6 +2341,8 @@ struct cfg80211_ops { | |||
2311 | u16 duration); | 2341 | u16 duration); |
2312 | void (*crit_proto_stop)(struct wiphy *wiphy, | 2342 | void (*crit_proto_stop)(struct wiphy *wiphy, |
2313 | struct wireless_dev *wdev); | 2343 | struct wireless_dev *wdev); |
2344 | int (*set_coalesce)(struct wiphy *wiphy, | ||
2345 | struct cfg80211_coalesce *coalesce); | ||
2314 | }; | 2346 | }; |
2315 | 2347 | ||
2316 | /* | 2348 | /* |
@@ -2537,6 +2569,25 @@ struct wiphy_wowlan_support { | |||
2537 | }; | 2569 | }; |
2538 | 2570 | ||
2539 | /** | 2571 | /** |
2572 | * struct wiphy_coalesce_support - coalesce support data | ||
2573 | * @n_rules: maximum number of coalesce rules | ||
2574 | * @max_delay: maximum supported coalescing delay in msecs | ||
2575 | * @n_patterns: number of supported patterns in a rule | ||
2576 | * (see nl80211.h for the pattern definition) | ||
2577 | * @pattern_max_len: maximum length of each pattern | ||
2578 | * @pattern_min_len: minimum length of each pattern | ||
2579 | * @max_pkt_offset: maximum Rx packet offset | ||
2580 | */ | ||
2581 | struct wiphy_coalesce_support { | ||
2582 | int n_rules; | ||
2583 | int max_delay; | ||
2584 | int n_patterns; | ||
2585 | int pattern_max_len; | ||
2586 | int pattern_min_len; | ||
2587 | int max_pkt_offset; | ||
2588 | }; | ||
2589 | |||
2590 | /** | ||
2540 | * struct wiphy - wireless hardware description | 2591 | * struct wiphy - wireless hardware description |
2541 | * @reg_notifier: the driver's regulatory notification callback, | 2592 | * @reg_notifier: the driver's regulatory notification callback, |
2542 | * note that if your driver uses wiphy_apply_custom_regulatory() | 2593 | * note that if your driver uses wiphy_apply_custom_regulatory() |
@@ -2646,6 +2697,7 @@ struct wiphy_wowlan_support { | |||
2646 | * 802.11-2012 8.4.2.29 for the defined fields. | 2697 | * 802.11-2012 8.4.2.29 for the defined fields. |
2647 | * @extended_capabilities_mask: mask of the valid values | 2698 | * @extended_capabilities_mask: mask of the valid values |
2648 | * @extended_capabilities_len: length of the extended capabilities | 2699 | * @extended_capabilities_len: length of the extended capabilities |
2700 | * @coalesce: packet coalescing support information | ||
2649 | */ | 2701 | */ |
2650 | struct wiphy { | 2702 | struct wiphy { |
2651 | /* assign these fields before you register the wiphy */ | 2703 | /* assign these fields before you register the wiphy */ |
@@ -2755,6 +2807,8 @@ struct wiphy { | |||
2755 | const struct iw_handler_def *wext; | 2807 | const struct iw_handler_def *wext; |
2756 | #endif | 2808 | #endif |
2757 | 2809 | ||
2810 | const struct wiphy_coalesce_support *coalesce; | ||
2811 | |||
2758 | char priv[0] __aligned(NETDEV_ALIGN); | 2812 | char priv[0] __aligned(NETDEV_ALIGN); |
2759 | }; | 2813 | }; |
2760 | 2814 | ||