aboutsummaryrefslogtreecommitdiffstats
path: root/include/net/cfg80211.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/net/cfg80211.h')
-rw-r--r--include/net/cfg80211.h54
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 */
1793struct 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 */
1807struct 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 */
2080struct cfg80211_ops { 2110struct 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 */
2581struct 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 */
2650struct wiphy { 2702struct 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