From ddd81ae024410b527ed3026a9b3a190f79709df5 Mon Sep 17 00:00:00 2001 From: Krishna Rao Date: Sat, 23 Sep 2017 14:54:24 +0530 Subject: [PATCH] qcacmn: Add 11ax channel property flags for use with external ACS Add 11ax channel property flags for use with external ACS. Use the remaining available bits in qca_wlan_vendor_channel_prop_flags for the first few 11ax flags. Then add qca_wlan_vendor_channel_prop_flags_2 as a continuation of qca_wlan_vendor_channel_prop_flags and add the remaining 11ax flags there. qca_wlan_vendor_channel_prop_flags_ext is not used since it is currently not intended for holding such information. Rather it is meant for holding additional control information related to features such as DFS, CSA, etc. CRs-Fixed: 2115743 Change-Id: I5294f9a8649f79f7012cd790119be773b40f049d --- os_if/linux/qca_vendor.h | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/os_if/linux/qca_vendor.h b/os_if/linux/qca_vendor.h index a365af317b..fe5a67227c 100644 --- a/os_if/linux/qca_vendor.h +++ b/os_if/linux/qca_vendor.h @@ -2474,6 +2474,30 @@ enum qca_wlan_vendor_channel_prop_flags { QCA_WLAN_VENDOR_CHANNEL_PROP_FLAG_VHT160 = 1 << 26, /* VHT 80+80 channel */ QCA_WLAN_VENDOR_CHANNEL_PROP_FLAG_VHT80_80 = 1 << 27, + /* HE 20 channel */ + QCA_WLAN_VENDOR_CHANNEL_PROP_FLAG_HE20 = 1 << 28, + /* HE 40 with extension channel above */ + QCA_WLAN_VENDOR_CHANNEL_PROP_FLAG_HE40PLUS = 1 << 29, + /* HE 40 with extension channel below */ + QCA_WLAN_VENDOR_CHANNEL_PROP_FLAG_HE40MINUS = 1 << 30, + /* HE 40 intolerant */ + QCA_WLAN_VENDOR_CHANNEL_PROP_FLAG_HE40INTOL = 1 << 31, +}; + +/** + * qca_wlan_vendor_channel_prop_flags_2: This represents the flags for a + * channel, and is a continuation of qca_wlan_vendor_channel_prop_flags. This is + * used by QCA_WLAN_VENDOR_EXTERNAL_ACS_EVENT_CHAN_INFO_ATTR_FLAGS_2. + */ +enum qca_wlan_vendor_channel_prop_flags_2 { + /* HE 40 intolerant mark bit for ACS use */ + QCA_WLAN_VENDOR_CHANNEL_PROP_FLAG_HE40INTOLMARK = 1 << 0, + /* HE 80 channel */ + QCA_WLAN_VENDOR_CHANNEL_PROP_FLAG_HE80 = 1 << 1, + /* HE 160 channel */ + QCA_WLAN_VENDOR_CHANNEL_PROP_FLAG_HE160 = 1 << 2, + /* HE 80+80 channel */ + QCA_WLAN_VENDOR_CHANNEL_PROP_FLAG_HE80_80 = 1 << 3, }; /** @@ -3275,6 +3299,11 @@ enum qca_wlan_vendor_external_acs_event_chan_info_attr { QCA_WLAN_VENDOR_EXTERNAL_ACS_EVENT_CHAN_INFO_ATTR_ANTENNA_GAIN = 8, QCA_WLAN_VENDOR_EXTERNAL_ACS_EVENT_CHAN_INFO_ATTR_VHT_SEG_0 = 9, QCA_WLAN_VENDOR_EXTERNAL_ACS_EVENT_CHAN_INFO_ATTR_VHT_SEG_1 = 10, + /* + * A bitmask (u32) with flags specified in + * enum qca_wlan_vendor_channel_prop_flags_2. + */ + QCA_WLAN_VENDOR_EXTERNAL_ACS_EVENT_CHAN_INFO_ATTR_FLAGS_2 = 11, /* keep last */ QCA_WLAN_VENDOR_EXTERNAL_ACS_EVENT_CHAN_INFO_ATTR_LAST,