diff options
author | Nandha Kishore Easwaran <nandhaki@codeaurora.org> | 2018-02-21 12:04:34 +0530 |
---|---|---|
committer | snandini <snandini@codeaurora.org> | 2018-02-27 15:08:03 -0800 |
commit | 51f80b8f0ba552a5d244c5ec0cd27c8b6d9f4132 (patch) | |
tree | 16a3665491414ac70546a54903a85daa9daad919 /hif | |
parent | 52402555cd8a29d03f5212addeaf5d834572c07d (diff) | |
download | qca-wfi-host-cmn-51f80b8f0ba552a5d244c5ec0cd27c8b6d9f4132.tar.gz |
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
Diffstat (limited to 'hif')
-rw-r--r-- | hif/src/ce/ce_assignment.h | 51 | ||||
-rw-r--r-- | hif/src/ce/ce_main.c | 23 |
2 files changed, 73 insertions, 1 deletions
diff --git a/hif/src/ce/ce_assignment.h b/hif/src/ce/ce_assignment.h index e37322416..0fbf17d5e 100644 --- a/hif/src/ce/ce_assignment.h +++ b/hif/src/ce/ce_assignment.h @@ -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. * @@ -670,6 +670,54 @@ static struct CE_pipe_config target_ce_config_wlan_qca8074_pci[] = { }; #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[] = { /* host->target HTC control and raw streams */ { /* 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,}, /* CE 9, 10, 11 belong to CoreBsp & MHI driver */ }; +#endif #endif /* __HIF_PCI_INTERNAL_H__ */ diff --git a/hif/src/ce/ce_main.c b/hif/src/ce/ce_main.c index 713bb8c74..6381902df 100644 --- a/hif/src/ce/ce_main.c +++ b/hif/src/ce/ce_main.c @@ -410,6 +410,7 @@ static struct service_to_pipe target_service_to_ce_map_qca8074[] = { { 0, 0, 0, }, }; +#ifdef CONFIG_WIN 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, }, @@ -425,9 +426,31 @@ static struct service_to_pipe target_service_to_ce_map_qca6290[] = { { HTC_CTRL_RSVD_SVC, PIPEDIR_IN , 2, }, { HTT_DATA_MSG_SVC, PIPEDIR_OUT, 4, }, { HTT_DATA_MSG_SVC, PIPEDIR_IN , 1, }, + { WMI_CONTROL_SVC_WMAC1, PIPEDIR_OUT, 7}, + { WMI_CONTROL_SVC_WMAC1, PIPEDIR_IN, 2}, + /* (Additions here) */ + { 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[] = { { |