Check tc_waitbusy() before writing palette registers in topcat_setcolor().

This seems to make palette operations more stable on my HP360 with HP98543.
This commit is contained in:
tsutsui 2024-04-29 17:47:27 +00:00
parent edce15e3e0
commit 801e66558a
1 changed files with 3 additions and 3 deletions

View File

@ -1,4 +1,4 @@
/* $NetBSD: topcat.c,v 1.8 2024/04/29 17:39:59 tsutsui Exp $ */
/* $NetBSD: topcat.c,v 1.9 2024/04/29 17:47:27 tsutsui Exp $ */
/* $OpenBSD: topcat.c,v 1.15 2006/08/11 18:33:13 miod Exp $ */
/*
@ -453,6 +453,8 @@ topcat_setcolor(struct diofb *fb, u_int index)
if (fb->planemask == 1)
return;
tc_waitbusy(tc, fb->planemask);
if (tc->regs.fbid != GID_TOPCAT) {
tccm_waitbusy(tc);
tc->plane_mask = fb->planemask;
@ -542,8 +544,6 @@ topcat_windowmove(struct diofb *fb, uint16_t sx, uint16_t sy,
tc->wwidth = cx;
tc->wmove = fb->planemask;
tc_waitbusy(tc, fb->planemask);
return 0;
}