Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/arch/hp300/dev Fix silent bus error panic on 98543A topc...



details:   https://anonhg.NetBSD.org/src/rev/70a099a7c92f
branches:  trunk
changeset: 372460:70a099a7c92f
user:      tsutsui <tsutsui%NetBSD.org@localhost>
date:      Wed Nov 30 11:36:50 2022 +0000

description:
Fix silent bus error panic on 98543A topcat framebuffer on HP320 and HP360.

It looks DELAY(100)s before checking cmap_busy in old pre-wscons grf_tc.c
http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/arch/hp300/dev/Attic/grf_tc.c?rev=1.42
are actually necessary on 68020 (HP320) and 68030 (HP360) machines,
while it works without them on 68040 (HP380).

Should be pulled up to netbsd-9.

diffstat:

 sys/arch/hp300/dev/topcat.c |  6 +++++-
 1 files changed, 5 insertions(+), 1 deletions(-)

diffs (27 lines):

diff -r 04c58284a962 -r 70a099a7c92f sys/arch/hp300/dev/topcat.c
--- a/sys/arch/hp300/dev/topcat.c       Wed Nov 30 07:48:43 2022 +0000
+++ b/sys/arch/hp300/dev/topcat.c       Wed Nov 30 11:36:50 2022 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: topcat.c,v 1.5 2021/04/15 14:43:19 tsutsui Exp $       */
+/*     $NetBSD: topcat.c,v 1.6 2022/11/30 11:36:50 tsutsui Exp $       */
 /*     $OpenBSD: topcat.c,v 1.15 2006/08/11 18:33:13 miod Exp $        */
 
 /*
@@ -448,6 +448,8 @@
                tc->gdata  = fb->cmap.g[index];
                tc->bdata  = fb->cmap.b[index];
                tc->strobe = 0xff;
+               /* XXX delay required on 68020/30 to avoid bus error */
+               DELAY(100);
 
                tccm_waitbusy(tc);
                tc->cindex = 0;
@@ -459,6 +461,8 @@
                tc->bdata  = fb->cmap.b[index];
                tc->cindex = ~index;
                tc->strobe = 0xff;
+               /* XXX delay required on 68020/30 to avoid bus error */
+               DELAY(100);
 
                tccm_waitbusy(tc);
                tc->rdata  = 0;



Home | Main Index | Thread Index | Old Index