aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorLen Brown <len.brown@intel.com>2009-12-16 14:07:29 -0500
committerLen Brown <len.brown@intel.com>2009-12-16 14:07:29 -0500
commit2900681b25d5a1a1a7b39ab66da3b8c6b1b0b7ad (patch)
tree3c6969f0333f1255a4751086dd1131d5bbc5a157 /include
parent243e1ef842ef9e24fbf1cc7ddf4fd1c01471544a (diff)
parent3563ff964fdc36358cef0330936fdac28e65142a (diff)
Merge branch 'osc' into release
Diffstat (limited to 'include')
-rw-r--r--include/linux/acpi.h21
1 files changed, 19 insertions, 2 deletions
diff --git a/include/linux/acpi.h b/include/linux/acpi.h
index dfcd920c3e54..e11090d462d2 100644
--- a/include/linux/acpi.h
+++ b/include/linux/acpi.h
@@ -253,10 +253,16 @@ void __init acpi_old_suspend_ordering(void);
253void __init acpi_s4_no_nvs(void); 253void __init acpi_s4_no_nvs(void);
254#endif /* CONFIG_PM_SLEEP */ 254#endif /* CONFIG_PM_SLEEP */
255 255
256struct acpi_osc_context {
257 char *uuid_str; /* uuid string */
258 int rev;
259 struct acpi_buffer cap; /* arg2/arg3 */
260 struct acpi_buffer ret; /* free by caller if success */
261};
262
256#define OSC_QUERY_TYPE 0 263#define OSC_QUERY_TYPE 0
257#define OSC_SUPPORT_TYPE 1 264#define OSC_SUPPORT_TYPE 1
258#define OSC_CONTROL_TYPE 2 265#define OSC_CONTROL_TYPE 2
259#define OSC_SUPPORT_MASKS 0x1f
260 266
261/* _OSC DW0 Definition */ 267/* _OSC DW0 Definition */
262#define OSC_QUERY_ENABLE 1 268#define OSC_QUERY_ENABLE 1
@@ -265,12 +271,23 @@ void __init acpi_s4_no_nvs(void);
265#define OSC_INVALID_REVISION_ERROR 8 271#define OSC_INVALID_REVISION_ERROR 8
266#define OSC_CAPABILITIES_MASK_ERROR 16 272#define OSC_CAPABILITIES_MASK_ERROR 16
267 273
274acpi_status acpi_run_osc(acpi_handle handle, struct acpi_osc_context *context);
275
276/* platform-wide _OSC bits */
277#define OSC_SB_PAD_SUPPORT 1
278#define OSC_SB_PPC_OST_SUPPORT 2
279#define OSC_SB_PR3_SUPPORT 4
280#define OSC_SB_CPUHP_OST_SUPPORT 8
281#define OSC_SB_APEI_SUPPORT 16
282
283/* PCI defined _OSC bits */
268/* _OSC DW1 Definition (OS Support Fields) */ 284/* _OSC DW1 Definition (OS Support Fields) */
269#define OSC_EXT_PCI_CONFIG_SUPPORT 1 285#define OSC_EXT_PCI_CONFIG_SUPPORT 1
270#define OSC_ACTIVE_STATE_PWR_SUPPORT 2 286#define OSC_ACTIVE_STATE_PWR_SUPPORT 2
271#define OSC_CLOCK_PWR_CAPABILITY_SUPPORT 4 287#define OSC_CLOCK_PWR_CAPABILITY_SUPPORT 4
272#define OSC_PCI_SEGMENT_GROUPS_SUPPORT 8 288#define OSC_PCI_SEGMENT_GROUPS_SUPPORT 8
273#define OSC_MSI_SUPPORT 16 289#define OSC_MSI_SUPPORT 16
290#define OSC_PCI_SUPPORT_MASKS 0x1f
274 291
275/* _OSC DW1 Definition (OS Control Fields) */ 292/* _OSC DW1 Definition (OS Control Fields) */
276#define OSC_PCI_EXPRESS_NATIVE_HP_CONTROL 1 293#define OSC_PCI_EXPRESS_NATIVE_HP_CONTROL 1
@@ -279,7 +296,7 @@ void __init acpi_s4_no_nvs(void);
279#define OSC_PCI_EXPRESS_AER_CONTROL 8 296#define OSC_PCI_EXPRESS_AER_CONTROL 8
280#define OSC_PCI_EXPRESS_CAP_STRUCTURE_CONTROL 16 297#define OSC_PCI_EXPRESS_CAP_STRUCTURE_CONTROL 16
281 298
282#define OSC_CONTROL_MASKS (OSC_PCI_EXPRESS_NATIVE_HP_CONTROL | \ 299#define OSC_PCI_CONTROL_MASKS (OSC_PCI_EXPRESS_NATIVE_HP_CONTROL | \
283 OSC_SHPC_NATIVE_HP_CONTROL | \ 300 OSC_SHPC_NATIVE_HP_CONTROL | \
284 OSC_PCI_EXPRESS_PME_CONTROL | \ 301 OSC_PCI_EXPRESS_PME_CONTROL | \
285 OSC_PCI_EXPRESS_AER_CONTROL | \ 302 OSC_PCI_EXPRESS_AER_CONTROL | \