From: Marc Zyngier <marc.zyngier@arm.com>
To: Thomas Gleixner <tglx@linutronix.de>,
Jason Cooper <jason@lakedaemon.net>
Cc: linux-kernel@vger.kernel.org,
Alexandre Belloni <alexandre.belloni@bootlin.com>,
Yang Yingliang <yangyingliang@huawei.com>,
Sumit Garg <sumit.garg@linaro.org>
Subject: [PATCH v2 7/7] irqchip/gic-v3-its: Fix reprogramming of redistributors on CPU hotplug
Date: Fri, 22 Jun 2018 10:52:54 +0100 [thread overview]
Message-ID: <20180622095254.5906-8-marc.zyngier@arm.com> (raw)
In-Reply-To: <20180622095254.5906-1-marc.zyngier@arm.com>
We recently made enabling LPIs a lot stricter, by checking that
they are disabled before we enable them. By doing so, we missed
the CPU hotplug case altogether, where we leave LPIs enabled
on hotplug off (we expect the CPU to eventually come back),
and won't write a different value anyway on hotplug on.
So let's skip that check if we detect that particular case.
Fixes: 6eb486b66a30 ("irqchip/gic-v3: Ensure GICR_CTLR.EnableLPI=0 is observed before enabling")
Reported-by: Sumit Garg <sumit.garg@linaro.org>
Tested-by: Sumit Garg <sumit.garg@linaro.org>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
---
drivers/irqchip/irq-gic-v3-its.c | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/drivers/irqchip/irq-gic-v3-its.c b/drivers/irqchip/irq-gic-v3-its.c
index 0269ffb93f6e..d7842d312d3e 100644
--- a/drivers/irqchip/irq-gic-v3-its.c
+++ b/drivers/irqchip/irq-gic-v3-its.c
@@ -3427,6 +3427,16 @@ static int redist_disable_lpis(void)
u64 timeout = USEC_PER_SEC;
u64 val;
+ /*
+ * If coming via a CPU hotplug event, we don't need to disable
+ * LPIs before trying to re-enable them. They are already
+ * configured and all is well in the world. Detect this case
+ * by checking the allocation of the pending table for the
+ * current CPU.
+ */
+ if (gic_data_rdist()->pend_page)
+ return 0;
+
if (!gic_rdists_supports_plpis()) {
pr_info("CPU%d: LPIs not supported\n", smp_processor_id());
return -ENXIO;
--
2.17.1
next prev parent reply other threads:[~2018-06-22 9:53 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-06-22 9:52 [PATCH v2 0/7] irqchip: v4.18-rc1 fixes Marc Zyngier
2018-06-22 9:52 ` [PATCH v2 1/7] genirq/debugfs: Add missing IRQCHIP_SUPPORTS_LEVEL_MSI debug Marc Zyngier
2018-06-22 12:25 ` [tip:irq/urgent] " tip-bot for Marc Zyngier
2018-06-22 9:52 ` [PATCH v2 2/7] irqchip/ls-scfg-msi: Fix MSI affinity handling Marc Zyngier
2018-06-22 11:02 ` Alexandre Belloni
2018-06-22 12:25 ` [tip:irq/urgent] " tip-bot for Marc Zyngier
2018-06-22 9:52 ` [PATCH v2 3/7] irqchip/gic-v2m: Fix SPI release on error path Marc Zyngier
2018-06-22 12:26 ` [tip:irq/urgent] " tip-bot for Marc Zyngier
2018-06-22 9:52 ` [PATCH v2 4/7] irqchip/gic-v3-its: Don't bind LPI to unavailable NUMA node Marc Zyngier
2018-06-22 12:26 ` [tip:irq/urgent] " tip-bot for Yang Yingliang
2018-06-22 9:52 ` [PATCH v2 5/7] irqchip/gic-v3-its: Only emit SYNC if targetting a valid collection Marc Zyngier
2018-06-22 12:27 ` [tip:irq/urgent] " tip-bot for Marc Zyngier
2018-06-22 9:52 ` [PATCH v2 6/7] irqchip/gic-v3-its: Only emit VSYNC " Marc Zyngier
2018-06-22 12:27 ` [tip:irq/urgent] " tip-bot for Marc Zyngier
2018-06-22 9:52 ` Marc Zyngier [this message]
2018-06-22 12:28 ` [tip:irq/urgent] irqchip/gic-v3-its: Fix reprogramming of redistributors on CPU hotplug tip-bot for 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=20180622095254.5906-8-marc.zyngier@arm.com \
--to=marc.zyngier@arm.com \
--cc=alexandre.belloni@bootlin.com \
--cc=jason@lakedaemon.net \
--cc=linux-kernel@vger.kernel.org \
--cc=sumit.garg@linaro.org \
--cc=tglx@linutronix.de \
--cc=yangyingliang@huawei.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®