amd74xx/via82cxxx: use ide_tune_dma()
PATCH 4/6 amd74xx/via82cxxx: use ide_tune_dma()
* Use ide_tune_dma() in amd74xx/via82cxxx driver, this fixes following bugs:
- DMA capability bit not being checked on the device
- DMA blacklist not being checked
- DMA mode being programmed even if drive->autodma == 0
(thus possibly destroying PIO timings)
* Bump driver version.
--- drivers/ide/pci/amd74xx.c | 15 ++++----------- drivers/ide/pci/via82cxxx.c | 15 ++++----------- 2 files changed, 8 insertions(+), 22 deletions(-)
drivers/ide/pci/amd74xx.c +4 -11
@@ -1,5 +1,5 @@/* -* Version 2.21 +* Version 2.22 * * AMD 755/756/766/8111 and nVidia nForce/2/2s/3/3s/CK804/MCP04 * IDE driver for Linux.
@@ -277,18 +277,11 @@ static void amd_set_pio_mode(ide_drive_tstatic int amd74xx_ide_dma_check (ide_drive_t *drive) { -u8 speed =ide_max_dma_mode (drive); - -if (speed ==0 ) { -ide_set_max_pio (drive); -return -1 ; - } - -amd_set_drive (drive, speed); - -if (drive->autodma) +if (ide_tune_dma (drive))return 0 ; +ide_set_max_pio (drive); +return -1 ; }
drivers/ide/pci/via82cxxx.c +4 -11
@@ -1,6 +1,6 @@/* * -* Version 3.46 +* Version 3.47 * * VIA IDE driver for Linux. Supported southbridges: *
@@ -217,18 +217,11 @@ static void via_set_pio_mode(ide_drive_tstatic int via82cxxx_ide_dma_check (ide_drive_t *drive) { -u8 speed =ide_max_dma_mode (drive); - -if (speed ==0 ) { -ide_set_max_pio (drive); -return -1 ; - } - -via_set_drive (drive, speed); - -if (drive->autodma) +if (ide_tune_dma (drive))return 0 ; +ide_set_max_pio (drive); +return -1 ; }
Quoted 9 lines · Bartlomiej Zolnierkiewicz
* Use
ide_tune_dma()in amd74xx/via82cxxx driver, this fixes following bugs:
- DMA capability bit not being checked on the device
- DMA blacklist not being checked
- DMA mode being programmed even ifdrive->autodma== 0
(thus possibly destroying PIO timings)* Bump driver version.
Signed-off-by Bartlomiej Zolnierkiewicz <[email protected]>
MBR, Sergei
Quoted 8 lines · Sergei Shtylyov
Quoted 5 lines · Bartlomiej Zolnierkiewicz
* Use
ide_tune_dma()in amd74xx/via82cxxx driver, this fixes following bugs:
- DMA capability bit not being checked on the device
- DMA blacklist not being checked
- DMA mode being programmed even ifdrive->autodma== 0
(thus possibly destroying PIO timings)
Quoted 5 lines
Quoted 3 lines
* Bump driver version.
Signed-off-by Bartlomiej Zolnierkiewicz <[email protected]>Acked-by Sergei Shtylyov <[email protected]>
added