diff options
author | Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> | 2007-10-16 16:29:55 -0400 |
---|---|---|
committer | Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> | 2007-10-16 16:29:55 -0400 |
commit | 0ae2e178652753ae1797d407755a3505f7c1d2a7 (patch) | |
tree | fa725edcfb4b9752ebf2aa49a3e42e158537d4ed /drivers/ide/pci/cs5520.c | |
parent | b8b739d3361c16773a30fe5c0360336bbc19f435 (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.c | 13 |
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 | ||
108 | static 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 | ||