ACPI: Rework suspend types and remove bogus PMCNTRL mirrors (those are SMI traps instead)
This commit is contained in:
@@ -813,13 +813,11 @@ piix_write(int func, int addr, uint8_t val, void *priv)
|
||||
fregs[0x40] = (val & 0xc0) | 1;
|
||||
dev->acpi_io_base = (dev->regs[3][0x41] << 8) | (dev->regs[3][0x40] & 0xc0);
|
||||
acpi_update_io_mapping(dev->acpi, dev->acpi_io_base, (dev->regs[3][0x80] & 0x01));
|
||||
acpi_update_aux_io_mapping(dev->acpi, dev->acpi_io_base + 0x40, (dev->regs[3][0x80] & 0x01));
|
||||
break;
|
||||
case 0x41:
|
||||
fregs[0x41] = val;
|
||||
dev->acpi_io_base = (dev->regs[3][0x41] << 8) | (dev->regs[3][0x40] & 0xc0);
|
||||
acpi_update_io_mapping(dev->acpi, dev->acpi_io_base, (dev->regs[3][0x80] & 0x01));
|
||||
acpi_update_aux_io_mapping(dev->acpi, dev->acpi_io_base + 0x40, (dev->regs[3][0x80] & 0x01));
|
||||
break;
|
||||
case 0x44: case 0x45: case 0x46: case 0x47:
|
||||
case 0x48: case 0x49:
|
||||
@@ -846,12 +844,10 @@ piix_write(int func, int addr, uint8_t val, void *priv)
|
||||
break;
|
||||
case 0x4f: case 0x80: case 0xd2:
|
||||
fregs[addr] = val & 0x0f;
|
||||
if (addr == 0x80) {
|
||||
if (addr == 0x80)
|
||||
acpi_update_io_mapping(dev->acpi, dev->acpi_io_base, (dev->regs[3][0x80] & 0x01));
|
||||
acpi_update_aux_io_mapping(dev->acpi, dev->acpi_io_base + 0x40, (dev->regs[3][0x80] & 0x01));
|
||||
} else if (addr == 0xd2) {
|
||||
else if (addr == 0xd2)
|
||||
smbus_update_io_mapping(dev);
|
||||
}
|
||||
break;
|
||||
case 0x50:
|
||||
fregs[addr] = val & 0x3f;
|
||||
|
||||
@@ -1128,7 +1128,6 @@ pipc_write(int func, int addr, uint8_t val, void *priv)
|
||||
c -= 0x400;
|
||||
acpi_set_timer32(dev->acpi, dev->power_regs[0x41] & 0x08);
|
||||
acpi_update_io_mapping(dev->acpi, c, dev->power_regs[0x41] & 0x80);
|
||||
acpi_update_aux_io_mapping(dev->acpi, c + 0xf0, dev->power_regs[0x41] & 0x80);
|
||||
break;
|
||||
|
||||
case 0x42:
|
||||
|
||||
Reference in New Issue
Block a user