diff options
| author | Bob Moore <robert.moore@intel.com> | 2011-11-15 21:42:09 -0500 |
|---|---|---|
| committer | Len Brown <len.brown@intel.com> | 2012-01-17 03:36:27 -0500 |
| commit | 2355e10f07b2c550c671f98b68aedf323c299aeb (patch) | |
| tree | 53e5767d9d5f9f1884e2d2f89a58af57726a1a72 /include/acpi | |
| parent | ec4636669bf9c6ff157121ab42709650a9e0cc2a (diff) | |
ACPI 5.0: Basic support for FADT version 5
Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Lin Ming <ming.m.lin@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
Diffstat (limited to 'include/acpi')
| -rw-r--r-- | include/acpi/actbl.h | 22 |
1 files changed, 16 insertions, 6 deletions
diff --git a/include/acpi/actbl.h b/include/acpi/actbl.h index f1380287ed4..7d0e051b486 100644 --- a/include/acpi/actbl.h +++ b/include/acpi/actbl.h | |||
| @@ -255,6 +255,8 @@ struct acpi_table_fadt { | |||
| 255 | struct acpi_generic_address xpm_timer_block; /* 64-bit Extended Power Mgt Timer Ctrl Reg Blk address */ | 255 | struct acpi_generic_address xpm_timer_block; /* 64-bit Extended Power Mgt Timer Ctrl Reg Blk address */ |
| 256 | struct acpi_generic_address xgpe0_block; /* 64-bit Extended General Purpose Event 0 Reg Blk address */ | 256 | struct acpi_generic_address xgpe0_block; /* 64-bit Extended General Purpose Event 0 Reg Blk address */ |
| 257 | struct acpi_generic_address xgpe1_block; /* 64-bit Extended General Purpose Event 1 Reg Blk address */ | 257 | struct acpi_generic_address xgpe1_block; /* 64-bit Extended General Purpose Event 1 Reg Blk address */ |
| 258 | struct acpi_generic_address sleep_control; /* 64-bit Sleep Control register */ | ||
| 259 | struct acpi_generic_address sleep_status; /* 64-bit Sleep Status register */ | ||
| 258 | }; | 260 | }; |
| 259 | 261 | ||
| 260 | /* Masks for FADT Boot Architecture Flags (boot_flags) */ | 262 | /* Masks for FADT Boot Architecture Flags (boot_flags) */ |
| @@ -264,6 +266,7 @@ struct acpi_table_fadt { | |||
| 264 | #define ACPI_FADT_NO_VGA (1<<2) /* 02: [V4] It is not safe to probe for VGA hardware */ | 266 | #define ACPI_FADT_NO_VGA (1<<2) /* 02: [V4] It is not safe to probe for VGA hardware */ |
| 265 | #define ACPI_FADT_NO_MSI (1<<3) /* 03: [V4] Message Signaled Interrupts (MSI) must not be enabled */ | 267 | #define ACPI_FADT_NO_MSI (1<<3) /* 03: [V4] Message Signaled Interrupts (MSI) must not be enabled */ |
| 266 | #define ACPI_FADT_NO_ASPM (1<<4) /* 04: [V4] PCIe ASPM control must not be enabled */ | 268 | #define ACPI_FADT_NO_ASPM (1<<4) /* 04: [V4] PCIe ASPM control must not be enabled */ |
| 269 | #define ACPI_FADT_NO_CMOS_RTC (1<<5) /* 05: [V5] No CMOS real-time clock present */ | ||
| 267 | 270 | ||
| 268 | #define FADT2_REVISION_ID 3 | 271 | #define FADT2_REVISION_ID 3 |
| 269 | 272 | ||
| @@ -289,6 +292,8 @@ struct acpi_table_fadt { | |||
| 289 | #define ACPI_FADT_REMOTE_POWER_ON (1<<17) /* 17: [V4] System is compatible with remote power on (ACPI 3.0) */ | 292 | #define ACPI_FADT_REMOTE_POWER_ON (1<<17) /* 17: [V4] System is compatible with remote power on (ACPI 3.0) */ |
| 290 | #define ACPI_FADT_APIC_CLUSTER (1<<18) /* 18: [V4] All local APICs must use cluster model (ACPI 3.0) */ | 293 | #define ACPI_FADT_APIC_CLUSTER (1<<18) /* 18: [V4] All local APICs must use cluster model (ACPI 3.0) */ |
| 291 | #define ACPI_FADT_APIC_PHYSICAL (1<<19) /* 19: [V4] All local x_aPICs must use physical dest mode (ACPI 3.0) */ | 294 | #define ACPI_FADT_APIC_PHYSICAL (1<<19) /* 19: [V4] All local x_aPICs must use physical dest mode (ACPI 3.0) */ |
| 295 | #define ACPI_FADT_HW_REDUCED (1<<20) /* 20: [V5] ACPI hardware is not implemented (ACPI 5.0) */ | ||
| 296 | #define ACPI_FADT_LOW_POWER_S0 (1<<21) /* 21: [V5] S0 power savings are equal or better than S3 (ACPI 5.0) */ | ||
| 292 | 297 | ||
| 293 | /* Values for preferred_profile (Preferred Power Management Profiles) */ | 298 | /* Values for preferred_profile (Preferred Power Management Profiles) */ |
| 294 | 299 | ||
| @@ -299,14 +304,16 @@ enum acpi_prefered_pm_profiles { | |||
| 299 | PM_WORKSTATION = 3, | 304 | PM_WORKSTATION = 3, |
| 300 | PM_ENTERPRISE_SERVER = 4, | 305 | PM_ENTERPRISE_SERVER = 4, |
| 301 | PM_SOHO_SERVER = 5, | 306 | PM_SOHO_SERVER = 5, |
| 302 | PM_APPLIANCE_PC = 6 | 307 | PM_APPLIANCE_PC = 6, |
| 308 | PM_PERFORMANCE_SERVER = 7, | ||
| 309 | PM_TABLET = 8 | ||
| 303 | }; | 310 | }; |
| 304 | 311 | ||
| 305 | /* Reset to default packing */ | 312 | /* Reset to default packing */ |
| 306 | 313 | ||
| 307 | #pragma pack() | 314 | #pragma pack() |
| 308 | 315 | ||
| 309 | #define ACPI_FADT_OFFSET(f) (u8) ACPI_OFFSET (struct acpi_table_fadt, f) | 316 | #define ACPI_FADT_OFFSET(f) (u16) ACPI_OFFSET (struct acpi_table_fadt, f) |
| 310 | 317 | ||
| 311 | /* | 318 | /* |
| 312 | * Internal table-related structures | 319 | * Internal table-related structures |
| @@ -351,12 +358,15 @@ struct acpi_table_desc { | |||
| 351 | * FADT is the bottom line as to what the version really is. | 358 | * FADT is the bottom line as to what the version really is. |
| 352 | * | 359 | * |
| 353 | * For reference, the values below are as follows: | 360 | * For reference, the values below are as follows: |
| 354 | * FADT V1 size: 0x74 | 361 | * FADT V1 size: 0x074 |
| 355 | * FADT V2 size: 0x84 | 362 | * FADT V2 size: 0x084 |
| 356 | * FADT V3+ size: 0xF4 | 363 | * FADT V3 size: 0x0F4 |
| 364 | * FADT V4 size: 0x0F4 | ||
| 365 | * FADT V5 size: 0x10C | ||
| 357 | */ | 366 | */ |
| 358 | #define ACPI_FADT_V1_SIZE (u32) (ACPI_FADT_OFFSET (flags) + 4) | 367 | #define ACPI_FADT_V1_SIZE (u32) (ACPI_FADT_OFFSET (flags) + 4) |
| 359 | #define ACPI_FADT_V2_SIZE (u32) (ACPI_FADT_OFFSET (reserved4[0]) + 3) | 368 | #define ACPI_FADT_V2_SIZE (u32) (ACPI_FADT_OFFSET (reserved4[0]) + 3) |
| 360 | #define ACPI_FADT_V3_SIZE (u32) (sizeof (struct acpi_table_fadt)) | 369 | #define ACPI_FADT_V3_SIZE (u32) (ACPI_FADT_OFFSET (sleep_control)) |
| 370 | #define ACPI_FADT_V5_SIZE (u32) (sizeof (struct acpi_table_fadt)) | ||
| 361 | 371 | ||
| 362 | #endif /* __ACTBL_H__ */ | 372 | #endif /* __ACTBL_H__ */ |
