Skip to contentSkip to conversation

ARM: vic: register the VIC for ST-modified VIC's

PATCH New Jamie Iles 2 participants 5 messages Nov 23, 2011 – Nov 24, 2011 Arm (32-bit)

lore
Share & tools
lore

Jamie Iles

author
#0 lore raw

PATCH 1/1 ARM: vic: register the VIC for ST-modified VIC's

When probing the VIC, the ST variant has a different probing method to account for the extra interrupts which meant we didn't previously call vic_register() which registered the irq_domain.

Cc Linus Walleij <[email protected]>
Cc Russell King <[email protected]>
Cc Marc Zyngier <[email protected]>

---

I _think_ it's just Nomadik affected here which I don't have access to. I can send an updated pull request or put it in Russell's tracker, whichever is easiest.

 arch/arm/common/vic.c |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)
arch/arm/common/vic.c +3 -2
index 6ed41ec..7728750 100644
@@ -318,7 +318,7 @@ static void __init vic_set_irq_sources(void __iomem *base,
  *  and 020 within the page. We call this "second block".
  */
 static void __init vic_init_st(void __iomem *base, unsigned int irq_start,
-				u32 vic_sources)
+			       u32 vic_sources, struct device_node *node)
 {
 	unsigned int i;
 	int vic_2nd_block = ((unsigned long)base & ~PAGE_MASK) != 0;
@@ -345,6 +345,7 @@ static void __init vic_init_st(void __iomem *base, unsigned int irq_start,
 	}
 
 	vic_set_irq_sources(base, irq_start, vic_sources);
+	vic_register(base, irq_start, 0, node);
 }
 
 static void __init __vic_init(void __iomem *base, unsigned int irq_start,
@@ -367,7 +368,7 @@ static void __init __vic_init(void __iomem *base, unsigned int irq_start,
 
 	switch(vendor) {
 	case AMBA_VENDOR_ST:
-		vic_init_st(base, irq_start, vic_sources);
+		vic_init_st(base, irq_start, vic_sources, node);
 		return;
 	default:
 		printk(KERN_WARNING "VIC: unknown vendor, continuing anyways\n");
Signature · 1 line
1.7.4.1
#1 lore raw

PATCH 1/1 ARM: vic: register the VIC for ST-modified VIC's

Quoted 8 lines · Jamie Iles

When probing the VIC, the ST variant has a different probing method to account for the extra interrupts which meant we didn't previously call vic_register() which registered the irq_domain.

Cc Linus Walleij<[email protected]>
Cc Russell King<[email protected]>
Cc Marc Zyngier<[email protected]>
Quoted 6 lines

---

I _think_ it's just Nomadik affected here which I don't have access to. I can send an updated pull request or put it in Russell's tracker, whichever is easiest.

This also affects mach-u300 and mach-ep93xx OTOH.

This seems to be based on something else that is out-of-tree so I don't get the whole picture...

Linus Walleij

author
#2 lore raw

PATCH 1/1 ARM: vic: register the VIC for ST-modified VIC's

Quoted 11 lines · Linus Walleij
Quoted 10 lines · Jamie Iles

When probing the VIC, the ST variant has a different probing method to account for the extra interrupts which meant we didn't previously call vic_register() which registered the irq_domain.

Cc Linus Walleij<[email protected]>
Cc Russell King<[email protected]>
Cc Marc Zyngier<[email protected]>

---

Quoted 8 lines
Quoted 3 lines

I _think_ it's just Nomadik affected here which I don't have access to. I can send an updated pull request or put it in Russell's tracker, whichever is easiest.

This also affects mach-u300 and mach-ep93xx OTOH.

This seems to be based on something else that is out-of-tree so I don't get the whole picture...

Sorry, should have specified the base - this is the VIC device tree/MULTI_IRQ_HANDLER stuff that is in next. I did look at u300 and ep93xx, but it looks like their VIC's are 0x1000/0x10000 apart respectively when registered so weren't the ST type that supported 64 IRQ's.

Jamie

#3 lore raw

PATCH 1/1 ARM: vic: register the VIC for ST-modified VIC's

Quoted 20 lines · Jamie Iles
Quoted 18 lines · Linus Walleij
Quoted 8 lines · Jamie Iles

When probing the VIC, the ST variant has a different probing method to account for the extra interrupts which meant we didn't previously call vic_register() which registered the irq_domain.

Cc Linus Walleij<[email protected]>
Cc Russell King<[email protected]>
Cc Marc Zyngier<[email protected]>
Quoted 6 lines

---

I _think_ it's just Nomadik affected here which I don't have access to. I can send an updated pull request or put it in Russell's tracker, whichever is easiest.

This also affects mach-u300 and mach-ep93xx OTOH.

Quoted 9 lines
Quoted 3 lines

This seems to be based on something else that is out-of-tree so I don't get the whole picture...

Sorry, should have specified the base - this is the VIC device tree/MULTI_IRQ_HANDLER stuff that is in next. I did look at u300 and ep93xx, but it looks like their VIC's are 0x1000/0x10000 apart respectively when registered so weren't the ST type that supported 64 IRQ's.

Aha OK now I get the difference.

Thanks!
Linus Walleij

author
#4 lore raw

PATCH 1/1 ARM: vic: register the VIC for ST-modified VIC's

In reply to Jamie Iles
Quoted 8 lines · Jamie Iles

When probing the VIC, the ST variant has a different probing method to account for the extra interrupts which meant we didn't previously call vic_register() which registered the irq_domain.

Cc Linus Walleij <[email protected]>
Cc Russell King <[email protected]>
Cc Marc Zyngier <[email protected]>
Quoted 5 lines

---

I _think_ it's just Nomadik affected here which I don't have access to. I can send an updated pull request or put it in Russell's tracker, whichever is easiest.

Russell, would this be best in your patch tracker? I've just tried a test merge of the irqchip consolidation branch into your devel branch and got some conflicts that I think you've already fixed up once. The patch applies cleanly to your current devel branch.

Jamie