From 90f0c5ed06618074acf71004d3e8cc07cdb2b55d Mon Sep 17 00:00:00 2001 From: Rajeev Kumar Sirasanagandla Date: Mon, 23 Sep 2019 19:31:48 +0530 Subject: [PATCH] qcacmn: Add QCA vendor command for avoid frequency feature Add vendor command QCA_NL80211_VENDOR_SUBCMD_AVOID_FREQUENCY_EXT and attribute qca_wlan_vendor_attr_avoid_frequency_ext to send structured avoid frequency data. This new command is alternative to existing command QCA_NL80211_VENDOR_SUBCMD_AVOID_FREQUENCY since existing command is using stream of bytes instead of structured data using vendor attributes. Change-Id: I20c4836f9dd36f2e11e70a5b892db469a14c3746 CRs-Fixed: 2533156 --- os_if/linux/qca_vendor.h | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/os_if/linux/qca_vendor.h b/os_if/linux/qca_vendor.h index 13bb0217217a..f64c9e3749b8 100644 --- a/os_if/linux/qca_vendor.h +++ b/os_if/linux/qca_vendor.h @@ -356,6 +356,13 @@ * binary blobs from application/service to firmware. The attributes * defined in enum qca_wlan_vendor_attr_oem_data_params are used to * deliver the parameters. + * @QCA_NL80211_VENDOR_SUBCMD_AVOID_FREQUENCY_EXT: This command/event is used + * to send/receive avoid frequency data using + * enum qca_wlan_vendor_attr_avoid_frequency_ext. + * This new command is alternative to existing command + * QCA_NL80211_VENDOR_SUBCMD_AVOID_FREQUENCY since existing command/event + * is using stream of bytes instead of structured data using vendor + * attributes. * @QCA_NL80211_VENDOR_SUBCMD_ADD_STA_NODE: This vendor subcommand is used to * add the STA node details in driver/firmware. Attributes for this event * are specified in enum qca_wlan_vendor_attr_add_sta_node_params. @@ -574,6 +581,7 @@ enum qca_nl80211_vendor_subcmds { QCA_NL80211_VENDOR_SUBCMD_BEACON_REPORTING = 180, QCA_NL80211_VENDOR_SUBCMD_INTEROP_ISSUES_AP = 181, QCA_NL80211_VENDOR_SUBCMD_OEM_DATA = 182, + QCA_NL80211_VENDOR_SUBCMD_AVOID_FREQUENCY_EXT = 183, QCA_NL80211_VENDOR_SUBCMD_ADD_STA_NODE = 184, }; @@ -8110,6 +8118,32 @@ enum qca_wlan_vendor_attr_oem_data_params { QCA_WLAN_VENDOR_ATTR_OEM_DATA_PARAMS_AFTER_LAST - 1 }; +/** + * enum qca_wlan_vendor_attr_avoid_frequency_ext - Defines attributes to be + * used with vendor command/event QCA_NL80211_VENDOR_SUBCMD_AVOID_FREQUENCY_EXT. + * + * @QCA_WLAN_VENDOR_ATTR_AVOID_FREQUENCY_RANGE: Required + * Nested attribute containing multiple ranges with following attributes: + * QCA_WLAN_VENDOR_ATTR_AVOID_FREQUENCY_START and + * QCA_WLAN_VENDOR_ATTR_AVOID_FREQUENCY_END. + * + * @QCA_WLAN_VENDOR_ATTR_AVOID_FREQUENCY_START: Required (u32) + * Starting center frequency in MHz. + * + * @QCA_WLAN_VENDOR_ATTR_AVOID_FREQUENCY_END: Required (u32) + * Ending center frequency in MHz. + */ +enum qca_wlan_vendor_attr_avoid_frequency_ext { + QCA_WLAN_VENDOR_ATTR_AVOID_FREQUENCY_INVALID = 0, + QCA_WLAN_VENDOR_ATTR_AVOID_FREQUENCY_RANGE = 1, + QCA_WLAN_VENDOR_ATTR_AVOID_FREQUENCY_START = 2, + QCA_WLAN_VENDOR_ATTR_AVOID_FREQUENCY_END = 3, + + QCA_WLAN_VENDOR_ATTR_AVOID_FREQUENCY_AFTER_LAST, + QCA_WLAN_VENDOR_ATTR_AVOID_FREQUENCY_MAX = + QCA_WLAN_VENDOR_ATTR_AVOID_FREQUENCY_AFTER_LAST - 1 +}; + /* * enum qca_wlan_vendor_attr_add_sta_node_params - Used by the vendor command * QCA_NL80211_VENDOR_SUBCMD_ADD_STA_NODE.