|
@@ -20,6 +20,7 @@
|
|
|
#include <asm/atarihw.h>
|
|
|
#include <asm/atariints.h>
|
|
|
#include <asm/atari_stdma.h>
|
|
|
+#include <asm/ide.h>
|
|
|
|
|
|
#define DRV_NAME "falconide"
|
|
|
|
|
@@ -67,8 +68,10 @@ static void falconide_input_data(ide_drive_t *drive, struct ide_cmd *cmd,
|
|
|
{
|
|
|
unsigned long data_addr = drive->hwif->io_ports.data_addr;
|
|
|
|
|
|
- if (drive->media == ide_disk && cmd && (cmd->tf_flags & IDE_TFLAG_FS))
|
|
|
- return insw(data_addr, buf, (len + 1) / 2);
|
|
|
+ if (drive->media == ide_disk && cmd && (cmd->tf_flags & IDE_TFLAG_FS)) {
|
|
|
+ __ide_mm_insw(data_addr, buf, (len + 1) / 2);
|
|
|
+ return;
|
|
|
+ }
|
|
|
|
|
|
raw_insw_swapw((u16 *)data_addr, buf, (len + 1) / 2);
|
|
|
}
|
|
@@ -78,8 +81,10 @@ static void falconide_output_data(ide_drive_t *drive, struct ide_cmd *cmd,
|
|
|
{
|
|
|
unsigned long data_addr = drive->hwif->io_ports.data_addr;
|
|
|
|
|
|
- if (drive->media == ide_disk && cmd && (cmd->tf_flags & IDE_TFLAG_FS))
|
|
|
- return outsw(data_addr, buf, (len + 1) / 2);
|
|
|
+ if (drive->media == ide_disk && cmd && (cmd->tf_flags & IDE_TFLAG_FS)) {
|
|
|
+ __ide_mm_outsw(data_addr, buf, (len + 1) / 2);
|
|
|
+ return;
|
|
|
+ }
|
|
|
|
|
|
raw_outsw_swapw((u16 *)data_addr, buf, (len + 1) / 2);
|
|
|
}
|