Commit f45adcf9 authored by Matthew Wilcox's avatar Matthew Wilcox Committed by Kyle McMartin

[PARISC] Fix Dino reporting on J2240

Fix Dino reporting on J2240. This particular machine thought it
had a Cujo. Also add J2240 Dino chip to the hp_hardware_list.
Signed-off-by: default avatarMatthew Wilcox <willy@parisc-linux.org>
Signed-off-by: default avatarKyle McMartin <kyle@parisc-linux.org>
parent 4d62ce5d
...@@ -551,6 +551,7 @@ static struct hp_hardware hp_hardware_list[] __initdata = { ...@@ -551,6 +551,7 @@ static struct hp_hardware hp_hardware_list[] __initdata = {
{HPHW_BCPORT, 0x804, 0x0000C, 0x10, "REO I/O BC Merced Port"}, {HPHW_BCPORT, 0x804, 0x0000C, 0x10, "REO I/O BC Merced Port"},
{HPHW_BCPORT, 0x782, 0x0000C, 0x00, "REO I/O BC Ropes Port"}, {HPHW_BCPORT, 0x782, 0x0000C, 0x00, "REO I/O BC Ropes Port"},
{HPHW_BCPORT, 0x784, 0x0000C, 0x00, "Pluto I/O BC Ropes Port"}, {HPHW_BCPORT, 0x784, 0x0000C, 0x00, "Pluto I/O BC Ropes Port"},
{HPHW_BRIDGE, 0x05D, 0x0000A, 0x00, "SummitHawk Dino PCI Bridge"},
{HPHW_BRIDGE, 0x680, 0x0000A, 0x00, "Dino PCI Bridge"}, {HPHW_BRIDGE, 0x680, 0x0000A, 0x00, "Dino PCI Bridge"},
{HPHW_BRIDGE, 0x682, 0x0000A, 0x00, "Cujo PCI Bridge"}, {HPHW_BRIDGE, 0x682, 0x0000A, 0x00, "Cujo PCI Bridge"},
{HPHW_BRIDGE, 0x782, 0x0000A, 0x00, "Elroy PCI Bridge"}, {HPHW_BRIDGE, 0x782, 0x0000A, 0x00, "Elroy PCI Bridge"},
......
...@@ -84,6 +84,7 @@ ...@@ -84,6 +84,7 @@
*/ */
#define is_card_dino(id) ((id)->hw_type == HPHW_A_DMA) #define is_card_dino(id) ((id)->hw_type == HPHW_A_DMA)
#define is_cujo(id) ((id)->hversion == 0x682)
#define DINO_IAR0 0x004 #define DINO_IAR0 0x004
#define DINO_IODC_ADDR 0x008 #define DINO_IODC_ADDR 0x008
...@@ -682,7 +683,6 @@ dino_fixup_bus(struct pci_bus *bus) ...@@ -682,7 +683,6 @@ dino_fixup_bus(struct pci_bus *bus)
printk(KERN_WARNING "Device %s has unassigned IRQ\n", pci_name(dev)); printk(KERN_WARNING "Device %s has unassigned IRQ\n", pci_name(dev));
#endif #endif
} else { } else {
/* Adjust INT_LINE for that busses region */ /* Adjust INT_LINE for that busses region */
dino_assign_irq(dino_dev, dev->irq, &dev->irq); dino_assign_irq(dino_dev, dev->irq, &dev->irq);
} }
...@@ -888,7 +888,7 @@ static int __init dino_common_init(struct parisc_device *dev, ...@@ -888,7 +888,7 @@ static int __init dino_common_init(struct parisc_device *dev,
/* allocate I/O Port resource region */ /* allocate I/O Port resource region */
res = &dino_dev->hba.io_space; res = &dino_dev->hba.io_space;
if (dev->id.hversion == 0x680 || is_card_dino(&dev->id)) { if (!is_cujo(&dev->id)) {
res->name = "Dino I/O Port"; res->name = "Dino I/O Port";
} else { } else {
res->name = "Cujo I/O Port"; res->name = "Cujo I/O Port";
...@@ -943,7 +943,7 @@ static int __init dino_probe(struct parisc_device *dev) ...@@ -943,7 +943,7 @@ static int __init dino_probe(struct parisc_device *dev)
if (is_card_dino(&dev->id)) { if (is_card_dino(&dev->id)) {
version = "3.x (card mode)"; version = "3.x (card mode)";
} else { } else {
if(dev->id.hversion == 0x680) { if (!is_cujo(&dev->id)) {
if (dev->id.hversion_rev < 4) { if (dev->id.hversion_rev < 4) {
version = dino_vers[dev->id.hversion_rev]; version = dino_vers[dev->id.hversion_rev];
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment