From 123895228d917d020f3159429872697f0792d0e8 Mon Sep 17 00:00:00 2001 From: Paul Zhang Date: Fri, 21 Jun 2019 14:11:11 +0800 Subject: [PATCH] Add QCA vendor command to support OEM data Add a QCA vendor sub command QCA_NL80211_VENDOR_SUBCMD_OEM_DATA with attributes qca_wlan_vendor_attr_oem_data_params to support OEM data. It is used to send OEM data 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. Signed-off-by: Paul Zhang --- src/common/qca-vendor.h | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/src/common/qca-vendor.h b/src/common/qca-vendor.h index 0c607b81a..f02dd73bc 100644 --- a/src/common/qca-vendor.h +++ b/src/common/qca-vendor.h @@ -584,6 +584,10 @@ enum qca_radiotap_vendor_ids { * by the firmware to user space for persistent storage. The attributes * defined in enum qca_vendor_attr_interop_issues_ap are used to deliver * the parameters. + * @QCA_NL80211_VENDOR_SUBCMD_OEM_DATA: This command is used to send OEM data + * 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. */ enum qca_nl80211_vendor_subcmds { QCA_NL80211_VENDOR_SUBCMD_UNSPEC = 0, @@ -754,6 +758,7 @@ enum qca_nl80211_vendor_subcmds { QCA_NL80211_VENDOR_SUBCMD_MPTA_HELPER_CONFIG = 179, QCA_NL80211_VENDOR_SUBCMD_BEACON_REPORTING = 180, QCA_NL80211_VENDOR_SUBCMD_INTEROP_ISSUES_AP = 181, + QCA_NL80211_VENDOR_SUBCMD_OEM_DATA = 182, }; enum qca_wlan_vendor_attr { @@ -7102,4 +7107,21 @@ enum qca_vendor_attr_interop_issues_ap { QCA_WLAN_VENDOR_ATTR_INTEROP_ISSUES_AP_AFTER_LAST - 1 }; +/* + * enum qca_wlan_vendor_attr_oem_data_params - Used by the vendor command + * QCA_NL80211_VENDOR_SUBCMD_OEM_DATA. + * + * @QCA_WLAN_VENDOR_ATTR_OEM_DATA_CMD_DATA: The binary blob for the vendor + * command QCA_NL80211_VENDOR_SUBCMD_OEM_DATA are carried through this attribute. + * NLA_BINARY attribute, the max size is 1024 bytes. + */ +enum qca_wlan_vendor_attr_oem_data_params { + QCA_WLAN_VENDOR_ATTR_OEM_DATA_INVALID = 0, + QCA_WLAN_VENDOR_ATTR_OEM_DATA_CMD_DATA = 1, + + /* keep last */ + QCA_WLAN_VENDOR_ATTR_OEM_DATA_PARAMS_AFTER_LAST, + QCA_WLAN_VENDOR_ATTR_OEM_DATA_PARAMS_MAX = + QCA_WLAN_VENDOR_ATTR_OEM_DATA_PARAMS_AFTER_LAST - 1 +}; #endif /* QCA_VENDOR_H */