qcacmn: Add CE config for 2nd mac in qca6290

Added CE config for 2nd mac support in Napier. This is needed when
2 mac support is enabled in FW to bringup both 2g and 5g radio

Change-Id: Idd0b8fa7617e4797413266a62053125802f6b3ad
CRs-Fixed: 2192227
This commit is contained in:
Nandha Kishore Easwaran
2018-02-21 12:04:34 +05:30
committed by snandini
parent 52402555cd
commit 51f80b8f0b
2 changed files with 73 additions and 1 deletions

View File

@@ -1,5 +1,5 @@
/* /*
* Copyright (c) 2014-2017 The Linux Foundation. All rights reserved. * Copyright (c) 2014-2018 The Linux Foundation. All rights reserved.
* *
* Previously licensed under the ISC license by Qualcomm Atheros, Inc. * Previously licensed under the ISC license by Qualcomm Atheros, Inc.
* *
@@ -670,6 +670,54 @@ static struct CE_pipe_config target_ce_config_wlan_qca8074_pci[] = {
}; };
#define QCA_6290_CE_COUNT 9 #define QCA_6290_CE_COUNT 9
#ifdef CONFIG_WIN
static struct CE_attr host_ce_config_wlan_qca6290[] = {
/* host->target HTC control and raw streams */
{ /* CE0 */ CE_ATTR_FLAGS, 0, 16, 2048, 0, NULL,},
/* target->host HTT + HTC control */
{ /* CE1 */ CE_ATTR_FLAGS, 0, 0, 2048, 512, NULL,},
/* target->host WMI */
{ /* CE2 */ CE_ATTR_FLAGS, 0, 0, 2048, 32, NULL,},
/* host->target WMI */
{ /* CE3 */ CE_ATTR_FLAGS, 0, 32, 2048, 0, NULL,},
/* host->target HTT */
{ /* CE4 */ (CE_ATTR_FLAGS | CE_ATTR_DISABLE_INTR), 0,
CE_HTT_H2T_MSG_SRC_NENTRIES, 256, 0, NULL,},
/* target -> host PKTLOG */
{ /* CE5 */ CE_ATTR_FLAGS, 0, 0, 2048, 512, NULL,},
/* Target autonomous HIF_memcpy */
{ /* CE6 */ CE_ATTR_FLAGS, 0, 0, 0, 0, NULL,},
/* host->target WMI (mac1) */
{ /* CE7 */ CE_ATTR_FLAGS, 0, 32, 2048, 0, NULL,},
/* Reserved for target */
{ /* CE8 */ CE_ATTR_FLAGS, 0, 0, 0, 0, NULL,},
/* CE 9, 10, 11 belong to CoreBsp & MHI driver */
};
static struct CE_pipe_config target_ce_config_wlan_qca6290[] = {
/* host->target HTC control and raw streams */
{ /* CE0 */ 0, PIPEDIR_OUT, 32, 2048, CE_ATTR_FLAGS, 0,},
/* target->host HTT */
{ /* CE1 */ 1, PIPEDIR_IN, 32, 2048, CE_ATTR_FLAGS, 0,},
/* target->host WMI + HTC control */
{ /* CE2 */ 2, PIPEDIR_IN, 32, 2048, CE_ATTR_FLAGS, 0,},
/* host->target WMI */
{ /* CE3 */ 3, PIPEDIR_OUT, 32, 2048, CE_ATTR_FLAGS, 0,},
/* host->target HTT */
{ /* CE4 */ 4, PIPEDIR_OUT, 256, 256,
(CE_ATTR_FLAGS | CE_ATTR_DISABLE_INTR), 0,},
/* Target -> host PKTLOG */
{ /* CE5 */ 5, PIPEDIR_IN, 32, 2048, CE_ATTR_FLAGS, 0,},
/* Reserved for target autonomous HIF_memcpy */
{ /* CE6 */ 6, PIPEDIR_INOUT, 32, 16384, CE_ATTR_FLAGS, 0,},
/* CE7 used only by Host */
{ /* CE7 */ 7, PIPEDIR_OUT, 32, 2048,
8192, 0,},
/* Reserved for target */
{ /* CE8 */ 8, PIPEDIR_INOUT, 32, 16384, CE_ATTR_FLAGS, 0,},
/* CE 9, 10, 11 belong to CoreBsp & MHI driver */
};
#else
static struct CE_attr host_ce_config_wlan_qca6290[] = { static struct CE_attr host_ce_config_wlan_qca6290[] = {
/* host->target HTC control and raw streams */ /* host->target HTC control and raw streams */
{ /* CE0 */ CE_ATTR_FLAGS, 0, 16, 2048, 0, NULL,}, { /* CE0 */ CE_ATTR_FLAGS, 0, 16, 2048, 0, NULL,},
@@ -717,4 +765,5 @@ static struct CE_pipe_config target_ce_config_wlan_qca6290[] = {
{ /* CE8 */ 8, PIPEDIR_INOUT, 32, 16384, CE_ATTR_FLAGS, 0,}, { /* CE8 */ 8, PIPEDIR_INOUT, 32, 16384, CE_ATTR_FLAGS, 0,},
/* CE 9, 10, 11 belong to CoreBsp & MHI driver */ /* CE 9, 10, 11 belong to CoreBsp & MHI driver */
}; };
#endif
#endif /* __HIF_PCI_INTERNAL_H__ */ #endif /* __HIF_PCI_INTERNAL_H__ */

View File

@@ -410,6 +410,7 @@ static struct service_to_pipe target_service_to_ce_map_qca8074[] = {
{ 0, 0, 0, }, { 0, 0, 0, },
}; };
#ifdef CONFIG_WIN
static struct service_to_pipe target_service_to_ce_map_qca6290[] = { static struct service_to_pipe target_service_to_ce_map_qca6290[] = {
{ WMI_DATA_VO_SVC, PIPEDIR_OUT, 3, }, { WMI_DATA_VO_SVC, PIPEDIR_OUT, 3, },
{ WMI_DATA_VO_SVC, PIPEDIR_IN , 2, }, { WMI_DATA_VO_SVC, PIPEDIR_IN , 2, },
@@ -425,9 +426,31 @@ static struct service_to_pipe target_service_to_ce_map_qca6290[] = {
{ HTC_CTRL_RSVD_SVC, PIPEDIR_IN , 2, }, { HTC_CTRL_RSVD_SVC, PIPEDIR_IN , 2, },
{ HTT_DATA_MSG_SVC, PIPEDIR_OUT, 4, }, { HTT_DATA_MSG_SVC, PIPEDIR_OUT, 4, },
{ HTT_DATA_MSG_SVC, PIPEDIR_IN , 1, }, { HTT_DATA_MSG_SVC, PIPEDIR_IN , 1, },
{ WMI_CONTROL_SVC_WMAC1, PIPEDIR_OUT, 7},
{ WMI_CONTROL_SVC_WMAC1, PIPEDIR_IN, 2},
/* (Additions here) */ /* (Additions here) */
{ 0, 0, 0, }, { 0, 0, 0, },
}; };
#else
static struct service_to_pipe target_service_to_ce_map_qca6290[] = {
{ WMI_DATA_VO_SVC, PIPEDIR_OUT, 3, },
{ WMI_DATA_VO_SVC, PIPEDIR_IN, 2, },
{ WMI_DATA_BK_SVC, PIPEDIR_OUT, 3, },
{ WMI_DATA_BK_SVC, PIPEDIR_IN, 2, },
{ WMI_DATA_BE_SVC, PIPEDIR_OUT, 3, },
{ WMI_DATA_BE_SVC, PIPEDIR_IN, 2, },
{ WMI_DATA_VI_SVC, PIPEDIR_OUT, 3, },
{ WMI_DATA_VI_SVC, PIPEDIR_IN, 2, },
{ WMI_CONTROL_SVC, PIPEDIR_OUT, 3, },
{ WMI_CONTROL_SVC, PIPEDIR_IN, 2, },
{ HTC_CTRL_RSVD_SVC, PIPEDIR_OUT, 0, },
{ HTC_CTRL_RSVD_SVC, PIPEDIR_IN, 2, },
{ HTT_DATA_MSG_SVC, PIPEDIR_OUT, 4, },
{ HTT_DATA_MSG_SVC, PIPEDIR_IN, 1, },
/* (Additions here) */
{ 0, 0, 0, },
};
#endif
static struct service_to_pipe target_service_to_ce_map_ar900b[] = { static struct service_to_pipe target_service_to_ce_map_ar900b[] = {
{ {