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

Commit 923071b3 authored by Ashok Vuyyuru's avatar Ashok Vuyyuru
Browse files

msm: ipa4: Fix to use common PM handle for coalescing and default pipe



Because of using different PM handles default WAN consumer handle never
unvote data pending in suspend scenarios. Add changes to use the common
PM handle for default and coalescing pipes.

Change-Id: I2d6ff2998e7b80f11bdb7cfcd787cab098eaf718
Signed-off-by: default avatarAshok Vuyyuru <avuyyuru@codeaurora.org>
parent 69595738
Loading
Loading
Loading
Loading
+8 −2
Original line number Diff line number Diff line
@@ -926,7 +926,7 @@ static void ipa_pm_sys_pipe_cb(void *p, enum ipa_pm_cb_event event)
int ipa3_setup_sys_pipe(struct ipa_sys_connect_params *sys_in, u32 *clnt_hdl)
{
	struct ipa3_ep_context *ep;
	int i, ipa_ep_idx, wan_handle;
	int i, ipa_ep_idx, wan_handle, coal_ep_id;
	int result = -EINVAL;
	struct ipahal_reg_coal_qmap_cfg qmap_cfg;
	struct ipahal_reg_coal_evict_lru evict_lru;
@@ -956,6 +956,7 @@ int ipa3_setup_sys_pipe(struct ipa_sys_connect_params *sys_in, u32 *clnt_hdl)
		goto fail_gen;
	}

	coal_ep_id = ipa3_get_ep_mapping(IPA_CLIENT_APPS_WAN_COAL_CONS);
	/* save the input config parameters */
	if (sys_in->client == IPA_CLIENT_APPS_WAN_COAL_CONS)
		ep_cfg_copy = sys_in->ipa_ep_cfg;
@@ -1007,7 +1008,12 @@ int ipa3_setup_sys_pipe(struct ipa_sys_connect_params *sys_in, u32 *clnt_hdl)
		ep->sys->db_timer.function = ipa3_ring_doorbell_timer_fn;

		/* create IPA PM resources for handling polling mode */
		if (IPA_CLIENT_IS_CONS(sys_in->client)) {
		if (sys_in->client == IPA_CLIENT_APPS_WAN_CONS &&
			coal_ep_id != IPA_EP_NOT_ALLOCATED &&
			ipa3_ctx->ep[coal_ep_id].valid == 1) {
			/* Use coalescing pipe PM handle for default pipe also*/
			ep->sys->pm_hdl = ipa3_ctx->ep[coal_ep_id].sys->pm_hdl;
		} else if (IPA_CLIENT_IS_CONS(sys_in->client)) {
			pm_reg.name = ipa_clients_strings[sys_in->client];
			pm_reg.callback = ipa_pm_sys_pipe_cb;
			pm_reg.user_data = ep->sys;