acpi: Add D3 cold state
Subsystems (3)
PATCH 1/1 acpi: Add D3 cold state
_SxW returns an Integer containing the lowest D-state supported in state Sx. If OSPM has not indicated that it supports _PR3, then the value “3” corresponds to D3. If it has indicated _PR3 support, the value “3” represents D3hot and the value “4” represents D3cold.
Linux does set _OSC._PR3, so we should fix it to expect that _SxW can return 4.
--- drivers/acpi/bus.c | 2 +- drivers/pci/pci-acpi.c | 2 ++ include/acpi/actypes.h | 5 +++-- 3 files changed, 6 insertions(+), 3 deletions(-)
drivers/acpi/bus.c +1 -1
@@ -227,7 +227,7 @@ static int __acpi_bus_set_power(struct acpi_device *device, int state)acpi_status status =AE_OK ;char object_name[5 ] = {'_' ,'P' ,'S' ,'0' + state,'\0' }; -if (!device || (state <ACPI_STATE_D0 ) || (state >ACPI_STATE_D3 )) +if (!device || (state <ACPI_STATE_D0 ) || (state >ACPI_STATE_D3_COLD ))return -EINVAL ;/* Make sure this is a valid target state */
drivers/pci/pci-acpi.c +2 -0
@@ -195,6 +195,8 @@ static pci_power_t acpi_pci_choose_state(struct pci_dev *pdev)return PCI_D2 ;case ACPI_STATE_D3 :return PCI_D3hot; +case ACPI_STATE_D3_COLD : +return PCI_D3cold; }return PCI_POWER_ERROR ; }
include/acpi/actypes.h +3 -2
@@ -501,8 +501,9 @@ typedef u64 acpi_integer;#define ACPI_STATE_D1 (u8) 1#define ACPI_STATE_D2 (u8) 2#define ACPI_STATE_D3 (u8) 3 -#define ACPI_D_STATES_MAX ACPI_STATE_D3 -#define ACPI_D_STATE_COUNT 4 +#define ACPI_STATE_D3_COLD (u8) 4 +#define ACPI_D_STATES_MAX ACPI_STATE_D3_COLD +#define ACPI_D_STATE_COUNT 5#define ACPI_STATE_C0 (u8) 0#define ACPI_STATE_C1 (u8) 1
Signature · 8 lines
1.7.4.4 -- To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
Quoted 10 lines · On Wed, 04 May 2011 22:56:43 +0800 Lin Ming <[email protected]> wrote:
_SxWreturns an Integer containing the lowest D-state supported in state Sx. If OSPM has not indicated that it supports_PR3, then the value “3” corresponds to D3. If it has indicated_PR3support, the value “3” represents D3hot and the value “4” represents D3cold.Linux does set _OSC._PR3, so we should fix it to expect that
_SxWcan return 4.Signed-off-by Lin Ming <[email protected]>---
Yeah, looks ok.
Signature · 5 lines
Jesse Barnes, Intel Open Source Technology Center -- To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
applied
thanks,
Len Brown - Intel Open Source Technology Center