summaryrefslogtreecommitdiff
path: root/sys/include/dev/ic/ahcivar.h
diff options
context:
space:
mode:
Diffstat (limited to 'sys/include/dev/ic/ahcivar.h')
-rw-r--r--sys/include/dev/ic/ahcivar.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/sys/include/dev/ic/ahcivar.h b/sys/include/dev/ic/ahcivar.h
index 61fdbf4..67f2efe 100644
--- a/sys/include/dev/ic/ahcivar.h
+++ b/sys/include/dev/ic/ahcivar.h
@@ -32,9 +32,15 @@
#include <sys/param.h>
#include <sys/types.h>
+#include <sys/device.h>
+#include <dev/dcdr/cache.h>
#include <dev/ic/ahciregs.h>
+#include <fs/ctlfs.h>
+
+#define AHCI_DCDR_CAP 16
struct ahci_cmd_hdr;
+extern const struct ctlops g_sata_bsize_ops;
struct ata_identity {
uint16_t rsvd0 : 1;
@@ -90,6 +96,7 @@ struct ahci_hba {
* @io: Memory mapped port registers
* @hba: HBA descriptor
* @cmdlist: Command list [p]
+ * @nlba: Max number of addressable blocks
* @fra: FIS receive area [p]
* @dev: Device minor number.
*/
@@ -97,6 +104,8 @@ struct hba_device {
struct hba_port *io;
struct ahci_hba *hba;
struct ahci_cmd_hdr *cmdlist;
+ struct dcdr *dcdr;
+ uint32_t nlba;
void *fra;
dev_t dev;
};
@@ -215,6 +224,7 @@ struct ahci_fis_h2d {
#define AHCI_FIS_SIZE 256
#define AHCI_CMDTAB_SIZE 256
#define AHCI_CMDENTRY_SIZE 32
+#define AHCI_SECTOR_SIZE 512
/* AHCI FIS types */
#define FIS_TYPE_H2D 0x27