From 71b1d14df2c63d32b69840b228ce08482a39e2f6 Mon Sep 17 00:00:00 2001 From: Paul Zhang Date: Sun, 23 Jun 2019 21:15:21 +0800 Subject: [PATCH] qcacmn: 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. Change-Id: I05ce91345c60ca8d194e70549608530e3ee8ec41 CRs-Fixed: 2477322 --- os_if/linux/qca_vendor.h | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/os_if/linux/qca_vendor.h b/os_if/linux/qca_vendor.h index 1e27edc4bc96..ab103ea3ad96 100644 --- a/os_if/linux/qca_vendor.h +++ b/os_if/linux/qca_vendor.h @@ -348,6 +348,10 @@ * 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 { @@ -562,6 +566,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_tos { @@ -7411,4 +7416,22 @@ enum qca_wlan_vendor_attr_beacon_reporting_params { QCA_WLAN_VENDOR_ATTR_BEACON_REPORTING_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