Commit 10404b97 authored by Alan Cox's avatar Alan Cox Committed by Linus Torvalds

[PATCH] ide-dma

This switches ide-dma to ide_execute_command and makes IDE DMA also happy
when running shared IRQ
parent aadf20dc
...@@ -664,11 +664,6 @@ int __ide_dma_read (ide_drive_t *drive /*, struct request *rq */) ...@@ -664,11 +664,6 @@ int __ide_dma_read (ide_drive_t *drive /*, struct request *rq */)
if (drive->media != ide_disk) if (drive->media != ide_disk)
return 0; return 0;
/* paranoia check */
if (HWGROUP(drive)->handler != NULL)
BUG();
ide_set_handler(drive, &ide_dma_intr, 2*WAIT_CMD, dma_timer_expiry);
command = (lba48) ? WIN_READDMA_EXT : WIN_READDMA; command = (lba48) ? WIN_READDMA_EXT : WIN_READDMA;
if (drive->vdma) if (drive->vdma)
...@@ -680,8 +675,7 @@ int __ide_dma_read (ide_drive_t *drive /*, struct request *rq */) ...@@ -680,8 +675,7 @@ int __ide_dma_read (ide_drive_t *drive /*, struct request *rq */)
} }
/* issue cmd to drive */ /* issue cmd to drive */
hwif->OUTB(command, IDE_COMMAND_REG); ide_execute_command(drive, command, &ide_dma_intr, 2*WAIT_CMD, dma_timer_expiry);
return HWIF(drive)->ide_dma_count(drive); return HWIF(drive)->ide_dma_count(drive);
} }
...@@ -702,11 +696,6 @@ int __ide_dma_write (ide_drive_t *drive /*, struct request *rq */) ...@@ -702,11 +696,6 @@ int __ide_dma_write (ide_drive_t *drive /*, struct request *rq */)
if (drive->media != ide_disk) if (drive->media != ide_disk)
return 0; return 0;
/* paranoia check */
if (HWGROUP(drive)->handler != NULL)
BUG();
ide_set_handler(drive, &ide_dma_intr, 2*WAIT_CMD, dma_timer_expiry);
command = (lba48) ? WIN_WRITEDMA_EXT : WIN_WRITEDMA; command = (lba48) ? WIN_WRITEDMA_EXT : WIN_WRITEDMA;
if (drive->vdma) if (drive->vdma)
command = (lba48) ? WIN_WRITE_EXT: WIN_WRITE; command = (lba48) ? WIN_WRITE_EXT: WIN_WRITE;
...@@ -717,7 +706,7 @@ int __ide_dma_write (ide_drive_t *drive /*, struct request *rq */) ...@@ -717,7 +706,7 @@ int __ide_dma_write (ide_drive_t *drive /*, struct request *rq */)
} }
/* issue cmd to drive */ /* issue cmd to drive */
hwif->OUTB(command, IDE_COMMAND_REG); ide_execute_command(drive, command, &ide_dma_intr, 2*WAIT_CMD, dma_timer_expiry);
return HWIF(drive)->ide_dma_count(drive); return HWIF(drive)->ide_dma_count(drive);
} }
......
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