diff options
author | Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> | 2009-03-27 07:46:47 -0400 |
---|---|---|
committer | Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> | 2009-03-27 07:46:47 -0400 |
commit | 22117d6eaac50d366d9013c88318a869ea4d8739 (patch) | |
tree | 7dae55b028f8c7c249341f026257f94c88eed3cf /drivers/ide/ide-taskfile.c | |
parent | 60c0cd02b254805691cdc61101ada6af7bd56fde (diff) |
ide: add ->dma_timer_expiry method and remove ->dma_exec_cmd one (v2)
* Rename dma_timer_expiry() to ide_dma_sff_timer_expiry() and export it.
* Add ->dma_timer_expiry method and use it to set hwif->expiry for
ATA_PROT_DMA protocol in do_rw_taskfile().
* Initialize ->dma_timer_expiry to ide_dma_sff_timer_expiry() for SFF hosts.
* Move setting hwif->expiry from ide_execute_command() to its users and drop
'expiry' argument.
* Use ide_execute_command() instead of ->dma_exec_cmd in do_rw_taskfile().
* Remove ->dma_exec_cmd method and its implementations.
* Unexport ide_execute_command() and ide_dma_intr().
v2:
* Fix CONFIG_BLK_DEV_IDEDMA=n build (noticed by Randy Dunlap).
* Fix *dma_expiry naming (suggested by Sergei Shtylyov).
There should be no functional changes caused by this patch.
Cc: Randy Dunlap <randy.dunlap@oracle.com>
Cc: Sergei Shtylyov <sshtylyov@ru.mvista.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 | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/ide/ide-taskfile.c b/drivers/ide/ide-taskfile.c index 286804142e4d..f5cf04cf5712 100644 --- a/drivers/ide/ide-taskfile.c +++ b/drivers/ide/ide-taskfile.c | |||
@@ -98,14 +98,16 @@ ide_startstop_t do_rw_taskfile(ide_drive_t *drive, struct ide_cmd *orig_cmd) | |||
98 | if (handler == NULL) | 98 | if (handler == NULL) |
99 | handler = task_no_data_intr; | 99 | handler = task_no_data_intr; |
100 | ide_execute_command(drive, tf->command, handler, | 100 | ide_execute_command(drive, tf->command, handler, |
101 | WAIT_WORSTCASE, NULL); | 101 | WAIT_WORSTCASE); |
102 | return ide_started; | 102 | return ide_started; |
103 | case ATA_PROT_DMA: | 103 | case ATA_PROT_DMA: |
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, cmd) == 0 || | 105 | ide_build_sglist(drive, cmd) == 0 || |
106 | dma_ops->dma_setup(drive, cmd)) | 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 | hwif->expiry = dma_ops->dma_timer_expiry; |
109 | ide_execute_command(drive, tf->command, ide_dma_intr, | ||
110 | 2 * WAIT_CMD); | ||
109 | dma_ops->dma_start(drive); | 111 | dma_ops->dma_start(drive); |
110 | default: | 112 | default: |
111 | return ide_started; | 113 | return ide_started; |