aboutsummaryrefslogtreecommitdiff
path: root/sys/cam/cam_ccb.h
diff options
context:
space:
mode:
authorAlexander Motin <mav@FreeBSD.org>2010-02-02 11:09:28 +0000
committerAlexander Motin <mav@FreeBSD.org>2010-02-02 11:09:28 +0000
commit4cca153030fd8932b30d1fee8ab1d698c75fcdae (patch)
tree37197ad5ae0872a11e1bc6a7828374ebc3770e16 /sys/cam/cam_ccb.h
parent56d27fa22b757a15d3996a4b820bd3879f6bfcac (diff)
downloadsrc-4cca153030fd8932b30d1fee8ab1d698c75fcdae.tar.gz
src-4cca153030fd8932b30d1fee8ab1d698c75fcdae.zip
- Give ATA/SATA SIMs info about ATAPI packet size, supported by device.
- Make ATA XPT to reject longer SCSI CDBs then supported by device, or any SCSI CDBs, if device doesn't support ATAPI.
Notes
Notes: svn path=/head/; revision=203376
Diffstat (limited to 'sys/cam/cam_ccb.h')
-rw-r--r--sys/cam/cam_ccb.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/sys/cam/cam_ccb.h b/sys/cam/cam_ccb.h
index 4c5adba54189..2810c545f71a 100644
--- a/sys/cam/cam_ccb.h
+++ b/sys/cam/cam_ccb.h
@@ -823,8 +823,10 @@ struct ccb_trans_settings_ata {
u_int valid; /* Which fields to honor */
#define CTS_ATA_VALID_MODE 0x01
#define CTS_ATA_VALID_BYTECOUNT 0x02
+#define CTS_ATA_VALID_ATAPI 0x20
int mode; /* Mode */
u_int bytecount; /* Length of PIO transaction */
+ u_int atapi; /* Length of ATAPI CDB */
};
struct ccb_trans_settings_sata {
@@ -834,11 +836,13 @@ struct ccb_trans_settings_sata {
#define CTS_SATA_VALID_REVISION 0x04
#define CTS_SATA_VALID_PM 0x08
#define CTS_SATA_VALID_TAGS 0x10
+#define CTS_SATA_VALID_ATAPI 0x20
int mode; /* Legacy PATA mode */
u_int bytecount; /* Length of PIO transaction */
int revision; /* SATA revision */
u_int pm_present; /* PM is present (XPT->SIM) */
u_int tags; /* Number of allowed tags */
+ u_int atapi; /* Length of ATAPI CDB */
};
/* Get/Set transfer rate/width/disconnection/tag queueing settings */