diff options
| -rw-r--r-- | drivers/ide/pci/piix.c | 31 |
1 files changed, 0 insertions, 31 deletions
diff --git a/drivers/ide/pci/piix.c b/drivers/ide/pci/piix.c index b1e9a8eba6b6..8ecd2d668dba 100644 --- a/drivers/ide/pci/piix.c +++ b/drivers/ide/pci/piix.c | |||
| @@ -353,33 +353,6 @@ static int piix_tune_chipset (ide_drive_t *drive, u8 xferspeed) | |||
| 353 | } | 353 | } |
| 354 | 354 | ||
| 355 | /** | 355 | /** |
| 356 | * piix_faulty_dma0 - check for DMA0 errata | ||
| 357 | * @hwif: IDE interface to check | ||
| 358 | * | ||
| 359 | * If an ICH/ICH0/ICH2 interface is is operating in multi-word | ||
| 360 | * DMA mode with 600nS cycle time the IDE PIO prefetch buffer will | ||
| 361 | * inadvertently provide an extra piece of secondary data to the primary | ||
| 362 | * device resulting in data corruption. | ||
| 363 | * | ||
| 364 | * With such a device this test function returns true. This allows | ||
| 365 | * our tuning code to follow Intel recommendations and use PIO on | ||
| 366 | * such devices. | ||
| 367 | */ | ||
| 368 | |||
| 369 | static int piix_faulty_dma0(ide_hwif_t *hwif) | ||
| 370 | { | ||
| 371 | switch(hwif->pci_dev->device) | ||
| 372 | { | ||
| 373 | case PCI_DEVICE_ID_INTEL_82801AA_1: /* ICH */ | ||
| 374 | case PCI_DEVICE_ID_INTEL_82801AB_1: /* ICH0 */ | ||
| 375 | case PCI_DEVICE_ID_INTEL_82801BA_8: /* ICH2 */ | ||
| 376 | case PCI_DEVICE_ID_INTEL_82801BA_9: /* ICH2 */ | ||
| 377 | return 1; | ||
| 378 | } | ||
| 379 | return 0; | ||
| 380 | } | ||
| 381 | |||
| 382 | /** | ||
| 383 | * piix_config_drive_for_dma - configure drive for DMA | 356 | * piix_config_drive_for_dma - configure drive for DMA |
| 384 | * @drive: IDE drive to configure | 357 | * @drive: IDE drive to configure |
| 385 | * | 358 | * |
| @@ -391,10 +364,6 @@ static int piix_faulty_dma0(ide_hwif_t *hwif) | |||
| 391 | static int piix_config_drive_for_dma (ide_drive_t *drive) | 364 | static int piix_config_drive_for_dma (ide_drive_t *drive) |
| 392 | { | 365 | { |
| 393 | u8 speed = ide_dma_speed(drive, piix_ratemask(drive)); | 366 | u8 speed = ide_dma_speed(drive, piix_ratemask(drive)); |
| 394 | |||
| 395 | /* Some ICH devices cannot support DMA mode 0 */ | ||
| 396 | if(speed == XFER_MW_DMA_0 && piix_faulty_dma0(HWIF(drive))) | ||
| 397 | speed = 0; | ||
| 398 | 367 | ||
| 399 | /* If no DMA speed was available or the chipset has DMA bugs | 368 | /* If no DMA speed was available or the chipset has DMA bugs |
| 400 | then disable DMA and use PIO */ | 369 | then disable DMA and use PIO */ |
