From 710af5a21e7db84b85a38d6ca61381a381d10cf6 Mon Sep 17 00:00:00 2001 From: Houston Hoffman Date: Tue, 22 Nov 2016 21:59:03 -0800 Subject: [PATCH] qcacmn: Use 9 copy engines for QCA6290 Reserve CE9-11 for the MHI driver. Change-Id: If09c749293f98e9d0d97e73c3720eb5d8800070f CRs-Fixed: 1093513 --- hif/src/ce/ce_assignment.h | 22 ++++++---------------- hif/src/ce/ce_main.c | 5 +++-- 2 files changed, 9 insertions(+), 18 deletions(-) diff --git a/hif/src/ce/ce_assignment.h b/hif/src/ce/ce_assignment.h index 969b65be7b17..8040b071cef6 100644 --- a/hif/src/ce/ce_assignment.h +++ b/hif/src/ce/ce_assignment.h @@ -535,6 +535,7 @@ static struct CE_pipe_config target_ce_config_wlan_qca8074[] = { { /* CE11 */ 11, PIPEDIR_IN, 32, 2048, CE_ATTR_FLAGS, 0,}, }; +#define QCA_6290_CE_COUNT 9 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,}, @@ -555,14 +556,9 @@ static struct CE_attr host_ce_config_wlan_qca6290[] = { /* ce_diag, the Diagnostic Window */ { /* CE7 */ (CE_ATTR_FLAGS | CE_ATTR_DISABLE_INTR), 0, 2, DIAG_TRANSFER_LIMIT, 2, NULL,}, - /* Target to uMC */ + /* Reserved for target */ { /* CE8 */ CE_ATTR_FLAGS, 0, 0, 0, 0, NULL,}, - /* target->host HTT */ - { /* CE9 */ CE_ATTR_FLAGS, 0, 0, 2048, 512, NULL,}, - /* target->host HTT */ - { /* CE10 */ CE_ATTR_FLAGS, 0, 0, 2048, 512, NULL,}, - /* target -> host PKTLOG */ - { /* CE11 */ CE_ATTR_FLAGS, 0, 0, 2048, 512, NULL,}, + /* CE 9, 10, 11 belong to CoreBsp & MHI driver */ }; static struct CE_pipe_config target_ce_config_wlan_qca6290[] = { @@ -586,14 +582,8 @@ static struct CE_pipe_config target_ce_config_wlan_qca6290[] = { /* CE7 used only by Host */ { /* CE7 */ 7, PIPEDIR_INOUT_H2H, 0, 0, (CE_ATTR_FLAGS | CE_ATTR_DISABLE_INTR), 0,}, - /* CE8 used only by IPA */ - { /* CE8 */ 8, PIPEDIR_IN, 32, 2048, CE_ATTR_FLAGS, 0,}, - /* CE9 target->host HTT */ - { /* CE9 */ 9, PIPEDIR_IN, 32, 2048, CE_ATTR_FLAGS, 0,}, - /* CE10 target->host HTT */ - { /* CE10 */ 10, PIPEDIR_IN, 32, 2048, CE_ATTR_FLAGS, 0,}, - /* Target -> host PKTLOG */ - { /* CE11 */ 11, PIPEDIR_IN, 32, 2048, CE_ATTR_FLAGS, 0,}, + /* Reserved for target */ + { /* CE8 */ 8, PIPEDIR_INOUT, 32, 16384, CE_ATTR_FLAGS, 0,}, + /* CE 9, 10, 11 belong to CoreBsp & MHI driver */ }; -; #endif /* __HIF_PCI_INTERNAL_H__ */ diff --git a/hif/src/ce/ce_main.c b/hif/src/ce/ce_main.c index c565e230d677..a914266bdf0d 100644 --- a/hif/src/ce/ce_main.c +++ b/hif/src/ce/ce_main.c @@ -2021,6 +2021,7 @@ void hif_ce_prepare_config(struct hif_softc *scn) struct hif_target_info *tgt_info = hif_get_target_info_handle(hif_hdl); struct HIF_CE_state *hif_state = HIF_GET_CE_STATE(scn); + scn->ce_count = HOST_CE_COUNT; /* if epping is enabled we need to use the epping configuration. */ if (QDF_IS_EPPING_ENABLED(mode)) { if (CE_EPPING_USES_IRQ) @@ -2094,6 +2095,7 @@ void hif_ce_prepare_config(struct hif_softc *scn) hif_state->target_ce_config = target_ce_config_wlan_qca6290; hif_state->target_ce_config_sz = sizeof(target_ce_config_wlan_qca6290); + scn->ce_count = QCA_6290_CE_COUNT; break; } } @@ -2226,8 +2228,7 @@ int hif_config_ce(struct hif_softc *scn) hif_config_rri_on_ddr(scn); hif_state->ce_services = ce_services_attach(scn); - /* During CE initializtion */ - scn->ce_count = HOST_CE_COUNT; + for (pipe_num = 0; pipe_num < scn->ce_count; pipe_num++) { struct CE_attr *attr; pipe_info = &hif_state->pipe_info[pipe_num];