vserver 1.9.3
[linux-2.6.git] / drivers / ide / pci / pdc202xx_old.c
index cf6082a..651879a 100644 (file)
@@ -314,17 +314,6 @@ static int pdc202xx_tune_chipset (ide_drive_t *drive, u8 xferspeed)
                pci_write_config_byte(dev, (drive_pci)|0x02, CP|TC);
        }
 
-#if PDC202XX_DECODE_REGISTER_INFO
-       pci_read_config_byte(dev, (drive_pci), &AP);
-       pci_read_config_byte(dev, (drive_pci)|0x01, &BP);
-       pci_read_config_byte(dev, (drive_pci)|0x02, &CP);
-       pci_read_config_byte(dev, (drive_pci)|0x03, &DP);
-
-       decode_registers(REG_A, AP);
-       decode_registers(REG_B, BP);
-       decode_registers(REG_C, CP);
-       decode_registers(REG_D, DP);
-#endif /* PDC202XX_DECODE_REGISTER_INFO */
 #if PDC202XX_DEBUG_DRIVE_INFO
        printk(KERN_DEBUG "%s: %s drive%d 0x%08x ",
                drive->name, ide_xfer_verbose(speed),
@@ -717,6 +706,12 @@ static unsigned int __devinit init_chipset_pdc202xx(struct pci_dev *dev, const c
 
 static void __devinit init_hwif_pdc202xx(ide_hwif_t *hwif)
 {
+       struct pci_dev *dev = hwif->pci_dev;
+
+       /* PDC20265 has problems with large LBA48 requests */
+       if (dev->device == PCI_DEVICE_ID_PROMISE_20265)
+               hwif->rqsize = 256;
+
        hwif->autodma = 0;
        hwif->tuneproc  = &config_chipset_for_pio;
        hwif->quirkproc = &pdc202xx_quirkproc;
@@ -899,7 +894,7 @@ static struct pci_device_id pdc202xx_pci_tbl[] = {
 MODULE_DEVICE_TABLE(pci, pdc202xx_pci_tbl);
 
 static struct pci_driver driver = {
-       .name           = "Promise Old IDE",
+       .name           = "Promise_Old_IDE",
        .id_table       = pdc202xx_pci_tbl,
        .probe          = pdc202xx_init_one,
 };