On my AST J50 (P133) notebook, the timer on irq 0 resets itself from
interrupting at 100 Hz to 18.3 Hz (DOS default) after a suspend/resume.
What is the right way to re-initialize it back to 100 Hz without a reboot?
Thanks,
Dong Chen
chen@ctp.mit.edu
---------------------------------------------------------------------
BTW, I tried to modify
linux/drivers/char/apm_bios.c
in function suspend() at line 639 (kernel 2.0.30) from
err = apm_set_power_state(APM_STATE_SUSPEND);
if (err)
apm_error("suspend", err);
set_time();
to
err = apm_set_power_state(APM_STATE_SUSPEND);
if (err)
apm_error("suspend", err);
save_flags(flags);
cli();
/* set the clock to 100 Hz */
outb_p(0x34,0x43); /* binary, mode 2, LSB/MSB, ch 0 */
outb_p(LATCH & 0xff , 0x40); /* LSB */
outb(LATCH >> 8 , 0x40); /* MSB */
restore_flags(flags);
set_time();
But this does not work. All programs crash after suspend() is called.