From a5ce4d3e685d209b7e655f5a1eea9cd2178d5b33 Mon Sep 17 00:00:00 2001 From: Pablo Stebler Date: Tue, 25 Aug 2020 11:22:19 +0200 Subject: [PATCH] ec/hp/kbc1126: Wait a longer time after sending This fixes the fan always running at full speed on ProBook 6360b, EliteBook 8470p and ProBook 640 G1 (because the fan control command was not sent). On the ProBook 6360b, the EC needs about 30 ms to process the first command on a cold boot, but other models such as the ProBook 640 G1 need more time. Change-Id: I8623af75c062d6aa69d4412e0627d426c69019fb Signed-off-by: Pablo Stebler Reviewed-on: https://review.coreboot.org/c/coreboot/+/44750 Tested-by: build bot (Jenkins) Reviewed-by: Nico Huber --- src/ec/hp/kbc1126/ec.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/ec/hp/kbc1126/ec.c b/src/ec/hp/kbc1126/ec.c index 5c11fed423..8035b94070 100644 --- a/src/ec/hp/kbc1126/ec.c +++ b/src/ec/hp/kbc1126/ec.c @@ -24,7 +24,7 @@ static int send_kbd_command(u8 command) { int timeout; - timeout = 0x7ff; + timeout = 100000; /* 1 second */ while ((inb(ec_cmd_port) & KBD_IBF) && --timeout) { udelay(10); if ((timeout & 0xff) == 0) @@ -44,7 +44,7 @@ static int send_kbd_data(u8 data) { int timeout; - timeout = 0x7ff; + timeout = 100000; /* 1 second */ while ((inb(ec_cmd_port) & KBD_IBF) && --timeout) { /* wait for IBF = 0 */ udelay(10); if ((timeout & 0xff) == 0)