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: default avatarTAKADA Yoshihito <takada@mbf.nifty.com>
Signed-off-by: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
parent 64afc31f
...@@ -119,6 +119,7 @@ static const struct ide_dma_ops cs5520_dma_ops = { ...@@ -119,6 +119,7 @@ static const struct ide_dma_ops cs5520_dma_ops = {
.dma_timeout = ide_dma_timeout, .dma_timeout = ide_dma_timeout,
}; };
/* FIXME: VDMA is disabled because it caused system hangs */
#define DECLARE_CS_DEV(name_str) \ #define DECLARE_CS_DEV(name_str) \
{ \ { \
.name = name_str, \ .name = name_str, \
...@@ -126,7 +127,6 @@ static const struct ide_dma_ops cs5520_dma_ops = { ...@@ -126,7 +127,6 @@ static const struct ide_dma_ops cs5520_dma_ops = {
.dma_ops = &cs5520_dma_ops, \ .dma_ops = &cs5520_dma_ops, \
.host_flags = IDE_HFLAG_ISA_PORTS | \ .host_flags = IDE_HFLAG_ISA_PORTS | \
IDE_HFLAG_CS5520 | \ IDE_HFLAG_CS5520 | \
IDE_HFLAG_VDMA | \
IDE_HFLAG_NO_ATAPI_DMA | \ IDE_HFLAG_NO_ATAPI_DMA | \
IDE_HFLAG_ABUSE_SET_DMA_MODE, \ IDE_HFLAG_ABUSE_SET_DMA_MODE, \
.pio_mask = ATA_PIO4, \ .pio_mask = ATA_PIO4, \
......
...@@ -1057,8 +1057,8 @@ enum { ...@@ -1057,8 +1057,8 @@ enum {
IDE_HFLAG_NO_SET_MODE = (1 << 9), IDE_HFLAG_NO_SET_MODE = (1 << 9),
/* trust BIOS for programming chipset/device for DMA */ /* trust BIOS for programming chipset/device for DMA */
IDE_HFLAG_TRUST_BIOS_FOR_DMA = (1 << 10), IDE_HFLAG_TRUST_BIOS_FOR_DMA = (1 << 10),
/* host uses VDMA (tied with IDE_HFLAG_CS5520 for now) */ /* host is CS5510/CS5520 */
IDE_HFLAG_VDMA = (1 << 11), IDE_HFLAG_CS5520 = (1 << 11),
/* ATAPI DMA is unsupported */ /* ATAPI DMA is unsupported */
IDE_HFLAG_NO_ATAPI_DMA = (1 << 12), IDE_HFLAG_NO_ATAPI_DMA = (1 << 12),
/* set if host is a "non-bootable" controller */ /* set if host is a "non-bootable" controller */
...@@ -1069,8 +1069,6 @@ enum { ...@@ -1069,8 +1069,6 @@ enum {
IDE_HFLAG_NO_AUTODMA = (1 << 15), IDE_HFLAG_NO_AUTODMA = (1 << 15),
/* host uses MMIO */ /* host uses MMIO */
IDE_HFLAG_MMIO = (1 << 16), IDE_HFLAG_MMIO = (1 << 16),
/* host is CS5510/CS5520 */
IDE_HFLAG_CS5520 = IDE_HFLAG_VDMA,
/* no LBA48 */ /* no LBA48 */
IDE_HFLAG_NO_LBA48 = (1 << 17), IDE_HFLAG_NO_LBA48 = (1 << 17),
/* no LBA48 DMA */ /* no LBA48 DMA */
...@@ -1100,6 +1098,8 @@ enum { ...@@ -1100,6 +1098,8 @@ enum {
IDE_HFLAG_NO_IO_32BIT = (1 << 30), IDE_HFLAG_NO_IO_32BIT = (1 << 30),
/* never unmask IRQs */ /* never unmask IRQs */
IDE_HFLAG_NO_UNMASK_IRQS = (1 << 31), IDE_HFLAG_NO_UNMASK_IRQS = (1 << 31),
/* host uses VDMA (disabled for now) */
IDE_HFLAG_VDMA = 0,
}; };
#ifdef CONFIG_BLK_DEV_OFFBOARD #ifdef CONFIG_BLK_DEV_OFFBOARD
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment