aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ide/at91_ide.c
diff options
context:
space:
mode:
authorSergei Shtylyov <sshtylyov@ru.mvista.com>2009-03-31 14:15:31 -0400
committerBartlomiej Zolnierkiewicz <bzolnier@gmail.com>2009-03-31 14:15:31 -0400
commit35218d1ca808ed19b8c6f079ce91872b3deb2219 (patch)
tree4cc1748e9046ef26701c88b3c6448734f1a7e874 /drivers/ide/at91_ide.c
parentbac08cee93f9cb37b40ecfa8eaf1f6d8daf3909b (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/at91_ide.c')
-rw-r--r--drivers/ide/at91_ide.c15
1 files changed, 0 insertions, 15 deletions
diff --git a/drivers/ide/at91_ide.c b/drivers/ide/at91_ide.c
index b7be66d600f8..04b39ff02d76 100644
--- a/drivers/ide/at91_ide.c
+++ b/drivers/ide/at91_ide.c
@@ -195,12 +195,6 @@ static void at91_ide_tf_load(ide_drive_t *drive, struct ide_cmd *cmd)
195 if (cmd->ftf_flags & IDE_FTFLAG_FLAGGED) 195 if (cmd->ftf_flags & IDE_FTFLAG_FLAGGED)
196 HIHI = 0xFF; 196 HIHI = 0xFF;
197 197
198 if (cmd->ftf_flags & IDE_FTFLAG_OUT_DATA) {
199 u8 data[2] = { tf->data, tf->hob_data };
200
201 at91_ide_output_data(drive, cmd, data, 2);
202 }
203
204 if (cmd->tf_flags & IDE_TFLAG_OUT_HOB_FEATURE) 198 if (cmd->tf_flags & IDE_TFLAG_OUT_HOB_FEATURE)
205 ide_mm_outb(tf->hob_feature, io_ports->feature_addr); 199 ide_mm_outb(tf->hob_feature, io_ports->feature_addr);
206 if (cmd->tf_flags & IDE_TFLAG_OUT_HOB_NSECT) 200 if (cmd->tf_flags & IDE_TFLAG_OUT_HOB_NSECT)
@@ -233,15 +227,6 @@ static void at91_ide_tf_read(ide_drive_t *drive, struct ide_cmd *cmd)
233 struct ide_io_ports *io_ports = &hwif->io_ports; 227 struct ide_io_ports *io_ports = &hwif->io_ports;
234 struct ide_taskfile *tf = &cmd->tf; 228 struct ide_taskfile *tf = &cmd->tf;
235 229
236 if (cmd->ftf_flags & IDE_FTFLAG_IN_DATA) {
237 u8 data[2];
238
239 at91_ide_input_data(drive, cmd, data, 2);
240
241 tf->data = data[0];
242 tf->hob_data = data[1];
243 }
244
245 /* be sure we're looking at the low order bits */ 230 /* be sure we're looking at the low order bits */
246 ide_mm_outb(ATA_DEVCTL_OBS, io_ports->ctl_addr); 231 ide_mm_outb(ATA_DEVCTL_OBS, io_ports->ctl_addr);
247 232