Re: [PATCH] irqchip/bcm-6345-l1: show MMIO address

From: Florian Fainelli
Date: Thu Mar 16 2023 - 14:13:58 EST


On 3/16/23 11:07, Álvaro Fernández Rojas wrote:
It's safe to show MMIO address.

Signed-off-by: Álvaro Fernández Rojas <noltari@xxxxxxxxx>

This is going to be the kernel virtual address, and while on MIPS it is easy to resolve to the physical address because these platforms map registers through KSEG0/1, on other platforms like ARM/ARM64 the kernel virtual addresses are pretty meaningless unless what you want to debug is how ioremap() mapped the address.

I would rather do the following change:

diff --git a/drivers/irqchip/irq-bcm6345-l1.c b/drivers/irqchip/irq-bcm6345-l1.c
index 1bd0621c4ce2..832957d363a4 100644
--- a/drivers/irqchip/irq-bcm6345-l1.c
+++ b/drivers/irqchip/irq-bcm6345-l1.c
@@ -261,6 +261,8 @@ static int __init bcm6345_l1_init_one(struct device_node *dn,
if (!cpu->map_base)
return -ENOMEM;

+ request_mem_region(res.start, sz, res.name);
+
for (i = 0; i < n_words; i++) {
cpu->enable_cache[i] = 0;
__raw_writel(0, cpu->map_base + reg_enable(intc, i));

such that this shows up in /proc/iomem. WDYT?

---
drivers/irqchip/irq-bcm6345-l1.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/irqchip/irq-bcm6345-l1.c b/drivers/irqchip/irq-bcm6345-l1.c
index 6899e37810a8..55a2d9b31597 100644
--- a/drivers/irqchip/irq-bcm6345-l1.c
+++ b/drivers/irqchip/irq-bcm6345-l1.c
@@ -335,7 +335,7 @@ static int __init bcm6345_l1_of_init(struct device_node *dn,
for_each_cpu(idx, &intc->cpumask) {
struct bcm6345_l1_cpu *cpu = intc->cpus[idx];
- pr_info(" CPU%u at MMIO 0x%p (irq = %d)\n", idx,
+ pr_info(" CPU%u at MMIO 0x%px (irq = %d)\n", idx,
cpu->map_base, cpu->parent_irq);
}

--
Florian