summaryrefslogtreecommitdiff
path: root/sys/dev/ata/atascsi.h
diff options
context:
space:
mode:
authorChristopher Pascoe <pascoe@cvs.openbsd.org>2007-03-20 12:01:19 +0000
committerChristopher Pascoe <pascoe@cvs.openbsd.org>2007-03-20 12:01:19 +0000
commit5eb2ced892a32a85dd7a55cd1ac62b1f93a3587f (patch)
tree5d8a9004ddd83b45b2827b08f545dce8a99580d3 /sys/dev/ata/atascsi.h
parent13ed7c51079a96587a67b924a6b68c2c2b35d842 (diff)
Add support for ATA PACKET commands. This should make ATAPI cdrom drives,
etc, just work.
Diffstat (limited to 'sys/dev/ata/atascsi.h')
-rw-r--r--sys/dev/ata/atascsi.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/sys/dev/ata/atascsi.h b/sys/dev/ata/atascsi.h
index c475a35e951..8b407427e82 100644
--- a/sys/dev/ata/atascsi.h
+++ b/sys/dev/ata/atascsi.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: atascsi.h,v 1.15 2007/03/20 11:07:02 dlg Exp $ */
+/* $OpenBSD: atascsi.h,v 1.16 2007/03/20 12:01:18 pascoe Exp $ */
/*
* Copyright (c) 2007 David Gwynne <dlg@openbsd.org>
@@ -27,6 +27,7 @@ struct atascsi;
#define ATA_C_WRITEDMA 0xca
#define ATA_C_READDMA_EXT 0x25
#define ATA_C_WRITEDMA_EXT 0x35
+#define ATA_C_PACKET 0xa0
struct ata_identify {
u_int16_t config; /* 0 */
@@ -180,6 +181,8 @@ struct ata_regs {
struct ata_cmd {
struct ata_regs *tx;
struct ata_regs rx_err;
+ u_int8_t *packetcmd;
+ u_int8_t tag;
u_int8_t st_bmask;
u_int8_t st_pmask;
@@ -201,6 +204,7 @@ struct ata_xfer {
#define ATA_F_NOWAIT (1<<2)
#define ATA_F_POLL (1<<3)
#define ATA_F_PIO (1<<4)
+#define ATA_F_PACKET (1<<5)
volatile int state;
#define ATA_S_SETUP 0
#define ATA_S_PENDING 1