wlan: New feature, Set TX Power with SAP mode.

Current SET_TX_MAX_POWER command will limit TX power.
Set TX power is new requirement from customer

Change-Id: If40f45d3cfca46df8313d1d6213b04002e80165f
CRs-fixed: 451750
diff --git a/CORE/WDI/CP/inc/wlan_qct_wdi.h b/CORE/WDI/CP/inc/wlan_qct_wdi.h
index 7dd86ae..6ed59f0 100644
--- a/CORE/WDI/CP/inc/wlan_qct_wdi.h
+++ b/CORE/WDI/CP/inc/wlan_qct_wdi.h
@@ -2943,6 +2943,18 @@
 }WDI_SetMaxTxPowerInfoType;
 
 /*---------------------------------------------------------------------------
+  WDI_SetTxPowerInfoType
+---------------------------------------------------------------------------*/
+
+typedef struct
+{
+  wpt_uint8  bssIdx;
+  /* In request  power == MaxTxpower to be used.*/
+  wpt_uint8  ucPower;
+
+}WDI_SetTxPowerInfoType;
+
+/*---------------------------------------------------------------------------
   WDI_SetMaxTxPowerParamsType
 ---------------------------------------------------------------------------*/
 typedef struct
@@ -2960,6 +2972,23 @@
   void*             pUserData;
 }WDI_SetMaxTxPowerParamsType;
 
+/*---------------------------------------------------------------------------
+  WDI_SetTxPowerParamsType
+---------------------------------------------------------------------------*/
+typedef struct
+{
+  /*Link Info*/
+  WDI_SetTxPowerInfoType  wdiTxPowerInfo;
+
+  /*Request status callback offered by UMAC - it is called if the current
+    req has returned PENDING as status; it delivers the status of sending
+    the message over the BUS */
+  WDI_ReqStatusCb   wdiReqStatusCB;
+
+  /*The user data passed in by UMAC, it will be sent back when the above
+    function pointer will be called */
+  void*             pUserData;
+}WDI_SetTxPowerParamsType;
 
 /*---------------------------------------------------------------------------
   WDI_SetMaxTxPowerRspMsg
@@ -2975,6 +3004,20 @@
  
 }WDI_SetMaxTxPowerRspMsg;
 
+/*---------------------------------------------------------------------------
+  WDI_SetTxPowerRspMsg
+---------------------------------------------------------------------------*/
+
+typedef struct
+{
+  /* In response, power==tx power used for management frames*/
+  wpt_int8  ucPower;
+
+  /*Result of the operation*/
+  WDI_Status wdiStatus;
+
+}WDI_SetTxPowerRspMsg;
+
 typedef struct
 {
   wpt_uint8   ucOpp_ps;
@@ -5495,6 +5538,26 @@
                                              void* pUserData);
 
 /*---------------------------------------------------------------------------
+   WDA_SetTxPowerRspCb
+
+   DESCRIPTION
+
+   This callback is invoked by DAL when it has received a set max Tx Power response from
+   the underlying device.
+
+   PARAMETERS
+
+    IN
+    wdiStatus:  response status received from HAL
+    pUserData:  user data
+
+  RETURN VALUE
+    The result code associated with performing the operation
+---------------------------------------------------------------------------*/
+typedef void (*WDA_SetTxPowerRspCb)(WDI_SetTxPowerRspMsg *wdiSetTxPowerRsp,
+                                             void* pUserData);
+
+/*---------------------------------------------------------------------------
    WDI_UpdateProbeRspTemplateRspCb
  
    DESCRIPTION   
@@ -7170,6 +7233,32 @@
   void*                          pUserData
 );
 
+
+/**
+ @brief WDI_SetTxPowerReq will be called when the upper
+        MAC wants to set Tx Power to HW.
+        In state BUSY this request will be queued. Request won't
+        be allowed in any other state.
+
+
+ @param pwdiSetTxPowerParams: set TS Power parameters
+           BSSID and target TX Power with dbm included
+
+        wdiReqStatusCb: callback for passing back the response
+
+        pUserData: user data will be passed back with the
+        callback
+
+ @return Result of the function call
+*/
+WDI_Status
+WDI_SetTxPowerReq
+(
+  WDI_SetTxPowerParamsType*   pwdiSetTxPowerParams,
+  WDA_SetTxPowerRspCb         wdiReqStatusCb,
+  void*                       pUserData
+);
+
 /**
  @brief WDI_SetMaxTxPowerReq will be called when the upper 
         MAC wants to set Max Tx Power to HW. Upon the