[POWERPC] mpc52xx_pic: fix main interrupt masking
[powerpc.git] / drivers / ide / pci / siimage.c
index 505878c..71eccdf 100644 (file)
  *     If you have strange problems with nVidia chipset systems please
  *     see the SI support documentation and update your system BIOS
  *     if neccessary
+ *
+ *  The Dell DRAC4 has some interesting features including effectively hot
+ *  unplugging/replugging the virtual CD interface when the DRAC is reset.
+ *  This often causes drivers/ide/siimage to panic but is ok with the rather
+ *  smarter code in libata.
  */
 
 #include <linux/types.h>
@@ -414,17 +419,13 @@ static int config_chipset_for_dma (ide_drive_t *drive)
  
 static int siimage_config_drive_for_dma (ide_drive_t *drive)
 {
-       ide_hwif_t *hwif        = HWIF(drive);
-
        if (ide_use_dma(drive) && config_chipset_for_dma(drive))
-               return hwif->ide_dma_on(drive);
+               return 0;
 
-       if (ide_use_fast_pio(drive)) {
+       if (ide_use_fast_pio(drive))
                config_chipset_for_pio(drive, 1);
-               return hwif->ide_dma_off_quietly(drive);
-       }
-       /* IORDY not supported */
-       return 0;
+
+       return -1;
 }
 
 /* returns 1 if dma irq issued, 0 otherwise */
@@ -888,7 +889,8 @@ static void __devinit init_mmio_iops_siimage(ide_hwif_t *hwif)
                base = (unsigned long) addr;
 
        hwif->dma_base                  = base + (ch ? 0x08 : 0x00);
-       hwif->mmio                      = 2;
+
+       hwif->mmio = 1;
 }
 
 static int is_dev_seagate_sata(ide_drive_t *drive)