x86: apic - unify __setup_APIC_LVTT
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
Родитель
c43da2f5e9
Коммит
c40aaec686
|
@ -248,8 +248,12 @@ int lapic_get_maxlvt(void)
|
|||
* Local APIC timer
|
||||
*/
|
||||
|
||||
/* Clock divisor is set to 16 */
|
||||
/* Clock divisor */
|
||||
#ifdef CONFG_X86_64
|
||||
#define APIC_DIVISOR 1
|
||||
#else
|
||||
#define APIC_DIVISOR 16
|
||||
#endif
|
||||
|
||||
/*
|
||||
* This function sets up the local APIC timer, with a timeout of
|
||||
|
@ -281,8 +285,8 @@ static void __setup_APIC_LVTT(unsigned int clocks, int oneshot, int irqen)
|
|||
*/
|
||||
tmp_value = apic_read(APIC_TDCR);
|
||||
apic_write(APIC_TDCR,
|
||||
(tmp_value & ~(APIC_TDR_DIV_1 | APIC_TDR_DIV_TMBASE)) |
|
||||
APIC_TDR_DIV_16);
|
||||
(tmp_value & ~(APIC_TDR_DIV_1 | APIC_TDR_DIV_TMBASE)) |
|
||||
APIC_TDR_DIV_16);
|
||||
|
||||
if (!oneshot)
|
||||
apic_write(APIC_TMICT, clocks / APIC_DIVISOR);
|
||||
|
|
|
@ -259,8 +259,12 @@ int lapic_get_maxlvt(void)
|
|||
* Local APIC timer
|
||||
*/
|
||||
|
||||
/* Clock divisor is set to 1 */
|
||||
/* Clock divisor */
|
||||
#ifdef CONFG_X86_64
|
||||
#define APIC_DIVISOR 1
|
||||
#else
|
||||
#define APIC_DIVISOR 16
|
||||
#endif
|
||||
|
||||
/*
|
||||
* This function sets up the local APIC timer, with a timeout of
|
||||
|
@ -291,9 +295,9 @@ static void __setup_APIC_LVTT(unsigned int clocks, int oneshot, int irqen)
|
|||
* Divide PICLK by 16
|
||||
*/
|
||||
tmp_value = apic_read(APIC_TDCR);
|
||||
apic_write(APIC_TDCR, (tmp_value
|
||||
& ~(APIC_TDR_DIV_1 | APIC_TDR_DIV_TMBASE))
|
||||
| APIC_TDR_DIV_16);
|
||||
apic_write(APIC_TDCR,
|
||||
(tmp_value & ~(APIC_TDR_DIV_1 | APIC_TDR_DIV_TMBASE)) |
|
||||
APIC_TDR_DIV_16);
|
||||
|
||||
if (!oneshot)
|
||||
apic_write(APIC_TMICT, clocks / APIC_DIVISOR);
|
||||
|
|
Загрузка…
Ссылка в новой задаче