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

Commit 38086338 authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "msm: ipa: clear before processing"

parents 3f225b37 0f1d1760
Loading
Loading
Loading
Loading
+9 −2
Original line number Diff line number Diff line
@@ -161,14 +161,21 @@ static void ipa_process_interrupts(bool isr_context)
	en = ipa_read_reg(ipa_ctx->mmio, IPA_IRQ_EN_EE_n_ADDR(ipa_ee));
	reg = ipa_read_reg(ipa_ctx->mmio, IPA_IRQ_STTS_EE_n_ADDR(ipa_ee));
	while (en & reg) {
		/* Clear interrupt before processing to avoid
		   clearing unhandled interrupts */
		ipa_write_reg(ipa_ctx->mmio,
				IPA_IRQ_CLR_EE_n_ADDR(ipa_ee), reg);

		/* Process the interrupts */
		bmsk = 1;
		for (i = 0; i < IPA_IRQ_NUM_MAX; i++) {
			if (en & reg & bmsk)
				handle_interrupt(i, isr_context);
			bmsk = bmsk << 1;
		}
		ipa_write_reg(ipa_ctx->mmio,
				IPA_IRQ_CLR_EE_n_ADDR(ipa_ee), reg);

		/* Check pending interrupts that may have
		   been raised since last read */
		reg = ipa_read_reg(ipa_ctx->mmio,
				IPA_IRQ_STTS_EE_n_ADDR(ipa_ee));
	}
+0 −1
Original line number Diff line number Diff line
@@ -387,7 +387,6 @@ static int ipa_uc_panic_notifier(struct notifier_block *this,

	ipa_ctx->uc_ctx.uc_sram_mmio->cmdOp =
		IPA_CPU_2_HW_CMD_ERR_FATAL;
	ipa_ctx->uc_ctx.pending_cmd = ipa_ctx->uc_ctx.uc_sram_mmio->cmdOp;
	/* ensure write to shared memory is done before triggering uc */
	wmb();
	ipa_write_reg(ipa_ctx->mmio, IPA_IRQ_EE_UC_n_OFFS(0), 0x1);