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

Commit 4a8f65d0 authored by qctecmdr Service's avatar qctecmdr Service Committed by Gerrit - the friendly Code Review server
Browse files

Merge "msm: ipa: Set hard byte limit for coalescing pipe only"

parents 87063f09 a081f52d
Loading
Loading
Loading
Loading
+9 −8
Original line number Diff line number Diff line
@@ -3241,25 +3241,26 @@ static void ipa3_set_aggr_limit(struct ipa_sys_connect_params *in,
	u32 *aggr_byte_limit = &in->ipa_ep_cfg.aggr.aggr_byte_limit;
	u32 adjusted_sz = ipa_adjust_ra_buff_base_sz(*aggr_byte_limit);

	IPAERR("get close-by %u\n", adjusted_sz);
	IPAERR("set rx_buff_sz %lu\n", (unsigned long)
	IPADBG("get close-by %u\n", adjusted_sz);
	IPADBG("set rx_buff_sz %lu\n", (unsigned long)
		IPA_GENERIC_RX_BUFF_SZ(adjusted_sz));

	/* disable ipa_status */
	sys->ep->status.status_en = false;
	sys->rx_buff_sz = IPA_GENERIC_RX_BUFF_SZ(adjusted_sz);

	if (ipa3_ctx->ipa_hw_type < IPA_HW_v4_5) {
		*aggr_byte_limit = sys->rx_buff_sz < *aggr_byte_limit ?
			IPA_ADJUST_AGGR_BYTE_LIMIT(sys->rx_buff_sz) :
			IPA_ADJUST_AGGR_BYTE_LIMIT(*aggr_byte_limit);
	} else {
	if (in->client == IPA_CLIENT_APPS_WAN_COAL_CONS) {
		*aggr_byte_limit = sys->rx_buff_sz < *aggr_byte_limit ?
			IPA_ADJUST_AGGR_BYTE_HARD_LIMIT(sys->rx_buff_sz) :
			IPA_ADJUST_AGGR_BYTE_HARD_LIMIT(*aggr_byte_limit);
		in->ipa_ep_cfg.aggr.aggr_hard_byte_limit_en = 1;
	} else {
		*aggr_byte_limit = sys->rx_buff_sz < *aggr_byte_limit ?
			IPA_ADJUST_AGGR_BYTE_LIMIT(sys->rx_buff_sz) :
			IPA_ADJUST_AGGR_BYTE_LIMIT(*aggr_byte_limit);
	}
	IPAERR("set aggr_limit %lu\n", (unsigned long) *aggr_byte_limit);

	IPADBG("set aggr_limit %lu\n", (unsigned long) *aggr_byte_limit);
}

static int ipa3_assign_policy(struct ipa_sys_connect_params *in,
+0 −6
Original line number Diff line number Diff line
@@ -1790,12 +1790,6 @@ static void ipareg_construct_endp_init_aggr_n_v4_5(enum ipahal_reg_name reg,
		IPA_ENDP_INIT_AGGR_n_AGGR_SW_EOF_ACTIVE_SHFT_V4_5,
		IPA_ENDP_INIT_AGGR_n_AGGR_SW_EOF_ACTIVE_BMSK_V4_5);

	/* At IPAv3 hard_byte_limit is not supported */
	if (ep_aggr->aggr_hard_byte_limit_en) {
		IPAHAL_ERR("hard byte limit aggr is not supported\n");
		WARN_ON(1);
	}
	ep_aggr->aggr_hard_byte_limit_en = 0;
	IPA_SETFIELD_IN_REG(*val, ep_aggr->aggr_hard_byte_limit_en,
		IPA_ENDP_INIT_AGGR_n_AGGR_HARD_BYTE_LIMIT_ENABLE_SHFT_V4_5,
		IPA_ENDP_INIT_AGGR_n_AGGR_HARD_BYTE_LIMIT_ENABLE_BMSK_V4_5);