diff options
author | Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> | 2008-05-14 17:06:16 -0400 |
---|---|---|
committer | Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> | 2008-05-14 17:06:16 -0400 |
commit | cafa027b8cc6f605ccebc43a960644307a12d8dd (patch) | |
tree | ed78393f695491a517285313fae98dc033e5b8d2 | |
parent | 64afc31f8976bda66e82a41aacb1f7e427fb179e (diff) |
cs5520: disable VDMA
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>
-rw-r--r-- | drivers/ide/pci/cs5520.c | 2 | ||||
-rw-r--r-- | include/linux/ide.h | 8 |
2 files changed, 5 insertions, 5 deletions
diff --git a/drivers/ide/pci/cs5520.c b/drivers/ide/pci/cs5520.c index 17669a434438..992b1cf8db69 100644 --- a/drivers/ide/pci/cs5520.c +++ b/drivers/ide/pci/cs5520.c | |||
@@ -119,6 +119,7 @@ static const struct ide_dma_ops cs5520_dma_ops = { | |||
119 | .dma_timeout = ide_dma_timeout, | 119 | .dma_timeout = ide_dma_timeout, |
120 | }; | 120 | }; |
121 | 121 | ||
122 | /* FIXME: VDMA is disabled because it caused system hangs */ | ||
122 | #define DECLARE_CS_DEV(name_str) \ | 123 | #define DECLARE_CS_DEV(name_str) \ |
123 | { \ | 124 | { \ |
124 | .name = name_str, \ | 125 | .name = name_str, \ |
@@ -126,7 +127,6 @@ static const struct ide_dma_ops cs5520_dma_ops = { | |||
126 | .dma_ops = &cs5520_dma_ops, \ | 127 | .dma_ops = &cs5520_dma_ops, \ |
127 | .host_flags = IDE_HFLAG_ISA_PORTS | \ | 128 | .host_flags = IDE_HFLAG_ISA_PORTS | \ |
128 | IDE_HFLAG_CS5520 | \ | 129 | IDE_HFLAG_CS5520 | \ |
129 | IDE_HFLAG_VDMA | \ | ||
130 | IDE_HFLAG_NO_ATAPI_DMA | \ | 130 | IDE_HFLAG_NO_ATAPI_DMA | \ |
131 | IDE_HFLAG_ABUSE_SET_DMA_MODE, \ | 131 | IDE_HFLAG_ABUSE_SET_DMA_MODE, \ |
132 | .pio_mask = ATA_PIO4, \ | 132 | .pio_mask = ATA_PIO4, \ |
diff --git a/include/linux/ide.h b/include/linux/ide.h index 19ec852dffd2..f8f195c20da2 100644 --- a/include/linux/ide.h +++ b/include/linux/ide.h | |||
@@ -1057,8 +1057,8 @@ enum { | |||
1057 | IDE_HFLAG_NO_SET_MODE = (1 << 9), | 1057 | IDE_HFLAG_NO_SET_MODE = (1 << 9), |
1058 | /* trust BIOS for programming chipset/device for DMA */ | 1058 | /* trust BIOS for programming chipset/device for DMA */ |
1059 | IDE_HFLAG_TRUST_BIOS_FOR_DMA = (1 << 10), | 1059 | IDE_HFLAG_TRUST_BIOS_FOR_DMA = (1 << 10), |
1060 | /* host uses VDMA (tied with IDE_HFLAG_CS5520 for now) */ | 1060 | /* host is CS5510/CS5520 */ |
1061 | IDE_HFLAG_VDMA = (1 << 11), | 1061 | IDE_HFLAG_CS5520 = (1 << 11), |
1062 | /* ATAPI DMA is unsupported */ | 1062 | /* ATAPI DMA is unsupported */ |
1063 | IDE_HFLAG_NO_ATAPI_DMA = (1 << 12), | 1063 | IDE_HFLAG_NO_ATAPI_DMA = (1 << 12), |
1064 | /* set if host is a "non-bootable" controller */ | 1064 | /* set if host is a "non-bootable" controller */ |
@@ -1069,8 +1069,6 @@ enum { | |||
1069 | IDE_HFLAG_NO_AUTODMA = (1 << 15), | 1069 | IDE_HFLAG_NO_AUTODMA = (1 << 15), |
1070 | /* host uses MMIO */ | 1070 | /* host uses MMIO */ |
1071 | IDE_HFLAG_MMIO = (1 << 16), | 1071 | IDE_HFLAG_MMIO = (1 << 16), |
1072 | /* host is CS5510/CS5520 */ | ||
1073 | IDE_HFLAG_CS5520 = IDE_HFLAG_VDMA, | ||
1074 | /* no LBA48 */ | 1072 | /* no LBA48 */ |
1075 | IDE_HFLAG_NO_LBA48 = (1 << 17), | 1073 | IDE_HFLAG_NO_LBA48 = (1 << 17), |
1076 | /* no LBA48 DMA */ | 1074 | /* no LBA48 DMA */ |
@@ -1100,6 +1098,8 @@ enum { | |||
1100 | IDE_HFLAG_NO_IO_32BIT = (1 << 30), | 1098 | IDE_HFLAG_NO_IO_32BIT = (1 << 30), |
1101 | /* never unmask IRQs */ | 1099 | /* never unmask IRQs */ |
1102 | IDE_HFLAG_NO_UNMASK_IRQS = (1 << 31), | 1100 | IDE_HFLAG_NO_UNMASK_IRQS = (1 << 31), |
1101 | /* host uses VDMA (disabled for now) */ | ||
1102 | IDE_HFLAG_VDMA = 0, | ||
1103 | }; | 1103 | }; |
1104 | 1104 | ||
1105 | #ifdef CONFIG_BLK_DEV_OFFBOARD | 1105 | #ifdef CONFIG_BLK_DEV_OFFBOARD |