and changed files
[powerpc.git] / drivers / ide / pci / it8213.c
index 63248b6..c04a026 100644 (file)
 
 #include <asm/io.h>
 
-/*
- *     it8213_ratemask -       Compute available modes
- *     @drive: IDE drive
- *
- *     Compute the available speeds for the devices on the interface. This
- *     is all modes to ATA133 clipped by drive cable setup.
- */
-
-static u8 it8213_ratemask (ide_drive_t *drive)
-{
-       u8 mode = 4;
-       if (!eighty_ninty_three(drive))
-               mode = min_t(u8, mode, 1);
-       return mode;
-}
-
 /**
  *     it8213_dma_2_pio                -       return the PIO mode matching DMA
  *     @xfer_rate: transfer speed
@@ -145,7 +129,7 @@ static int it8213_tune_chipset (ide_drive_t *drive, u8 xferspeed)
        ide_hwif_t *hwif        = HWIF(drive);
        struct pci_dev *dev     = hwif->pci_dev;
        u8 maslave              = 0x40;
-       u8 speed                = ide_rate_filter(it8213_ratemask(drive), xferspeed);
+       u8 speed                = ide_rate_filter(drive, xferspeed);
        int a_speed             = 3 << (drive->dn * 4);
        int u_flag              = 1 << drive->dn;
        int v_flag              = 0x01 << drive->dn;
@@ -213,25 +197,6 @@ static int it8213_tune_chipset (ide_drive_t *drive, u8 xferspeed)
        return ide_config_drive_speed(drive, speed);
 }
 
-/*
- *     config_chipset_for_dma  -       configure for DMA
- *     @drive: drive to configure
- *
- *     Called by the IDE layer when it wants the timings set up.
- */
-
-static int config_chipset_for_dma (ide_drive_t *drive)
-{
-       u8 speed = ide_dma_speed(drive, it8213_ratemask(drive));
-
-       if (!speed)
-               return 0;
-
-       it8213_tune_chipset(drive, speed);
-
-       return ide_dma_enable(drive);
-}
-
 /**
  *     it8213_configure_drive_for_dma  -       set up for DMA transfers
  *     @drive: drive we are going to set up
@@ -244,17 +209,15 @@ static int config_chipset_for_dma (ide_drive_t *drive)
 
 static int it8213_config_drive_for_dma (ide_drive_t *drive)
 {
-       ide_hwif_t *hwif = drive->hwif;
+       u8 pio;
 
-       if (ide_use_dma(drive)) {
-               if (config_chipset_for_dma(drive))
-                       return hwif->ide_dma_on(drive);
-       }
+       if (ide_tune_dma(drive))
+               return 0;
 
-       hwif->speedproc(drive, XFER_PIO_0
-                       + ide_get_best_pio_mode(drive, 255, 4, NULL));
+       pio = ide_get_best_pio_mode(drive, 255, 4, NULL);
+       it8213_tune_chipset(drive, XFER_PIO_0 + pio);
 
-       return hwif->ide_dma_off_quietly(drive);
+       return -1;
 }
 
 /**