aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/ide/pci/piix.c31
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
369static 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)
391static int piix_config_drive_for_dma (ide_drive_t *drive) 364static 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 */