ACPI: Add undocumented ALi M1543C suspend type used by ASUS P5A, fixes shutdown hang/reboot
This commit is contained in:
@@ -672,6 +672,7 @@ acpi_reg_write_common_regs(int size, uint16_t addr, uint8_t val, void *p)
|
|||||||
/* PMCNTRL - Power Management Control Register (IO) */
|
/* PMCNTRL - Power Management Control Register (IO) */
|
||||||
if ((addr == 0x05) && (val & 0x20)) {
|
if ((addr == 0x05) && (val & 0x20)) {
|
||||||
sus_typ = dev->suspend_types[(val >> 2) & 7];
|
sus_typ = dev->suspend_types[(val >> 2) & 7];
|
||||||
|
acpi_log("ACPI suspend type %d flags %02X\n", (val >> 2) & 7, sus_typ);
|
||||||
|
|
||||||
if (sus_typ & SUS_POWER_OFF) {
|
if (sus_typ & SUS_POWER_OFF) {
|
||||||
/* Soft power off. */
|
/* Soft power off. */
|
||||||
@@ -1698,6 +1699,7 @@ acpi_init(const device_t *info)
|
|||||||
dev->suspend_types[1] = SUS_POWER_OFF;
|
dev->suspend_types[1] = SUS_POWER_OFF;
|
||||||
dev->suspend_types[2] = SUS_SUSPEND | SUS_NVR | SUS_RESET_CPU | SUS_RESET_PCI;
|
dev->suspend_types[2] = SUS_SUSPEND | SUS_NVR | SUS_RESET_CPU | SUS_RESET_PCI;
|
||||||
dev->suspend_types[3] = SUS_SUSPEND;
|
dev->suspend_types[3] = SUS_SUSPEND;
|
||||||
|
dev->suspend_types[5] = SUS_POWER_OFF; /* undocumented, used for S4/S5 by ASUS P5A ACPI table */
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case VEN_VIA:
|
case VEN_VIA:
|
||||||
|
|||||||
Reference in New Issue
Block a user