summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/ide/falconide.c13
-rw-r--r--drivers/ide/q40ide.c14
2 files changed, 19 insertions, 8 deletions
diff --git a/drivers/ide/falconide.c b/drivers/ide/falconide.c
index afa2af9a362b..0e2df6755ec9 100644
--- a/drivers/ide/falconide.c
+++ b/drivers/ide/falconide.c
@@ -20,6 +20,7 @@
20#include <asm/atarihw.h> 20#include <asm/atarihw.h>
21#include <asm/atariints.h> 21#include <asm/atariints.h>
22#include <asm/atari_stdma.h> 22#include <asm/atari_stdma.h>
23#include <asm/ide.h>
23 24
24#define DRV_NAME "falconide" 25#define DRV_NAME "falconide"
25 26
@@ -67,8 +68,10 @@ static void falconide_input_data(ide_drive_t *drive, struct ide_cmd *cmd,
67{ 68{
68 unsigned long data_addr = drive->hwif->io_ports.data_addr; 69 unsigned long data_addr = drive->hwif->io_ports.data_addr;
69 70
70 if (drive->media == ide_disk && cmd && (cmd->tf_flags & IDE_TFLAG_FS)) 71 if (drive->media == ide_disk && cmd && (cmd->tf_flags & IDE_TFLAG_FS)) {
71 return insw(data_addr, buf, (len + 1) / 2); 72 __ide_mm_insw(data_addr, buf, (len + 1) / 2);
73 return;
74 }
72 75
73 raw_insw_swapw((u16 *)data_addr, buf, (len + 1) / 2); 76 raw_insw_swapw((u16 *)data_addr, buf, (len + 1) / 2);
74} 77}
@@ -78,8 +81,10 @@ static void falconide_output_data(ide_drive_t *drive, struct ide_cmd *cmd,
78{ 81{
79 unsigned long data_addr = drive->hwif->io_ports.data_addr; 82 unsigned long data_addr = drive->hwif->io_ports.data_addr;
80 83
81 if (drive->media == ide_disk && cmd && (cmd->tf_flags & IDE_TFLAG_FS)) 84 if (drive->media == ide_disk && cmd && (cmd->tf_flags & IDE_TFLAG_FS)) {
82 return outsw(data_addr, buf, (len + 1) / 2); 85 __ide_mm_outsw(data_addr, buf, (len + 1) / 2);
86 return;
87 }
83 88
84 raw_outsw_swapw((u16 *)data_addr, buf, (len + 1) / 2); 89 raw_outsw_swapw((u16 *)data_addr, buf, (len + 1) / 2);
85} 90}
diff --git a/drivers/ide/q40ide.c b/drivers/ide/q40ide.c
index d007e7f66598..c79346679244 100644
--- a/drivers/ide/q40ide.c
+++ b/drivers/ide/q40ide.c
@@ -16,6 +16,8 @@
16#include <linux/blkdev.h> 16#include <linux/blkdev.h>
17#include <linux/ide.h> 17#include <linux/ide.h>
18 18
19#include <asm/ide.h>
20
19 /* 21 /*
20 * Bases of the IDE interfaces 22 * Bases of the IDE interfaces
21 */ 23 */
@@ -77,8 +79,10 @@ static void q40ide_input_data(ide_drive_t *drive, struct ide_cmd *cmd,
77{ 79{
78 unsigned long data_addr = drive->hwif->io_ports.data_addr; 80 unsigned long data_addr = drive->hwif->io_ports.data_addr;
79 81
80 if (drive->media == ide_disk && cmd && (cmd->tf_flags & IDE_TFLAG_FS)) 82 if (drive->media == ide_disk && cmd && (cmd->tf_flags & IDE_TFLAG_FS)) {
81 return insw(data_addr, buf, (len + 1) / 2); 83 __ide_mm_insw(data_addr, buf, (len + 1) / 2);
84 return;
85 }
82 86
83 raw_insw_swapw((u16 *)data_addr, buf, (len + 1) / 2); 87 raw_insw_swapw((u16 *)data_addr, buf, (len + 1) / 2);
84} 88}
@@ -88,8 +92,10 @@ static void q40ide_output_data(ide_drive_t *drive, struct ide_cmd *cmd,
88{ 92{
89 unsigned long data_addr = drive->hwif->io_ports.data_addr; 93 unsigned long data_addr = drive->hwif->io_ports.data_addr;
90 94
91 if (drive->media == ide_disk && cmd && (cmd->tf_flags & IDE_TFLAG_FS)) 95 if (drive->media == ide_disk && cmd && (cmd->tf_flags & IDE_TFLAG_FS)) {
92 return outsw(data_addr, buf, (len + 1) / 2); 96 __ide_mm_outsw(data_addr, buf, (len + 1) / 2);
97 return;
98 }
93 99
94 raw_outsw_swapw((u16 *)data_addr, buf, (len + 1) / 2); 100 raw_outsw_swapw((u16 *)data_addr, buf, (len + 1) / 2);
95} 101}