Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c40aaec6 authored by Cyrill Gorcunov's avatar Cyrill Gorcunov Committed by Ingo Molnar
Browse files

x86: apic - unify __setup_APIC_LVTT



Signed-off-by: default avatarCyrill Gorcunov <gorcunov@gmail.com>
Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
parent c43da2f5
Loading
Loading
Loading
Loading
+7 −3
Original line number Diff line number Diff line
@@ -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
+8 −4
Original line number Diff line number Diff line
@@ -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);