diff options
author | Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> | 2009-03-27 07:46:46 -0400 |
---|---|---|
committer | Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> | 2009-03-27 07:46:46 -0400 |
commit | 2298169418f43ba5e0919762a4bab95a1227872a (patch) | |
tree | 67cf3133c7bae747ad957c68a650534105a7d8e7 /drivers/ide/ide-taskfile.c | |
parent | 130e886708d6e11f3d54e5d27c266578de56f343 (diff) |
ide: pass command to ide_map_sg()
* Set IDE_TFLAG_WRITE flag and ->rq also for ATA_CMD_PACKET
commands.
* Pass command to ->dma_setup method and update all its
implementations accordingly.
* Pass command instead of request to ide_build_sglist(),
*_build_dmatable() and ide_map_sg().
While at it:
* Fix scc_dma_setup() documentation + use ATA_DMA_WR define.
* Rename sgiioc4_build_dma_table() to sgiioc4_build_dmatable(),
change return value type to 'int' and drop unused 'ddir'
argument.
* Do some minor cleanups in [tx4939]ide_dma_setup().
There should be no functional changes caused by this patch.
Acked-by: Borislav Petkov <petkovbb@gmail.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Diffstat (limited to 'drivers/ide/ide-taskfile.c')
-rw-r--r-- | drivers/ide/ide-taskfile.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/ide/ide-taskfile.c b/drivers/ide/ide-taskfile.c index db6d7821e45b..3b23bd11945e 100644 --- a/drivers/ide/ide-taskfile.c +++ b/drivers/ide/ide-taskfile.c | |||
@@ -102,8 +102,8 @@ ide_startstop_t do_rw_taskfile(ide_drive_t *drive, struct ide_cmd *orig_cmd) | |||
102 | return ide_started; | 102 | return ide_started; |
103 | default: | 103 | default: |
104 | if ((drive->dev_flags & IDE_DFLAG_USING_DMA) == 0 || | 104 | if ((drive->dev_flags & IDE_DFLAG_USING_DMA) == 0 || |
105 | ide_build_sglist(drive, hwif->rq) == 0 || | 105 | ide_build_sglist(drive, cmd) == 0 || |
106 | dma_ops->dma_setup(drive)) | 106 | dma_ops->dma_setup(drive, cmd)) |
107 | return ide_stopped; | 107 | return ide_stopped; |
108 | dma_ops->dma_exec_cmd(drive, tf->command); | 108 | dma_ops->dma_exec_cmd(drive, tf->command); |
109 | dma_ops->dma_start(drive); | 109 | dma_ops->dma_start(drive); |