It is not yet clear how to read the timer via EFI. The current value seems
much too high on a Framework laptop I tried. Adjust it to a lower
hard-coded value for now.

Signed-off-by: Simon Glass <[email protected]>
---

Changes in v3:
- Add a comment about the value

 drivers/timer/tsc_timer.c | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/drivers/timer/tsc_timer.c b/drivers/timer/tsc_timer.c
index 192c7b71a5a..f86a0b86921 100644
--- a/drivers/timer/tsc_timer.c
+++ b/drivers/timer/tsc_timer.c
@@ -404,6 +404,15 @@ static void tsc_timer_ensure_setup(bool early)
        if (!gd->arch.clock_rate) {
                unsigned long fast_calibrate;
 
+               /**
+                * There is no obvious way to obtain this information from EFI
+                * boot services. This value was measured on a Framework Laptop
+                * which has a 12th Gen Intel Core
+                */
+               if (IS_ENABLED(CONFIG_EFI_APP)) {
+                       fast_calibrate = 2750;
+                       goto done;
+               }
                fast_calibrate = native_calibrate_tsc();
                if (fast_calibrate)
                        goto done;
-- 
2.39.2.637.g21b0678d19-goog

Reply via email to