wlan: Add support for updating multicast transmit rate.
Add support for updating multicast rate.
CRs-fixed: 549461
Change-Id: If7342207d6e828f078268d8b51f57fbcdcd94a7c
diff --git a/CORE/WDI/CP/inc/wlan_qct_wdi.h b/CORE/WDI/CP/inc/wlan_qct_wdi.h
index 12ba8f9..3d34bf4 100644
--- a/CORE/WDI/CP/inc/wlan_qct_wdi.h
+++ b/CORE/WDI/CP/inc/wlan_qct_wdi.h
@@ -732,6 +732,80 @@
}WDI_IbssPeerInactivityIndType;
/*---------------------------------------------------------------------------
+ WDI_TxRateFlags
+-----------------------------------------------------------------------------*/
+typedef enum
+{
+ WDI_TX_RATE_LEGACY = 0x1, /* Legacy rates */
+ WDI_TX_RATE_HT20 = 0x2, /* HT20 rates */
+ WDI_TX_RATE_HT40 = 0x4, /* HT40 rates */
+ WDI_TX_RATE_SGI = 0x8, /* Rate with Short guard interval */
+ WDI_TX_RATE_LGI = 0x10, /* Rate with Long guard interval */
+ WDI_TX_RATE_VHT20 = 0x20, /* VHT 20 rates */
+ WDI_TX_RATE_VHT40 = 0x40, /* VHT 20 rates */
+ WDI_TX_RATE_VHT80 = 0x80, /* VHT 20 rates */
+ WDI_TX_RATE_VIRT = 0x100, /* Virtual Rate */
+} WDI_TxRateFlags;
+
+/*---------------------------------------------------------------------------
+ WDI_RateUpdateIndParams
+-----------------------------------------------------------------------------*/
+typedef struct
+{
+ /* 0 implies RA, positive value implies fixed rate, -1 implies ignore this
+ * param ucastDataRate can be used to control RA behavior of unicast data to
+ */
+ wpt_int32 ucastDataRate;
+
+ /* TX flag to differentiate between HT20, HT40 etc */
+ WDI_TxRateFlags ucastDataRateTxFlag;
+
+ /* BSSID - Optional. 00-00-00-00-00-00 implies apply to all BCAST STAs */
+ wpt_macAddr bssid;
+
+ /*
+ * 0 implies MCAST RA, positive value implies fixed rate,
+ * -1 implies ignore this param
+ */
+ wpt_int32 reliableMcastDataRate; //unit Mbpsx10
+
+ /* TX flag to differentiate between HT20, HT40 etc */
+ WDI_TxRateFlags reliableMcastDataRateTxFlag;
+
+ /*
+ * MCAST(or BCAST) fixed data rate in 2.4 GHz, unit Mbpsx10,
+ * 0 implies ignore
+ */
+ wpt_uint32 mcastDataRate24GHz;
+
+ /* TX flag to differentiate between HT20, HT40 etc */
+ WDI_TxRateFlags mcastDataRate24GHzTxFlag;
+
+ /*
+ * MCAST(or BCAST) fixed data rate in 5 GHz,
+ * unit Mbpsx10, 0 implies ignore
+ */
+ wpt_uint32 mcastDataRate5GHz;
+
+ /* TX flag to differentiate between HT20, HT40 etc */
+ WDI_TxRateFlags mcastDataRate5GHzTxFlag;
+
+ /*
+ * 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_RateUpdateIndParams;
+
+/*---------------------------------------------------------------------------
WDI_LowLevelIndType
Inidcation type and information about the indication being carried
over
@@ -9838,6 +9912,26 @@
WDI_DHCPInd *wdiDHCPInd
);
+/**
+ @brief WDI_RateUpdateInd will be called when the upper MAC
+ requests the device to update rates.
+
+ In state BUSY this request will be queued. Request won't
+ be allowed in any other state.
+
+
+ @param wdiRateUpdateIndParams
+
+
+ @see WDI_Start
+ @return Result of the function call
+*/
+WDI_Status
+WDI_RateUpdateInd
+(
+ WDI_RateUpdateIndParams *wdiRateUpdateIndParams
+);
+
#ifdef WLAN_FEATURE_GTK_OFFLOAD
/**
@brief WDI_GTKOffloadReq will be called when the upper MAC