summaryrefslogtreecommitdiff
path: root/sys/arch
diff options
context:
space:
mode:
authorMichael Shalayeff <mickey@cvs.openbsd.org>2003-05-25 16:33:00 +0000
committerMichael Shalayeff <mickey@cvs.openbsd.org>2003-05-25 16:33:00 +0000
commitb739883ab3001796d2ec57cdb891f95353190e65 (patch)
treee80ba6eb15d78821ca8ccd02afdaabc9539256a1 /sys/arch
parent925272d554e9776675b7908666077d2f3ebe6415 (diff)
more thorough reset sequence; miod@ ok
Diffstat (limited to 'sys/arch')
-rw-r--r--sys/arch/hppa/gsc/gsckbc.c14
1 files changed, 9 insertions, 5 deletions
diff --git a/sys/arch/hppa/gsc/gsckbc.c b/sys/arch/hppa/gsc/gsckbc.c
index 5662d9023da..0cc1f6a6798 100644
--- a/sys/arch/hppa/gsc/gsckbc.c
+++ b/sys/arch/hppa/gsc/gsckbc.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: gsckbc.c,v 1.4 2003/05/22 19:30:44 mickey Exp $ */
+/* $OpenBSD: gsckbc.c,v 1.5 2003/05/25 16:32:59 mickey Exp $ */
/*
* Copyright (c) 2003, Miodrag Vallat.
* All rights reserved.
@@ -227,15 +227,19 @@ probe_readtmo(bus_space_tag_t iot, bus_space_handle_t ioh, int *reply)
if (bus_space_read_1(iot, ioh, KBSTATP) & (KBS_PERR | KBS_TERR)) {
if (!(bus_space_read_1(iot, ioh, KBSTATP) & KBS_DIB)) {
- bus_space_write_1(iot, ioh, KBRESETP, 0);
- bus_space_write_1(iot, ioh, KBCMDP, KBCP_ENABLE);
+ bus_space_write_1(iot, ioh, KBRESETP, 0xff);
+ bus_space_write_1(iot, ioh, KBRESETP, 0x00);
+ bus_space_write_1(iot, ioh, KBCMDP,
+ bus_space_read_1(iot, ioh, KBCMDP) | KBCP_ENABLE);
return (PROBE_TIMEOUT);
}
*reply = bus_space_read_1(iot, ioh, KBDATAP);
if (!(bus_space_read_1(iot, ioh, KBSTATP) & KBS_DIB)) {
- bus_space_write_1(iot, ioh, KBRESETP, 0);
- bus_space_write_1(iot, ioh, KBCMDP, KBCP_ENABLE);
+ bus_space_write_1(iot, ioh, KBRESETP, 0xff);
+ bus_space_write_1(iot, ioh, KBRESETP, 0x00);
+ bus_space_write_1(iot, ioh, KBCMDP,
+ bus_space_read_1(iot, ioh, KBCMDP) | KBCP_ENABLE);
if (probe_sendtmo(iot, ioh, KBR_RESEND))
return (PROBE_TIMEOUT);
else