[PATCH v3 05/13] efi: Use a fixed value for the timer clock

2023-03-10 Thread Simon Glass
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 
---

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.40.0.rc1.284.g88254d51c5-goog



[PATCH v3 05/13] efi: Use a fixed value for the timer clock

2023-02-25 Thread Simon Glass
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 
---

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