All of lore.kernel.org
 help / color / mirror / Atom feed
From: "tip-bot2 for Maulik Shah" <tip-bot2@linutronix.de>
To: linux-tip-commits@vger.kernel.org
Cc: Stephen Boyd <swboyd@chromium.org>,
	Maulik Shah <mkshah@codeaurora.org>,
	Marc Zyngier <maz@kernel.org>,
	Douglas Anderson <dianders@chromium.org>,
	Linus Walleij <linus.walleij@linaro.org>, x86 <x86@kernel.org>,
	LKML <linux-kernel@vger.kernel.org>
Subject: [tip: irq/core] irqchip/qcom-pdc: Reset PDC interrupts during init
Date: Sun, 11 Oct 2020 17:57:21 -0000	[thread overview]
Message-ID: <160243904120.7002.16402371248887672522.tip-bot2@tip-bot2> (raw)
In-Reply-To: <1601267524-20199-7-git-send-email-mkshah@codeaurora.org>

The following commit has been merged into the irq/core branch of tip:

Commit-ID:     d7bc63fa20b8a3b0d0645bed1887848c65c01529
Gitweb:        https://git.kernel.org/tip/d7bc63fa20b8a3b0d0645bed1887848c65c01529
Author:        Maulik Shah <mkshah@codeaurora.org>
AuthorDate:    Mon, 28 Sep 2020 10:02:04 +05:30
Committer:     Marc Zyngier <maz@kernel.org>
CommitterDate: Tue, 06 Oct 2020 11:26:41 +01:00

irqchip/qcom-pdc: Reset PDC interrupts during init

Kexec can directly boot into a new kernel without going to complete
reboot. This can leave the previous kernel's configuration for PDC
interrupts as is.

Clear previous kernel's configuration during init by setting interrupts
in enable bank to zero. The IRQs specified in qcom,pdc-ranges property
are the only ones that can be used by the new kernel so clear only those
IRQs. The remaining ones may be in use by a different kernel and should
not be set by new kernel.

Suggested-by: Stephen Boyd <swboyd@chromium.org>
Signed-off-by: Maulik Shah <mkshah@codeaurora.org>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Tested-by: Stephen Boyd <swboyd@chromium.org>
Reviewed-by: Stephen Boyd <swboyd@chromium.org>
Reviewed-by: Douglas Anderson <dianders@chromium.org>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Link: https://lore.kernel.org/r/1601267524-20199-7-git-send-email-mkshah@codeaurora.org
---
 drivers/irqchip/qcom-pdc.c | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/drivers/irqchip/qcom-pdc.c b/drivers/irqchip/qcom-pdc.c
index acc0620..bd39e9d 100644
--- a/drivers/irqchip/qcom-pdc.c
+++ b/drivers/irqchip/qcom-pdc.c
@@ -341,7 +341,8 @@ static const struct irq_domain_ops qcom_pdc_gpio_ops = {
 
 static int pdc_setup_pin_mapping(struct device_node *np)
 {
-	int ret, n;
+	int ret, n, i;
+	u32 irq_index, reg_index, val;
 
 	n = of_property_count_elems_of_size(np, "qcom,pdc-ranges", sizeof(u32));
 	if (n <= 0 || n % 3)
@@ -370,6 +371,14 @@ static int pdc_setup_pin_mapping(struct device_node *np)
 						 &pdc_region[n].cnt);
 		if (ret)
 			return ret;
+
+		for (i = 0; i < pdc_region[n].cnt; i++) {
+			reg_index = (i + pdc_region[n].pin_base) >> 5;
+			irq_index = (i + pdc_region[n].pin_base) & 0x1f;
+			val = pdc_reg_read(IRQ_ENABLE_BANK, reg_index);
+			val &= ~BIT(irq_index);
+			pdc_reg_write(IRQ_ENABLE_BANK, reg_index, val);
+		}
 	}
 
 	return 0;

  reply	other threads:[~2020-10-11 18:01 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-09-28  4:31 [PATCH v6 0/6] irqchip: qcom: pdc: Introduce irq_set_wake call Maulik Shah
2020-09-28  4:31 ` [PATCH v6 1/6] pinctrl: qcom: Set IRQCHIP_SET_TYPE_MASKED and IRQCHIP_MASK_ON_SUSPEND flags Maulik Shah
2020-10-11 17:57   ` [tip: irq/core] " tip-bot2 for Maulik Shah
2020-09-28  4:32 ` [PATCH v6 2/6] pinctrl: qcom: Use return value from irq_set_wake() call Maulik Shah
2020-10-11 17:57   ` [tip: irq/core] " tip-bot2 for Maulik Shah
2020-09-28  4:32 ` [PATCH v6 3/6] genirq/PM: Introduce IRQCHIP_ENABLE_WAKEUP_ON_SUSPEND flag Maulik Shah
2020-09-28 21:12   ` Doug Anderson
2020-09-29 20:18   ` Thomas Gleixner
2020-10-11 17:57   ` [tip: irq/core] " tip-bot2 for Maulik Shah
2020-09-28  4:32 ` [PATCH v6 4/6] pinctrl: qcom: Set " Maulik Shah
2020-10-11 17:57   ` [tip: irq/core] " tip-bot2 for Maulik Shah
2020-09-28  4:32 ` [PATCH v6 5/6] irqchip: qcom-pdc: " Maulik Shah
2020-10-11 17:57   ` [tip: irq/core] irqchip/qcom-pdc: " tip-bot2 for Maulik Shah
2020-09-28  4:32 ` [PATCH v6 6/6] irqchip: qcom-pdc: Reset PDC interrupts during init Maulik Shah
2020-10-11 17:57   ` tip-bot2 for Maulik Shah [this message]
2020-10-01  8:13 ` [PATCH v6 0/6] irqchip: qcom: pdc: Introduce irq_set_wake call Stephen Boyd
2020-10-06 10:29 ` Marc Zyngier

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=160243904120.7002.16402371248887672522.tip-bot2@tip-bot2 \
    --to=tip-bot2@linutronix.de \
    --cc=dianders@chromium.org \
    --cc=linus.walleij@linaro.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-tip-commits@vger.kernel.org \
    --cc=maz@kernel.org \
    --cc=mkshah@codeaurora.org \
    --cc=swboyd@chromium.org \
    --cc=x86@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.