Loading drivers/platform/msm/ipa/ipa_v2/ipa_interrupts.c +9 −2 Original line number Diff line number Diff line Loading @@ -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)); } Loading drivers/platform/msm/ipa/ipa_v2/ipa_uc.c +0 −1 Original line number Diff line number Diff line Loading @@ -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); Loading Loading
drivers/platform/msm/ipa/ipa_v2/ipa_interrupts.c +9 −2 Original line number Diff line number Diff line Loading @@ -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)); } Loading
drivers/platform/msm/ipa/ipa_v2/ipa_uc.c +0 −1 Original line number Diff line number Diff line Loading @@ -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); Loading