diff options
author | Daniel Ritz <daniel.ritz@gmx.ch> | 2006-11-15 17:07:33 +0100 |
---|---|---|
committer | Adrian Bunk <bunk@stusta.de> | 2006-11-15 17:07:33 +0100 |
commit | 9ca0bc2ceee9e65e71310336f40af7ca1a348fc2 (patch) | |
tree | b36b1e80e660151c35850da580eadae290ad40a2 | |
parent | 891bdfcddd44095747bdcdc18e348139fa6b9d70 (diff) |
fix via586 irq routing for pirq 5
fix interrput routing for via 586 bridges. pirq can be 5 which needs to be
mapped to INTD. but currently the access functions can handle only pirq 1-4.
this is similar to the other via chipsets where pirq 4 and 5 are both mapped
to INTD. fixes bugzilla #7490
Signed-off-by: Daniel Ritz <daniel.ritz@gmx.ch>
Signed-off-by: Adrian Bunk <bunk@stusta.de>
-rw-r--r-- | arch/i386/pci/irq.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/i386/pci/irq.c b/arch/i386/pci/irq.c index 3ca59cad05f..e84f915b139 100644 --- a/arch/i386/pci/irq.c +++ b/arch/i386/pci/irq.c @@ -256,13 +256,13 @@ static int pirq_via_set(struct pci_dev *router, struct pci_dev *dev, int pirq, i */ static int pirq_via586_get(struct pci_dev *router, struct pci_dev *dev, int pirq) { - static unsigned int pirqmap[4] = { 3, 2, 5, 1 }; + static unsigned int pirqmap[5] = { 3, 2, 5, 1, 1 }; return read_config_nybble(router, 0x55, pirqmap[pirq-1]); } static int pirq_via586_set(struct pci_dev *router, struct pci_dev *dev, int pirq, int irq) { - static unsigned int pirqmap[4] = { 3, 2, 5, 1 }; + static unsigned int pirqmap[5] = { 3, 2, 5, 1, 1 }; write_config_nybble(router, 0x55, pirqmap[pirq-1], irq); return 1; } |