aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ide/ide-taskfile.c
diff options
context:
space:
mode:
authorBartlomiej Zolnierkiewicz <bzolnier@gmail.com>2009-03-27 07:46:47 -0400
committerBartlomiej Zolnierkiewicz <bzolnier@gmail.com>2009-03-27 07:46:47 -0400
commit22117d6eaac50d366d9013c88318a869ea4d8739 (patch)
tree7dae55b028f8c7c249341f026257f94c88eed3cf /drivers/ide/ide-taskfile.c
parent60c0cd02b254805691cdc61101ada6af7bd56fde (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.c6
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;