diff options
author | Michael Shalayeff <mickey@cvs.openbsd.org> | 2003-05-25 16:33:00 +0000 |
---|---|---|
committer | Michael Shalayeff <mickey@cvs.openbsd.org> | 2003-05-25 16:33:00 +0000 |
commit | b739883ab3001796d2ec57cdb891f95353190e65 (patch) | |
tree | e80ba6eb15d78821ca8ccd02afdaabc9539256a1 /sys/arch | |
parent | 925272d554e9776675b7908666077d2f3ebe6415 (diff) |
more thorough reset sequence; miod@ ok
Diffstat (limited to 'sys/arch')
-rw-r--r-- | sys/arch/hppa/gsc/gsckbc.c | 14 |
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 |