[<prev] [next>] [day] [month] [year] [list]
Message-ID: <172224658354.2215.17577356287756878711.tip-bot2@tip-bot2>
Date: Mon, 29 Jul 2024 09:49:43 -0000
From: tip-bot2 for Marek Behún <tip-bot2@...utronix.de>
To: linux-tip-commits@...r.kernel.org
Cc: kabel@...nel.org, Thomas Gleixner <tglx@...utronix.de>,
Andrew Lunn <andrew@...n.ch>, ilpo.jarvinen@...ux.intel.com, x86@...nel.org,
linux-kernel@...r.kernel.org, maz@...nel.org
Subject: [tip: irq/core] irqchip/armada-370-xp: Use FIELD_GET() and named
register constant
The following commit has been merged into the irq/core branch of tip:
Commit-ID: ed7414c75027c37eb7f5f29b1dbb2b811690246e
Gitweb: https://git.kernel.org/tip/ed7414c75027c37eb7f5f29b1dbb2b811690246e
Author: Marek Behún <kabel@...nel.org>
AuthorDate: Thu, 11 Jul 2024 13:57:46 +02:00
Committer: Thomas Gleixner <tglx@...utronix.de>
CommitterDate: Mon, 29 Jul 2024 10:57:23 +02:00
irqchip/armada-370-xp: Use FIELD_GET() and named register constant
Use FIELD_GET() and named register mask constant when reading the number
of supported interrupts / current interrupt.
Signed-off-by: Marek Behún <kabel@...nel.org>
Signed-off-by: Thomas Gleixner <tglx@...utronix.de>
Reviewed-by: Andrew Lunn <andrew@...n.ch>
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@...ux.intel.com>
Link: https://lore.kernel.org/all/20240711115748.30268-9-kabel@kernel.org
---
drivers/irqchip/irq-armada-370-xp.c | 11 ++++++-----
1 file changed, 6 insertions(+), 5 deletions(-)
diff --git a/drivers/irqchip/irq-armada-370-xp.c b/drivers/irqchip/irq-armada-370-xp.c
index e43eb26..179a30a 100644
--- a/drivers/irqchip/irq-armada-370-xp.c
+++ b/drivers/irqchip/irq-armada-370-xp.c
@@ -10,6 +10,7 @@
* Ben Dooks <ben.dooks@...ethink.co.uk>
*/
+#include <linux/bitfield.h>
#include <linux/bits.h>
#include <linux/kernel.h>
#include <linux/module.h>
@@ -112,6 +113,7 @@
/* Registers relative to main_int_base */
#define MPIC_INT_CONTROL 0x00
+#define MPIC_INT_CONTROL_NUMINT_MASK GENMASK(12, 2)
#define MPIC_SW_TRIG_INT 0x04
#define MPIC_INT_SET_ENABLE 0x30
#define MPIC_INT_CLEAR_ENABLE 0x34
@@ -124,6 +126,7 @@
#define MPIC_IN_DRBEL_MASK 0x0c
#define MPIC_PPI_CAUSE 0x10
#define MPIC_CPU_INTACK 0x44
+#define MPIC_CPU_INTACK_IID_MASK GENMASK(9, 0)
#define MPIC_INT_SET_MASK 0x48
#define MPIC_INT_CLEAR_MASK 0x4C
#define MPIC_INT_FABRIC_MASK 0x54
@@ -660,7 +663,7 @@ static void __exception_irq_entry mpic_handle_irq(struct pt_regs *regs)
do {
irqstat = readl_relaxed(per_cpu_int_base + MPIC_CPU_INTACK);
- irqnr = irqstat & 0x3FF;
+ irqnr = FIELD_GET(MPIC_CPU_INTACK_IID_MASK, irqstat);
if (irqnr > 1022)
break;
@@ -759,8 +762,7 @@ static int __init mpic_of_init(struct device_node *node,
struct device_node *parent)
{
struct resource main_int_res, per_cpu_int_res;
- int nr_irqs;
- u32 control;
+ unsigned int nr_irqs;
BUG_ON(of_address_to_resource(node, 0, &main_int_res));
BUG_ON(of_address_to_resource(node, 1, &per_cpu_int_res));
@@ -780,8 +782,7 @@ static int __init mpic_of_init(struct device_node *node,
resource_size(&per_cpu_int_res));
BUG_ON(!per_cpu_int_base);
- control = readl(main_int_base + MPIC_INT_CONTROL);
- nr_irqs = (control >> 2) & 0x3ff;
+ nr_irqs = FIELD_GET(MPIC_INT_CONTROL_NUMINT_MASK, readl(main_int_base + MPIC_INT_CONTROL));
for (int i = 0; i < nr_irqs; i++)
writel(i, main_int_base + MPIC_INT_CLEAR_ENABLE);
Powered by blists - more mailing lists