aboutsummaryrefslogtreecommitdiffstats
path: root/src/hw/ata.h
diff options
context:
space:
mode:
authorGerd Hoffmann <kraxel@redhat.com>2016-02-20 15:20:15 +0100
committerKevin O'Connor <kevin@koconnor.net>2016-02-29 11:23:09 -0500
commit3f478b9fcffe1810532192be9d1781f03999776d (patch)
tree63ce3d4c6b023ee2872f63ef83a8196e6ae718c5 /src/hw/ata.h
parent937840347a3da3f90ecf94393ef01e9300574340 (diff)
downloadseabios-3f478b9fcffe1810532192be9d1781f03999776d.tar.gz
ahci: set transfer mode according to the capabilities of connected drive
Use case: cf cards behind sata-ide bridge, which might not support the default transfer mode. Based on a patch by Werner Zeh <werner.zeh@siemens.com>, with some minor tweaks applied. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Diffstat (limited to 'src/hw/ata.h')
-rw-r--r--src/hw/ata.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/hw/ata.h b/src/hw/ata.h
index cd14e59e..9de24906 100644
--- a/src/hw/ata.h
+++ b/src/hw/ata.h
@@ -155,4 +155,9 @@ void ata_setup(void);
#define ATA_CMD_READ_NATIVE_MAX_ADDRESS 0xF8
#define ATA_CMD_SET_MAX 0xF9
+#define ATA_SET_FEATRUE_TRANSFER_MODE 0x03
+#define ATA_TRANSFER_MODE_ULTRA_DMA 0x40
+#define ATA_TRANSFER_MODE_MULTIWORD_DMA 0x20
+#define ATA_TRANSFER_MODE_PIO_FLOW_CTRL 0x08
+#define ATA_TRANSFER_MODE_DEFAULT_PIO 0x00
#endif // ata.h