aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ide/pci/cs5520.c
diff options
context:
space:
mode:
authorBartlomiej Zolnierkiewicz <bzolnier@gmail.com>2007-10-16 16:29:55 -0400
committerBartlomiej Zolnierkiewicz <bzolnier@gmail.com>2007-10-16 16:29:55 -0400
commit0ae2e178652753ae1797d407755a3505f7c1d2a7 (patch)
treefa725edcfb4b9752ebf2aa49a3e42e158537d4ed /drivers/ide/pci/cs5520.c
parentb8b739d3361c16773a30fe5c0360336bbc19f435 (diff)
ide: remove ->ide_dma_check (take 2)
* Add IDE_HFLAG_TRUST_BIOS_FOR_DMA host flag for host drivers that depend on BIOS for programming device/controller for DMA. Set it in cy82c693, generic, ns87415, opti621 and trm290 host drivers. * Add IDE_HFLAG_VDMA host flag for host drivers using VDMA. Set it in cs5520 host driver. * Teach ide_tune_dma() about IDE_HFLAG_TRUST_BIOS_FOR_DMA flag. * Add generic ide_dma_check() helper and remove all open coded ->ide_dma_check implementations. Fix all places checking for presence of ->ide_dma_check hook to check for ->ide_dma_on instead. * Remove no longer needed code from config_drive_for_dma(). * Make ide_tune_dma() static. v2: * Fix config_drive_for_dma() return values. * Fix ide-dma.c build for CONFIG_BLK_DEV_IDEDMA_PCI=n by adding dummy config_drive_for_dma() inline. * Fix IDE_HFLAG_TRUST_BIOS_FOR_DMA handling in ide_dma_check(). * Fix init_hwif_it8213() comment. There should be no functionality changes caused by this patch. Cc: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Diffstat (limited to 'drivers/ide/pci/cs5520.c')
-rw-r--r--drivers/ide/pci/cs5520.c13
1 files changed, 2 insertions, 11 deletions
diff --git a/drivers/ide/pci/cs5520.c b/drivers/ide/pci/cs5520.c
index fbce90048aec..74c3e6048ff2 100644
--- a/drivers/ide/pci/cs5520.c
+++ b/drivers/ide/pci/cs5520.c
@@ -105,15 +105,6 @@ static void cs5520_set_dma_mode(ide_drive_t *drive, const u8 speed)
105 cs5520_set_pio_mode(drive, 0); 105 cs5520_set_pio_mode(drive, 0);
106} 106}
107 107
108static int cs5520_config_drive_xfer_rate(ide_drive_t *drive)
109{
110 /* Tune the drive for PIO modes up to PIO 4 */
111 ide_set_max_pio(drive);
112
113 /* Then tell the core to use DMA operations */
114 return 0;
115}
116
117/* 108/*
118 * We provide a callback for our nonstandard DMA location 109 * We provide a callback for our nonstandard DMA location
119 */ 110 */
@@ -148,7 +139,6 @@ static void __devinit init_hwif_cs5520(ide_hwif_t *hwif)
148 return; 139 return;
149 } 140 }
150 141
151 hwif->ide_dma_check = &cs5520_config_drive_xfer_rate;
152 hwif->ide_dma_on = &cs5520_dma_on; 142 hwif->ide_dma_on = &cs5520_dma_on;
153 143
154 /* ATAPI is harder so leave it for now */ 144 /* ATAPI is harder so leave it for now */
@@ -171,7 +161,8 @@ static void __devinit init_hwif_cs5520(ide_hwif_t *hwif)
171 .init_hwif = init_hwif_cs5520, \ 161 .init_hwif = init_hwif_cs5520, \
172 .autodma = AUTODMA, \ 162 .autodma = AUTODMA, \
173 .bootable = ON_BOARD, \ 163 .bootable = ON_BOARD, \
174 .host_flags = IDE_HFLAG_ISA_PORTS, \ 164 .host_flags = IDE_HFLAG_ISA_PORTS | \
165 IDE_HFLAG_VDMA, \
175 .pio_mask = ATA_PIO4, \ 166 .pio_mask = ATA_PIO4, \
176 } 167 }
177 168