0d6ddf8da7
The x86 timers are a bit of a mess. Cases where different stages use different counters and timestamps use different counters from udelays. The original intention was to only flip TSC_CONSTANT_RATE Kconfig to NOT_CONSTANT_TSC_RATE. The name would be incorrect though, those counters do run with a constant rate but we just lack tsc_freq_mhz() implementation for three platforms. Note that for boards with UNKNOWN_TSC_RATE=y, each stage will have a slow run of calibrate_tsc_with_pit(). This is easy enough to fix with followup implementation of tsc_freq_mhz() for the platforms. Implementations with LAPIC_MONOTONIC_TIMER typically will not have tsc_freq_mhz() implemented and default to UNKNOWN_TSC_RATE. However, as they don't use TSC for udelay() the slow calibrate_tsc_with_pit() is avoided. Because x86/tsc_delay.tsc was using two different guards and nb/via/vx900 claimed UDELAY_TSC, but pulled UDELAY_IO implementation, we also switch that romstage to use UDELAY_TSC. Change-Id: I1690cb80295d6b006b75ed69edea28899b674b68 Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/33928 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Aaron Durbin <adurbin@chromium.org> |
||
---|---|---|
.. | ||
acpi | ||
include/soc | ||
acp.c | ||
acpi.c | ||
chip.c | ||
chip.h | ||
cpu.c | ||
finalize.c | ||
gpio.c | ||
i2c.c | ||
Kconfig | ||
Makefile.inc | ||
mca.c | ||
memmap.c | ||
northbridge.c | ||
pmutil.c | ||
reset.c | ||
romstage.c | ||
sata.c | ||
sm.c | ||
smbus.c | ||
smi.c | ||
smi_util.c | ||
smihandler.c | ||
southbridge.c | ||
tsc_freq.c | ||
uart.c | ||
usb.c |