All of lore.kernel.org
 help / color / mirror / Atom feed
* ingenic-irq bugfix for 5.5-rc7
@ 2020-01-13 16:33 Paul Cercueil
  2020-01-13 16:33 ` [PATCH v2] irqchip: ingenic: Get rid of the legacy IRQ domain Paul Cercueil
  0 siblings, 1 reply; 3+ messages in thread
From: Paul Cercueil @ 2020-01-13 16:33 UTC (permalink / raw)
  To: Thomas Gleixner, Jason Cooper, Marc Zyngier; +Cc: od, linux-kernel

Dear irqchip maintainers,

I have this patch which fixes a bug that was introduced in 5.5-rc1.
I sent the v1 for -rc3 but it never got picked up.

Could you merge it for -rc7 (if -rc7 there is)?

Thanks,
-Paul



^ permalink raw reply	[flat|nested] 3+ messages in thread

* [PATCH v2] irqchip: ingenic: Get rid of the legacy IRQ domain
  2020-01-13 16:33 ingenic-irq bugfix for 5.5-rc7 Paul Cercueil
@ 2020-01-13 16:33 ` Paul Cercueil
  2020-01-13 16:48   ` [tip: irq/urgent] irqchip/ingenic: " tip-bot2 for Paul Cercueil
  0 siblings, 1 reply; 3+ messages in thread
From: Paul Cercueil @ 2020-01-13 16:33 UTC (permalink / raw)
  To: Thomas Gleixner, Jason Cooper, Marc Zyngier
  Cc: od, linux-kernel, Paul Cercueil, H . Nikolaus Schaller,
	周琰杰

Get rid of the legacy IRQ domain and hardcoded IRQ base, since all the
Ingenic drivers and platform code have been updated to use devicetree.

This also fixes the kernel being flooded with messages like:
[    0.000000] irq: :interrupt-controller@10001000 didn't like
hwirq-0x0 to VIRQ8 mapping (rc=-19)

Fixes: 8bc7464b5140 ("irqchip: ingenic: Alloc generic chips from IRQ
domain").

Signed-off-by: Paul Cercueil <paul@crapouillou.net>
Tested-by: H. Nikolaus Schaller <hns@goldelico.com>
Tested-by: 周琰杰 (Zhou Yanjie) <zhouyanjie@wanyeetech.com>
---

Notes:
    v2: Update commit message to explain the reason of the fix

 drivers/irqchip/irq-ingenic.c | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/drivers/irqchip/irq-ingenic.c b/drivers/irqchip/irq-ingenic.c
index 01d18b39069e..c5589ee0dfb3 100644
--- a/drivers/irqchip/irq-ingenic.c
+++ b/drivers/irqchip/irq-ingenic.c
@@ -17,7 +17,6 @@
 #include <linux/delay.h>
 
 #include <asm/io.h>
-#include <asm/mach-jz4740/irq.h>
 
 struct ingenic_intc_data {
 	void __iomem *base;
@@ -50,7 +49,7 @@ static irqreturn_t intc_cascade(int irq, void *data)
 		while (pending) {
 			int bit = __fls(pending);
 
-			irq = irq_find_mapping(domain, bit + (i * 32));
+			irq = irq_linear_revmap(domain, bit + (i * 32));
 			generic_handle_irq(irq);
 			pending &= ~BIT(bit);
 		}
@@ -97,8 +96,7 @@ static int __init ingenic_intc_of_init(struct device_node *node,
 		goto out_unmap_irq;
 	}
 
-	domain = irq_domain_add_legacy(node, num_chips * 32,
-				       JZ4740_IRQ_BASE, 0,
+	domain = irq_domain_add_linear(node, num_chips * 32,
 				       &irq_generic_chip_ops, NULL);
 	if (!domain) {
 		err = -ENOMEM;
-- 
2.24.1


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* [tip: irq/urgent] irqchip/ingenic: Get rid of the legacy IRQ domain
  2020-01-13 16:33 ` [PATCH v2] irqchip: ingenic: Get rid of the legacy IRQ domain Paul Cercueil
@ 2020-01-13 16:48   ` tip-bot2 for Paul Cercueil
  0 siblings, 0 replies; 3+ messages in thread
From: tip-bot2 for Paul Cercueil @ 2020-01-13 16:48 UTC (permalink / raw)
  To: linux-tip-commits
  Cc: Paul Cercueil, Thomas Gleixner, H. Nikolaus Schaller, zhouyanjie,
	Marc Zyngier, x86, LKML

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

Commit-ID:     1fd224e35c1493e9f5d4d932c175616cccce8df9
Gitweb:        https://git.kernel.org/tip/1fd224e35c1493e9f5d4d932c175616cccce8df9
Author:        Paul Cercueil <paul@crapouillou.net>
AuthorDate:    Mon, 13 Jan 2020 13:33:29 -03:00
Committer:     Thomas Gleixner <tglx@linutronix.de>
CommitterDate: Mon, 13 Jan 2020 17:45:23 +01:00

irqchip/ingenic: Get rid of the legacy IRQ domain

Get rid of the legacy IRQ domain and hardcoded IRQ base, since all the
Ingenic drivers and platform code have been updated to use devicetree.

This also fixes the kernel being flooded with messages like:

 irq: interrupt-controller@10001000 didn't like hwirq-0x0 to VIRQ8 mapping (rc=-19)

Fixes: 8bc7464b5140 ("irqchip: ingenic: Alloc generic chips from IRQ domain").
Signed-off-by: Paul Cercueil <paul@crapouillou.net>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Tested-by: H. Nikolaus Schaller <hns@goldelico.com>
Tested-by: 周琰杰 (Zhou Yanjie) <zhouyanjie@wanyeetech.com>
Acked-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20200113163329.34282-2-paul@crapouillou.net
---
 drivers/irqchip/irq-ingenic.c | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/drivers/irqchip/irq-ingenic.c b/drivers/irqchip/irq-ingenic.c
index 01d18b3..c5589ee 100644
--- a/drivers/irqchip/irq-ingenic.c
+++ b/drivers/irqchip/irq-ingenic.c
@@ -17,7 +17,6 @@
 #include <linux/delay.h>
 
 #include <asm/io.h>
-#include <asm/mach-jz4740/irq.h>
 
 struct ingenic_intc_data {
 	void __iomem *base;
@@ -50,7 +49,7 @@ static irqreturn_t intc_cascade(int irq, void *data)
 		while (pending) {
 			int bit = __fls(pending);
 
-			irq = irq_find_mapping(domain, bit + (i * 32));
+			irq = irq_linear_revmap(domain, bit + (i * 32));
 			generic_handle_irq(irq);
 			pending &= ~BIT(bit);
 		}
@@ -97,8 +96,7 @@ static int __init ingenic_intc_of_init(struct device_node *node,
 		goto out_unmap_irq;
 	}
 
-	domain = irq_domain_add_legacy(node, num_chips * 32,
-				       JZ4740_IRQ_BASE, 0,
+	domain = irq_domain_add_linear(node, num_chips * 32,
 				       &irq_generic_chip_ops, NULL);
 	if (!domain) {
 		err = -ENOMEM;

^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2020-01-13 16:48 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-01-13 16:33 ingenic-irq bugfix for 5.5-rc7 Paul Cercueil
2020-01-13 16:33 ` [PATCH v2] irqchip: ingenic: Get rid of the legacy IRQ domain Paul Cercueil
2020-01-13 16:48   ` [tip: irq/urgent] irqchip/ingenic: " tip-bot2 for Paul Cercueil

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.