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

Commit 5807be33 authored by Amir Levy's avatar Amir Levy
Browse files

msm: ipa3: disable statuses for modem pipes on SSR



On SSR scenario disable statuses for modem producer pipes.
Since modem is not up these statuses are redundant and are
not read by any EE.

Change-Id: I6e7a475d74902f7c5d1b9083f9f7935d3ed2c7c9
CRs-Fixed: 2034903
Signed-off-by: default avatarAmir Levy <alevy@codeaurora.org>
parent 925b2207
Loading
Loading
Loading
Loading
+30 −0
Original line number Diff line number Diff line
@@ -2268,6 +2268,36 @@ static int ipa3_q6_set_ex_path_to_apps(void)
			desc[num_descs].len = cmd_pyld->len;
			num_descs++;
		}

		/* disable statuses for modem producers */
		if (IPA_CLIENT_IS_Q6_PROD(client_idx)) {
			ipa_assert_on(num_descs >= ipa3_ctx->ipa_num_pipes);

			reg_write.skip_pipeline_clear = false;
			reg_write.pipeline_clear_options =
				IPAHAL_HPS_CLEAR;
			reg_write.offset =
				ipahal_get_reg_n_ofst(IPA_ENDP_STATUS_n,
					ep_idx);
			reg_write.value = 0;
			reg_write.value_mask = ~0;
			cmd_pyld = ipahal_construct_imm_cmd(
				IPA_IMM_CMD_REGISTER_WRITE, &reg_write, false);
			if (!cmd_pyld) {
				IPAERR("fail construct register_write cmd\n");
				ipa_assert();
				return -EFAULT;
			}

			desc[num_descs].opcode = ipahal_imm_cmd_get_opcode(
				IPA_IMM_CMD_REGISTER_WRITE);
			desc[num_descs].type = IPA_IMM_CMD_DESC;
			desc[num_descs].callback = ipa3_destroy_imm;
			desc[num_descs].user1 = cmd_pyld;
			desc[num_descs].pyld = cmd_pyld->data;
			desc[num_descs].len = cmd_pyld->len;
			num_descs++;
		}
	}

	/* Will wait 500msecs for IPA tag process completion */