[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: Matthew Wilcox <willy@parisc-linux.org> Signed-off-by: Kyle McMartin <kyle@parisc-linux.org>
This commit is contained in:
parent
4d62ce5d2a
commit
f45adcf977
@ -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 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#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)
|
|||||||
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,
|
|||||||
|
|
||||||
/* 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)
|
|||||||
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];
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user