wlan: add support for new channel in DXE driver

add support for configuring channel 5 to receive
data. This channel will be used by the firmware
to send the logging data.

CRs-Fixed: 813591
Change-Id: I7f6c729daae7aa33042dae2d9e0be5639d31b982
diff --git a/CORE/DXE/src/wlan_qct_dxe_cfg_i.c b/CORE/DXE/src/wlan_qct_dxe_cfg_i.c
index 9f94e6c..c44d060 100644
--- a/CORE/DXE/src/wlan_qct_dxe_cfg_i.c
+++ b/CORE/DXE/src/wlan_qct_dxe_cfg_i.c
@@ -252,12 +252,52 @@
    eWLAN_PAL_TRUE
 };
 
+WLANDXE_ChannelConfigType chanRXLogConfig =
+{
+   /* Q handle type, Circular */
+   WLANDXE_CHANNEL_HANDLE_CIRCULA,
+
+   /* Number of Descriptors*/
+   8,
+
+   /* MAX num RX Buffer*/
+   1,
+
+   /* Reference WQ, RX23 */
+   23,
+
+   /* USB Only, End point info */
+   0,
+
+   /* Transfer Type */
+   WLANDXE_DESC_CTRL_XTYPE_B2H,
+
+   /* Channel Priority 7(Highest) - 0(Lowest)*/
+   0,
+
+   /* BD attached to frames for this pipe */
+   eWLAN_PAL_TRUE,
+
+   /* chk_size*/
+   0,
+
+   /* bmuThdSel*/
+   8,
+
+   /* Added in Gen5 for Prefetch*/
+   eWLAN_PAL_TRUE,
+
+   /* Use short Descriptor */
+   eWLAN_PAL_TRUE
+};
+
 WLANDXE_ChannelMappingType channelList[WDTS_CHANNEL_MAX] =
 {
    {WDTS_CHANNEL_TX_LOW_PRI,  WLANDXE_DMA_CHANNEL_0, &chanTXLowPriConfig},
    {WDTS_CHANNEL_TX_HIGH_PRI, WLANDXE_DMA_CHANNEL_4, &chanTXHighPriConfig},
    {WDTS_CHANNEL_RX_LOW_PRI,  WLANDXE_DMA_CHANNEL_1, &chanRXLowPriConfig},
    {WDTS_CHANNEL_RX_HIGH_PRI, WLANDXE_DMA_CHANNEL_3, &chanRXHighPriConfig},
+   {WDTS_CHANNEL_RX_LOG, WLANDXE_DMA_CHANNEL_5, &chanRXLogConfig},
 };
 
 WLANDXE_TxCompIntConfigType txCompInt = 
@@ -281,6 +321,49 @@
    10
 };
 
+// Indicates the DXE channels being used in the current run.
+static wpt_uint8 dxeEnabledChannels;
+
+/*==========================================================================
+  @  Function Name
+      dxeSetEnabledChannels
+
+  @  Description
+
+  @  Parameters
+
+  @  Return
+      void
+
+===========================================================================*/
+void dxeSetEnabledChannels
+(
+   wpt_uint8 enabledChannels
+)
+{
+   dxeEnabledChannels = enabledChannels;
+}
+
+/*==========================================================================
+  @  Function Name
+      dxeGetEnabledChannels
+
+  @  Description
+
+  @  Parameters
+
+  @  Return
+      wpt_uint8
+
+===========================================================================*/
+wpt_uint8 dxeGetEnabledChannels
+(
+   void
+)
+{
+   return dxeEnabledChannels;
+}
+
 /*==========================================================================
   @  Function Name 
       dxeCommonDefaultConfig
@@ -428,7 +511,8 @@
    }
    /* RX Channel, Set SIQ bit, Clear DIQ bit since source is not WQ */
    else if((WDTS_CHANNEL_RX_LOW_PRI  == channelEntry->channelType) ||
-           (WDTS_CHANNEL_RX_HIGH_PRI == channelEntry->channelType))
+           (WDTS_CHANNEL_RX_HIGH_PRI == channelEntry->channelType) ||
+           (WDTS_CHANNEL_RX_LOG == channelEntry->channelType))
    {
       channelEntry->extraConfig.chan_mask |= WLANDXE_CH_CTRL_SIQ_MASK;
    }
@@ -570,6 +654,10 @@
    {
       channelEntry->numDesc         = mappedChannel->channelConfig->nDescs;
    }
+   else if(WDTS_CHANNEL_RX_LOG == channelEntry->channelType)
+   {
+      channelEntry->numDesc         = mappedChannel->channelConfig->nDescs;
+   }
    else
    {
       channelEntry->numDesc         = rxResourceCount / 4;