wlan: API changes for DISA in the firmware.
Firmware definitions for DISA certification support.
Change-Id: I7fc0709526706e2525e29997d4626e3b981d53a0
CRs-Fixed: 765234
diff --git a/riva/inc/wlan_hal_msg.h b/riva/inc/wlan_hal_msg.h
index d30012e..b0307b1 100644
--- a/riva/inc/wlan_hal_msg.h
+++ b/riva/inc/wlan_hal_msg.h
@@ -67,6 +67,8 @@
Commom Type definitons
---------------------------------------------------------------------------*/
+#define DISA_MAX_PAYLOAD_SIZE 1600
+
//This is to force compiler to use the maximum of an int ( 4 bytes )
#define WLAN_HAL_MAX_ENUM_SIZE 0x7FFFFFFF
#define WLAN_HAL_MSG_TYPE_MAX_ENUM_SIZE 0x7FFF
@@ -515,6 +517,9 @@
WLAN_HAL_TDLS_CHAN_SWITCH_RSP = 291,
WLAN_HAL_MAC_SPOOFED_SCAN_REQ = 292,
WLAN_HAL_MAC_SPOOFED_SCAN_RSP = 293,
+ /* LGE DISA encrypt-decrypt Messages */
+ WLAN_HAL_ENCRYPT_DATA_REQ = 294,
+ WLAN_HAL_ENCRYPT_DATA_RSP = 295,
WLAN_HAL_FW_STATS_REQ = 296,
WLAN_HAL_FW_STATS_RSP = 297,
@@ -1514,6 +1519,114 @@
tHalFinishScanRspParams finishScanRspParams;
} tHalFinishScanRspMsg, *tpHalFinishScanRspMsg;
+typedef PACKED_PRE struct PACKED_POST
+{
+ tSetStaKeyParams keyParams;
+ uint8 pn[6];
+} tHalEncConfigParams;
+
+typedef PACKED_PRE struct PACKED_POST
+{
+ uint16 length;
+ uint8 data[DISA_MAX_PAYLOAD_SIZE];
+} tHalDisaPayload;
+
+typedef PACKED_PRE struct PACKED_POST
+{
+#ifdef BYTE_ORDER_BIG_ENDIAN
+ uint8 reserved1 : 1;
+ uint8 ackpolicy : 2;
+ uint8 eosp : 1;
+ uint8 tid : 4;
+
+ uint8 appsbufferstate : 8;
+#else
+ uint8 appsbufferstate : 8;
+
+ uint8 tid : 4;
+ uint8 eosp : 1;
+ uint8 ackpolicy : 2;
+ uint8 reserved1 : 1;
+#endif
+} tHalQosCtrlFieldType;
+
+typedef PACKED_PRE struct PACKED_POST
+ {
+#ifdef BYTE_ORDER_BIG_ENDIAN
+ uint16 subtype : 4;
+ uint16 type : 2;
+ uint16 protocol : 2;
+
+ uint16 order : 1;
+ uint16 wep : 1;
+ uint16 moredata : 1;
+ uint16 pm : 1;
+ uint16 retry : 1;
+ uint16 morefrag : 1;
+ uint16 fromds : 1;
+ uint16 tods : 1;
+#else
+
+ uint16 tods : 1;
+ uint16 fromds : 1;
+ uint16 morefrag : 1;
+ uint16 retry : 1;
+ uint16 pm : 1;
+ uint16 moredata : 1;
+ uint16 wep : 1;
+ uint16 order : 1;
+
+ uint16 protocol : 2;
+ uint16 type : 2;
+ uint16 subtype : 4;
+#endif
+} tHalFrmCtrlType;
+
+typedef PACKED_PRE struct PACKED_POST
+{
+ /* Frame control field */
+ tHalFrmCtrlType fc;
+ /* Duration ID */
+ uint16 usDurationId;
+ /* Address 1 field */
+ uint8 vA1[HAL_MAC_ADDR_LEN];
+ /* Address 2 field */
+ uint8 vA2[HAL_MAC_ADDR_LEN];
+ /* Address 3 field */
+ uint8 vA3[HAL_MAC_ADDR_LEN];
+ /* Sequence control field */
+ uint16 seqNum;
+ /* Optional A4 address */
+ uint8 optvA4[HAL_MAC_ADDR_LEN];
+ /* Optional QOS control field */
+ tHalQosCtrlFieldType usQosCtrl;
+} tHal80211Header;
+
+typedef PACKED_PRE struct PACKED_POST
+{
+ tHal80211Header macHeader;
+ tHalEncConfigParams encParams;
+ tHalDisaPayload data;
+} tSetEncryptedDataParams, *tpSetEncryptedDataParams;
+
+typedef PACKED_PRE struct PACKED_POST
+{
+ tHalMsgHeader header;
+ tSetEncryptedDataParams encryptedDataParams;
+} tSetEncryptedDataReqMsg, *tpSetEncryptedDataReqMsg;
+
+typedef PACKED_PRE struct PACKED_POST
+{
+ tANI_U32 status;
+ tHalDisaPayload encryptedPayload;
+} tSetEncryptedDataRspParams, *tpSetEncryptedDataRspParams;
+
+typedef PACKED_PRE struct PACKED_POST
+{
+ tHalMsgHeader header;
+ tSetEncryptedDataRspParams encryptedDataRspParams;
+} tSetEncryptedDataRspMsg, *tpSetEncryptedDataRspMsg;
+
/*---------------------------------------------------------------------------
WLAN_HAL_CONFIG_STA_REQ
---------------------------------------------------------------------------*/