diff --git a/hif/src/ce/ce_assignment.h b/hif/src/ce/ce_assignment.h index 52cf3a978105..c5d824e46eba 100644 --- a/hif/src/ce/ce_assignment.h +++ b/hif/src/ce/ce_assignment.h @@ -842,6 +842,39 @@ static struct CE_attr host_ce_config_wlan_adrastea[] = { { /* CE11 */ CE_ATTR_FLAGS, 0, 0, 2048, 512, NULL,}, }; +static struct CE_pipe_config + target_lowdesc_ce_config_wlan_adrastea_nopktlog[] = { + /* 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, 64, 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,}, + /* 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,}, + /* Reserved for target autonomous HIF_memcpy */ + { /* CE6 */ 6, PIPEDIR_INOUT, 32, 16384, CE_ATTR_FLAGS, 0,}, + /* 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 | CE_ATTR_DISABLE_INTR), 0,}, +}; + static struct CE_pipe_config target_ce_config_wlan_adrastea[] = { /* host->target HTC control and raw streams */ { /* CE0 */ 0, PIPEDIR_OUT, 32, 2048, CE_ATTR_FLAGS, 0,}, diff --git a/hif/src/ce/ce_main.c b/hif/src/ce/ce_main.c index bc65ea587117..4e71316f18a3 100644 --- a/hif/src/ce/ce_main.c +++ b/hif/src/ce/ce_main.c @@ -3132,16 +3132,21 @@ void hif_ce_prepare_config(struct hif_softc *scn) scn->ce_count = QCA_6390_CE_COUNT; break; case TARGET_TYPE_ADRASTEA: - if (hif_is_attribute_set(scn, HIF_LOWDESC_CE_NO_PKTLOG_CFG)) + if (hif_is_attribute_set(scn, HIF_LOWDESC_CE_NO_PKTLOG_CFG)) { hif_state->host_ce_config = host_lowdesc_ce_config_wlan_adrastea_nopktlog; - else + hif_state->target_ce_config = + target_lowdesc_ce_config_wlan_adrastea_nopktlog; + hif_state->target_ce_config_sz = + sizeof(target_lowdesc_ce_config_wlan_adrastea_nopktlog); + } else { hif_state->host_ce_config = host_ce_config_wlan_adrastea; - - hif_state->target_ce_config = target_ce_config_wlan_adrastea; - hif_state->target_ce_config_sz = + hif_state->target_ce_config = + target_ce_config_wlan_adrastea; + hif_state->target_ce_config_sz = sizeof(target_ce_config_wlan_adrastea); + } break; }