diff options
author | Sergei Shtylyov <sshtylyov@ru.mvista.com> | 2009-03-31 14:15:31 -0400 |
---|---|---|
committer | Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> | 2009-03-31 14:15:31 -0400 |
commit | 35218d1ca808ed19b8c6f079ce91872b3deb2219 (patch) | |
tree | 4cc1748e9046ef26701c88b3c6448734f1a7e874 /drivers/ide/ide-taskfile.c | |
parent | bac08cee93f9cb37b40ecfa8eaf1f6d8daf3909b (diff) |
ide: move data register access out of tf_{read|load}() methods (take 2)
Move IDE_FTFLAG_{IN|OUT}_DATA flag handling out of tf_{read|load}() methods
into the only two functions where these flags actually need to be handled:
do_rw_taskfile() and ide_complete_cmd()...
Signed-off-by: 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, 6 insertions, 0 deletions
diff --git a/drivers/ide/ide-taskfile.c b/drivers/ide/ide-taskfile.c index 47f13cd11031..243421ce40d0 100644 --- a/drivers/ide/ide-taskfile.c +++ b/drivers/ide/ide-taskfile.c | |||
@@ -82,6 +82,12 @@ ide_startstop_t do_rw_taskfile(ide_drive_t *drive, struct ide_cmd *orig_cmd) | |||
82 | ide_tf_dump(drive->name, tf); | 82 | ide_tf_dump(drive->name, tf); |
83 | tp_ops->write_devctl(hwif, ATA_DEVCTL_OBS); | 83 | tp_ops->write_devctl(hwif, ATA_DEVCTL_OBS); |
84 | SELECT_MASK(drive, 0); | 84 | SELECT_MASK(drive, 0); |
85 | |||
86 | if (cmd->ftf_flags & IDE_FTFLAG_OUT_DATA) { | ||
87 | u8 data[2] = { tf->data, tf->hob_data }; | ||
88 | |||
89 | tp_ops->output_data(drive, cmd, data, 2); | ||
90 | } | ||
85 | tp_ops->tf_load(drive, cmd); | 91 | tp_ops->tf_load(drive, cmd); |
86 | } | 92 | } |
87 | 93 | ||