The main IDE interrupt and the PCI LSIs are level sensitive which is represented by a "1" in the device-tree.
Signed-off-by: Benjamin Herrenschmidt benh@kernel.crashing.org --- drivers/ide.c | 2 +- drivers/pci.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/ide.c b/drivers/ide.c index 1da60c8..53a0b80 100644 --- a/drivers/ide.c +++ b/drivers/ide.c @@ -1630,7 +1630,7 @@ int macio_ide_init(const char *path, uint32_t addr, int nb_channels) props[2] = 0x00000000; break; } - props[1] = 0x00000000; /* XXX level triggered on real hw */ + props[1] = 0x00000001; props[3] = 0x00000000; NEWWORLD(set_property(dnode, "interrupts", (char *)&props, 4*sizeof(props[0]))); diff --git a/drivers/pci.c b/drivers/pci.c index 5062f30..2cffa2f 100644 --- a/drivers/pci.c +++ b/drivers/pci.c @@ -1510,7 +1510,7 @@ static void ob_pci_host_set_interrupt_map(phandle_t host) props[ncells++] = intno; props[ncells++] = dnode; props[ncells++] = arch->irqs[intno - 1]; - props[ncells++] = 3; + props[ncells++] = 1; #else /* Keep compiler quiet */ dnode = dnode;