summaryrefslogtreecommitdiff
path: root/usr/src/uts/common/sys/sunpm.h
diff options
context:
space:
mode:
authorJane Chu <Jane.Chu@Sun.COM>2009-07-20 10:00:36 -0700
committerJane Chu <Jane.Chu@Sun.COM>2009-07-20 10:00:36 -0700
commit2ee4dfc799525d35706ee64a901cd970a7080bb6 (patch)
tree3e498f3775dd50b9f96f965f90e405dc06ee8985 /usr/src/uts/common/sys/sunpm.h
parent0ba964ea1a9461d43c8e39e5a9a3ab857e6786c7 (diff)
downloadillumos-gate-2ee4dfc799525d35706ee64a901cd970a7080bb6.tar.gz
PSARC/2009/310 Disk IO PM Enhancement
6832245 "pm-capable" property updates 6832232 enhanced sd(7D) to support power condition field in Start-Stop Unit command 6781588 sata(7D) to support additional Mode Sense and Log Sense for PM 6832247 sata(7D) enhancement for SBC-3 power conditions and ATA power conditions translation 6827942 pm_trans_check enhancement
Diffstat (limited to 'usr/src/uts/common/sys/sunpm.h')
-rw-r--r--usr/src/uts/common/sys/sunpm.h14
1 files changed, 10 insertions, 4 deletions
diff --git a/usr/src/uts/common/sys/sunpm.h b/usr/src/uts/common/sys/sunpm.h
index c02f17a8bb..f505eb2237 100644
--- a/usr/src/uts/common/sys/sunpm.h
+++ b/usr/src/uts/common/sys/sunpm.h
@@ -19,15 +19,13 @@
* CDDL HEADER END
*/
/*
- * Copyright 2007 Sun Microsystems, Inc. All rights reserved.
+ * Copyright 2009 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
#ifndef _SYS_SUNPM_H
#define _SYS_SUNPM_H
-#pragma ident "%Z%%M% %I% %E% SMI"
-
/*
* Sun Specific Power Management definitions
*/
@@ -51,9 +49,10 @@ extern "C" {
#ifdef _KERNEL
/*
- * Power cycle transition check is supported for these devices.
+ * Power cycle transition check is supported for SCSI and SATA devices.
*/
#define DC_SCSI_FORMAT 0x1 /* SCSI */
+#define DC_SMART_FORMAT 0x2 /* SMART */
#define DC_SCSI_MFR_LEN 6 /* YYYYWW */
@@ -64,10 +63,17 @@ struct pm_scsi_cycles {
int flag; /* reserved for future */
};
+struct pm_smart_count {
+ int allowed; /* normalized max cycles allowed */
+ int consumed; /* normalized consumed cycles */
+ int flag; /* type of cycles */
+};
+
struct pm_trans_data {
int format; /* data format */
union {
struct pm_scsi_cycles scsi_cycles;
+ struct pm_smart_count smart_count;
} un;
};