[Skiboot] [PATCH 10/11] hw/sbe-p9: Limit SBE timer to 10s
Nicholas Piggin
npiggin at gmail.com
Sat Nov 16 15:07:26 AEDT 2024
The SBE in P10 has a maximum expiry limit of just over 10s, so limit
SBE timers to 10s. If the desired timeout is longer than 10s,
additional SBE timers will be scheduled.
Signed-off-by: Nicholas Piggin <npiggin at gmail.com>
---
hw/sbe-p9.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/hw/sbe-p9.c b/hw/sbe-p9.c
index 396da70ec..0522c4174 100644
--- a/hw/sbe-p9.c
+++ b/hw/sbe-p9.c
@@ -90,6 +90,8 @@ static struct lock sbe_timer_lock;
*/
#define SBE_TIMER_MIN_US_P9 500
+#define SBE_TIMER_MAX_US 10000000
+
static uint64_t sbe_timer_min_us;
static uint64_t sbe_timer_min_tb;
@@ -827,8 +829,11 @@ static void p9_sbe_timer_schedule(void)
if ((sbe_timer_target - now) > sbe_timer_min_tb) {
tb_cnt = sbe_timer_target - now + usecs_to_tb(1) - 1;
tick_us = tb_to_usecs(tb_cnt);
+ if (tick_us > SBE_TIMER_MAX_US)
+ tick_us = SBE_TIMER_MAX_US;
}
}
+
sbe_current_timer_tb = now + usecs_to_tb(tick_us);
/* Clear sequence number. p9_sbe_queue_msg will add new sequene ID */
--
2.45.2
More information about the Skiboot
mailing list