cs5520: disable VDMA
authorBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Wed, 14 May 2008 21:06:16 +0000 (23:06 +0200)
committerBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Wed, 14 May 2008 21:06:16 +0000 (23:06 +0200)
Disable Virtual DMA support for now (it causes system hangs).

Thanks to TAKADA Yoshihito for the help with debugging the problem.

Reported-by: TAKADA Yoshihito <takada@mbf.nifty.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
drivers/ide/pci/cs5520.c
include/linux/ide.h

index 17669a4..992b1cf 100644 (file)
@@ -119,6 +119,7 @@ static const struct ide_dma_ops cs5520_dma_ops = {
        .dma_timeout            = ide_dma_timeout,
 };
 
+/* FIXME: VDMA is disabled because it caused system hangs */
 #define DECLARE_CS_DEV(name_str)                               \
        {                                                       \
                .name           = name_str,                     \
@@ -126,7 +127,6 @@ static const struct ide_dma_ops cs5520_dma_ops = {
                .dma_ops        = &cs5520_dma_ops,              \
                .host_flags     = IDE_HFLAG_ISA_PORTS |         \
                                  IDE_HFLAG_CS5520 |            \
-                                 IDE_HFLAG_VDMA |              \
                                  IDE_HFLAG_NO_ATAPI_DMA |      \
                                  IDE_HFLAG_ABUSE_SET_DMA_MODE, \
                .pio_mask       = ATA_PIO4,                     \
index 19ec852..f8f195c 100644 (file)
@@ -1057,8 +1057,8 @@ enum {
        IDE_HFLAG_NO_SET_MODE           = (1 << 9),
        /* trust BIOS for programming chipset/device for DMA */
        IDE_HFLAG_TRUST_BIOS_FOR_DMA    = (1 << 10),
-       /* host uses VDMA (tied with IDE_HFLAG_CS5520 for now) */
-       IDE_HFLAG_VDMA                  = (1 << 11),
+       /* host is CS5510/CS5520 */
+       IDE_HFLAG_CS5520                = (1 << 11),
        /* ATAPI DMA is unsupported */
        IDE_HFLAG_NO_ATAPI_DMA          = (1 << 12),
        /* set if host is a "non-bootable" controller */
@@ -1069,8 +1069,6 @@ enum {
        IDE_HFLAG_NO_AUTODMA            = (1 << 15),
        /* host uses MMIO */
        IDE_HFLAG_MMIO                  = (1 << 16),
-       /* host is CS5510/CS5520 */
-       IDE_HFLAG_CS5520                = IDE_HFLAG_VDMA,
        /* no LBA48 */
        IDE_HFLAG_NO_LBA48              = (1 << 17),
        /* no LBA48 DMA */
@@ -1100,6 +1098,8 @@ enum {
        IDE_HFLAG_NO_IO_32BIT           = (1 << 30),
        /* never unmask IRQs */
        IDE_HFLAG_NO_UNMASK_IRQS        = (1 << 31),
+       /* host uses VDMA (disabled for now) */
+       IDE_HFLAG_VDMA                  = 0,
 };
 
 #ifdef CONFIG_BLK_DEV_OFFBOARD