Commit c8609416 authored by Mikael Pettersson's avatar Mikael Pettersson Committed by Linus Torvalds

[PATCH] non-integrated local APIC LVTT init compatibility

Add back the old i82489DX bits to use timer scaling for the old
non-integrated APIC setup. 

It's possible these bits don't need to be set on i82489DXs,
but not having this HW for testing I elected to maintain
the old behaviour on these old machines.
parent a81a6a07
...@@ -834,9 +834,12 @@ void (*wait_timer_tick)(void) = wait_8254_wraparound; ...@@ -834,9 +834,12 @@ void (*wait_timer_tick)(void) = wait_8254_wraparound;
void __setup_APIC_LVTT(unsigned int clocks) void __setup_APIC_LVTT(unsigned int clocks)
{ {
unsigned int lvtt_value, tmp_value; unsigned int lvtt_value, tmp_value, ver;
ver = GET_APIC_VERSION(apic_read(APIC_LVR));
lvtt_value = APIC_LVT_TIMER_PERIODIC | LOCAL_TIMER_VECTOR; lvtt_value = APIC_LVT_TIMER_PERIODIC | LOCAL_TIMER_VECTOR;
if (!APIC_INTEGRATED(ver))
lvtt_value |= SET_APIC_TIMER_BASE(APIC_TIMER_BASE_DIV);
apic_write_around(APIC_LVTT, lvtt_value); apic_write_around(APIC_LVTT, lvtt_value);
/* /*
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment