|
@@ -640,13 +640,9 @@ static unsigned int setup_mmio_siimage (struct pci_dev *dev, const char *name)
|
|
|
|
|
|
static unsigned int __devinit init_chipset_siimage(struct pci_dev *dev, const char *name)
|
|
|
{
|
|
|
- u32 class_rev = 0;
|
|
|
- u8 tmpbyte = 0;
|
|
|
- u8 BA5_EN = 0;
|
|
|
+ u8 rev = dev->revision, tmpbyte = 0, BA5_EN = 0;
|
|
|
|
|
|
- pci_read_config_dword(dev, PCI_CLASS_REVISION, &class_rev);
|
|
|
- class_rev &= 0xff;
|
|
|
- pci_write_config_byte(dev, PCI_CACHE_LINE_SIZE, (class_rev) ? 1 : 255);
|
|
|
+ pci_write_config_byte(dev, PCI_CACHE_LINE_SIZE, rev ? 1 : 255);
|
|
|
|
|
|
pci_read_config_byte(dev, 0x8A, &BA5_EN);
|
|
|
if ((BA5_EN & 0x01) || (pci_resource_start(dev, 5))) {
|
|
@@ -825,19 +821,14 @@ static void __devinit siimage_fixup(ide_hwif_t *hwif)
|
|
|
|
|
|
static void __devinit init_iops_siimage(ide_hwif_t *hwif)
|
|
|
{
|
|
|
- struct pci_dev *dev = hwif->pci_dev;
|
|
|
- u32 class_rev = 0;
|
|
|
-
|
|
|
- pci_read_config_dword(dev, PCI_CLASS_REVISION, &class_rev);
|
|
|
- class_rev &= 0xff;
|
|
|
-
|
|
|
hwif->hwif_data = NULL;
|
|
|
|
|
|
/* Pessimal until we finish probing */
|
|
|
hwif->rqsize = 15;
|
|
|
|
|
|
- if (pci_get_drvdata(dev) == NULL)
|
|
|
+ if (pci_get_drvdata(hwif->pci_dev) == NULL)
|
|
|
return;
|
|
|
+
|
|
|
init_mmio_iops_siimage(hwif);
|
|
|
}
|
|
|
|