Module Name: src Committed By: tsutsui Date: Wed Nov 30 11:36:50 UTC 2022
Modified Files: src/sys/arch/hp300/dev: topcat.c Log Message: 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. To generate a diff of this commit: cvs rdiff -u -r1.5 -r1.6 src/sys/arch/hp300/dev/topcat.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/arch/hp300/dev/topcat.c diff -u src/sys/arch/hp300/dev/topcat.c:1.5 src/sys/arch/hp300/dev/topcat.c:1.6 --- src/sys/arch/hp300/dev/topcat.c:1.5 Thu Apr 15 14:43:19 2021 +++ src/sys/arch/hp300/dev/topcat.c Wed Nov 30 11:36:50 2022 @@ -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 @@ topcat_setcolor(struct diofb *fb, u_int 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 @@ topcat_setcolor(struct diofb *fb, u_int 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;