summaryrefslogtreecommitdiffstats
path: root/sys/cam/cam_ccb.h
diff options
context:
space:
mode:
authormav <mav@FreeBSD.org>2009-11-24 12:47:58 +0000
committermav <mav@FreeBSD.org>2009-11-24 12:47:58 +0000
commitb24d810911ca1e67681fbadffbba2d75d47fb1cf (patch)
tree31e803922647a1513999571920a38125262f4b93 /sys/cam/cam_ccb.h
parentcdd3b43ca83628c61d1cbcb1a11c9ade61daf720 (diff)
downloadFreeBSD-src-b24d810911ca1e67681fbadffbba2d75d47fb1cf.zip
FreeBSD-src-b24d810911ca1e67681fbadffbba2d75d47fb1cf.tar.gz
MFp4:
- Extend XPT-SIM transfer settings control API. Now it allows to report to SATA SIM number of tags supported by each device, implement ATA mode and SATA revision negotiation for both SATA and PATA SIMs. - Make ahci(4) and siis(4) to use submitted maximum tag number, when scheduling requests. It allows to support NCQ on devices with lower tags count then controller supports. - Make PMP driver to report attached devices connection speeds. - Implement ATA mode negotiation between user settings, device and controller capabilities.
Diffstat (limited to 'sys/cam/cam_ccb.h')
-rw-r--r--sys/cam/cam_ccb.h18
1 files changed, 11 insertions, 7 deletions
diff --git a/sys/cam/cam_ccb.h b/sys/cam/cam_ccb.h
index 815da9d..5cae7d3 100644
--- a/sys/cam/cam_ccb.h
+++ b/sys/cam/cam_ccb.h
@@ -819,19 +819,23 @@ struct ccb_trans_settings_sas {
struct ccb_trans_settings_ata {
u_int valid; /* Which fields to honor */
#define CTS_ATA_VALID_MODE 0x01
-#define CTS_ATA_VALID_BYTECOUNT 0x04
- u_int32_t mode;
+#define CTS_ATA_VALID_BYTECOUNT 0x02
+ int mode; /* Mode */
u_int bytecount; /* Length of PIO transaction */
};
struct ccb_trans_settings_sata {
u_int valid; /* Which fields to honor */
-#define CTS_SATA_VALID_SPEED 0x01
-#define CTS_SATA_VALID_PM 0x02
-#define CTS_SATA_VALID_BYTECOUNT 0x04
- u_int32_t bitrate; /* Mbps */
- u_int pm_present; /* PM is present (XPT->SIM) */
+#define CTS_SATA_VALID_MODE 0x01
+#define CTS_SATA_VALID_BYTECOUNT 0x02
+#define CTS_SATA_VALID_REVISION 0x04
+#define CTS_SATA_VALID_PM 0x08
+#define CTS_SATA_VALID_TAGS 0x10
+ int mode; /* Legacy PATA mode */
u_int bytecount; /* Length of PIO transaction */
+ u_int revision; /* SATA revision */
+ u_int pm_present; /* PM is present (XPT->SIM) */
+ u_int tags; /* Number of allowed tags */
};
/* Get/Set transfer rate/width/disconnection/tag queueing settings */
OpenPOWER on IntegriCloud