qcacmn: Support separate ce service map for qca6290
qca6290 family chips need a separate ce service map.
packet log service moved to CE5 to replace ipa ce
service.
Change-Id: I150d493df9e7fc910d5dbe44d99693345574a921
CRs-Fixed: 1103155
diff --git a/hif/src/ce/ce_assignment.h b/hif/src/ce/ce_assignment.h
index 6725817..bac7e19 100644
--- a/hif/src/ce/ce_assignment.h
+++ b/hif/src/ce/ce_assignment.h
@@ -608,9 +608,8 @@
/* host->target HTT */
{ /* CE4 */ (CE_ATTR_FLAGS | CE_ATTR_DISABLE_INTR), 0,
CE_HTT_H2T_MSG_SRC_NENTRIES, 256, 0, NULL,},
- /* ipa_uc->target HTC control */
- { /* CE5 */ (CE_ATTR_FLAGS | CE_ATTR_DISABLE_INTR), 0,
- 1024, 512, 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,},
/* ce_diag, the Diagnostic Window */
@@ -633,10 +632,8 @@
/* host->target HTT */
{ /* CE4 */ 4, PIPEDIR_OUT, 256, 256,
(CE_ATTR_FLAGS | CE_ATTR_DISABLE_INTR), 0,},
- /* NB: 50% of src nentries, since tx has 2 frags */
- /* ipa_uc->target */
- { /* CE5 */ 5, PIPEDIR_OUT, 1024, 64,
- (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 */
diff --git a/hif/src/ce/ce_main.c b/hif/src/ce/ce_main.c
index f356f92..5a960c1 100644
--- a/hif/src/ce/ce_main.c
+++ b/hif/src/ce/ce_main.c
@@ -376,6 +376,28 @@
},
};
+/* PIPEDIR_OUT = HOST to Target */
+/* PIPEDIR_IN = TARGET to HOST */
+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, },
+ { PACKET_LOG_SVC, PIPEDIR_IN , 5, },
+ /* (Additions here) */
+ { 0, 0, 0, },
+};
+
static struct service_to_pipe target_service_to_ce_map_ar900b[] = {
{
WMI_DATA_VO_SVC,
@@ -2680,6 +2702,11 @@
sz_tgt_svc_map_to_use =
sizeof(target_service_to_ce_map_ar900b);
break;
+ case TARGET_TYPE_QCA6290:
+ tgt_svc_map_to_use = target_service_to_ce_map_qca6290;
+ sz_tgt_svc_map_to_use =
+ sizeof(target_service_to_ce_map_qca6290);
+ break;
}
}