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
 ---------------------------------------------------------------------------*/