Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c175198f authored by Bojun Pan's avatar Bojun Pan Committed by Gerrit - the friendly Code Review server
Browse files

msm: ipa: adjust the aggregation params on WLAN path



There is the requirement on wdi2/3, IPA Linux needs to enable
aggregation on WLAN producer pipe with pkt cnt = 1 and hard
byte limit = 2K.

Change-Id: I9e771c1ed97fce11970b09329738bac320c77008
Signed-off-by: default avatarBojun Pan <bojunp@codeaurora.org>
parent f74ff626
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -1935,6 +1935,15 @@ int ipa3_connect_wdi_pipe(struct ipa_wdi_in_params *in,
	else
		IPADBG("in->wdi_notify is null\n");

	if (IPA_CLIENT_IS_CONS(in->sys.client)) {
		in->sys.ipa_ep_cfg.aggr.aggr_en = IPA_ENABLE_AGGR;
		in->sys.ipa_ep_cfg.aggr.aggr = IPA_GENERIC;
		in->sys.ipa_ep_cfg.aggr.aggr_pkt_limit = IPA_AGGR_PKT_LIMIT;
		in->sys.ipa_ep_cfg.aggr.aggr_byte_limit =
						IPA_AGGR_HARD_BYTE_LIMIT;
		in->sys.ipa_ep_cfg.aggr.aggr_hard_byte_limit_en =
						IPA_ENABLE_AGGR;
	}
	if (!ep->skip_ep_cfg) {
		if (ipa3_cfg_ep(ipa_ep_idx, &in->sys.ipa_ep_cfg)) {
			IPAERR("fail to configure EP.\n");
+8 −0
Original line number Diff line number Diff line
@@ -12,6 +12,9 @@
#define UPDATE_RP_MODERATION_CONFIG 1
#define UPDATE_RP_MODERATION_THRESHOLD 8

#define IPA_WLAN_AGGR_PKT_LIMIT 1
#define IPA_WLAN_AGGR_BYTE_LIMIT 2 /*2 Kbytes Agger hard byte limit*/

#define IPA_WDI3_GSI_EVT_RING_INT_MODT 32

static void ipa3_wdi3_gsi_evt_ring_err_cb(struct gsi_evt_err_notify *notify)
@@ -568,6 +571,11 @@ int ipa3_conn_wdi3_pipes(struct ipa_wdi_conn_in_params *in,
		memcpy(&ep_tx->cfg, &in->u_tx.tx_smmu.ipa_ep_cfg,
			sizeof(ep_tx->cfg));

	ep_tx->cfg.aggr.aggr_en = IPA_ENABLE_AGGR;
	ep_tx->cfg.aggr.aggr = IPA_GENERIC;
	ep_tx->cfg.aggr.aggr_byte_limit = IPA_WLAN_AGGR_BYTE_LIMIT;
	ep_tx->cfg.aggr.aggr_pkt_limit = IPA_WLAN_AGGR_PKT_LIMIT;
	ep_tx->cfg.aggr.aggr_hard_byte_limit_en = IPA_ENABLE_AGGR;
	if (ipa3_cfg_ep(ipa_ep_idx_tx, &ep_tx->cfg)) {
		IPAERR("fail to setup tx pipe cfg\n");
		result = -EFAULT;