summaryrefslogtreecommitdiffstats
path: root/sys/dev/ata/ata-all.h
diff options
context:
space:
mode:
authorsos <sos@FreeBSD.org>2007-12-13 11:47:36 +0000
committersos <sos@FreeBSD.org>2007-12-13 11:47:36 +0000
commitcd8dd509e58c8183d4857c5e00ba546f7068f6c6 (patch)
treec711890a2c96971d6ed47d9c015011cd3471f8f1 /sys/dev/ata/ata-all.h
parent8348a2e29463adaac848d62aca1ee994d4f6123f (diff)
downloadFreeBSD-src-cd8dd509e58c8183d4857c5e00ba546f7068f6c6.zip
FreeBSD-src-cd8dd509e58c8183d4857c5e00ba546f7068f6c6.tar.gz
Implement a workaround of the datacorruption problem on serverworks HT1000 chipsets.
The HT1000 DMA engine seems to not always like 64K transfers and sometimes barfs data all over memory leading to instant chrash and burn. Also fix 48bit adressing issues, apparently newer chips needs 16bit writes and not the usual fifo thing. HW donated by: Travis Mikalson at TerraNovaNet
Diffstat (limited to 'sys/dev/ata/ata-all.h')
-rw-r--r--sys/dev/ata/ata-all.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/dev/ata/ata-all.h b/sys/dev/ata/ata-all.h
index 35d0035..c8440d3 100644
--- a/sys/dev/ata/ata-all.h
+++ b/sys/dev/ata/ata-all.h
@@ -464,6 +464,8 @@ struct ata_lowlevel {
int (*begin_transaction)(struct ata_request *request);
int (*end_transaction)(struct ata_request *request);
int (*command)(struct ata_request *request);
+ void (*tf_read)(struct ata_request *request);
+ void (*tf_write)(struct ata_request *request);
};
/* structure holding resources for an ATA channel */
OpenPOWER on IntegriCloud