diff --git a/src/chipset/via_pipc.c b/src/chipset/via_pipc.c index 34f01cf2c..238fab5ed 100644 --- a/src/chipset/via_pipc.c +++ b/src/chipset/via_pipc.c @@ -745,6 +745,7 @@ pipc_write(int func, int addr, uint8_t val, void *priv) c = (dev->power_regs[0x49] << 8); if (dev->local >= VIA_PIPC_596A) c |= (dev->power_regs[0x48] & 0x80); + acpi_set_timer32(dev->acpi, dev->power_regs[0x41] & 0x08); acpi_update_io_mapping(dev->acpi, c, dev->power_regs[0x41] & 0x80); break; @@ -850,8 +851,12 @@ pipc_init(const device_t *info) pci_enable_mirq(2); } - if (dev->acpi) + if (dev->acpi) { + acpi_set_slot(dev->acpi, dev->slot); + acpi_set_nvr(dev->acpi, dev->nvr); + acpi_init_gporeg(dev->acpi, 0xff, 0xbf, 0xff, 0x7f); + } return dev; } diff --git a/src/printer/prt_ps.c b/src/printer/prt_ps.c index c1b39cf96..e64cff6be 100644 --- a/src/printer/prt_ps.c +++ b/src/printer/prt_ps.c @@ -309,7 +309,7 @@ ps_write_ctrl(uint8_t val, void *p) dev->ack = true; timer_set_delay_u64(&dev->pulse_timer, ISACONST); - timer_set_delay_u64(&dev->timeout_timer, 500000 * TIMER_USEC); + timer_set_delay_u64(&dev->timeout_timer, 5000000 * TIMER_USEC); } dev->ctrl = val;