diff options
| author | macallan <macallan@NetBSD.org> | 2023-06-28 08:53:43 +0000 |
|---|---|---|
| committer | macallan <macallan@NetBSD.org> | 2023-06-28 08:53:43 +0000 |
| commit | b898bd1a735594a022f169642a8f6362b3fe61a5 (patch) | |
| tree | 9a91f91ea49bb0c02a1c6baf603c9f48a8ebebe4 /sys | |
| parent | 8cfd6a7de08154bb8b525e4c720a2f9b9d007217 (diff) | |
wait for the engine to go idle before issuing rectfill commands
we get occasional overlap with blit commands if we just wait for fifo slots
needs further investigation, it is possible that not all writes to drawing
engine registers are pipelined and of course we don't have docs
Diffstat (limited to 'sys')
| -rw-r--r-- | sys/dev/sbus/mgx.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/sys/dev/sbus/mgx.c b/sys/dev/sbus/mgx.c index 7bfa3e8d778..2d4a10af308 100644 --- a/sys/dev/sbus/mgx.c +++ b/sys/dev/sbus/mgx.c @@ -1,4 +1,4 @@ -/* $NetBSD: mgx.c,v 1.21 2023/06/28 08:11:52 macallan Exp $ */ +/* $NetBSD: mgx.c,v 1.22 2023/06/28 08:53:43 macallan Exp $ */ /*- * Copyright (c) 2014 Michael Lorenz @@ -29,7 +29,7 @@ /* a console driver for the SSB 4096V-MGX graphics card */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: mgx.c,v 1.21 2023/06/28 08:11:52 macallan Exp $"); +__KERNEL_RCSID(0, "$NetBSD: mgx.c,v 1.22 2023/06/28 08:53:43 macallan Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -666,7 +666,8 @@ mgx_rectfill(void *cookie, int x, int y, int wi, int he, long fg) dec = sc->sc_dec; dec |= (DEC_COMMAND_RECT << DEC_COMMAND_SHIFT) | (DEC_START_DIMX << DEC_START_SHIFT); - mgx_wait_fifo(sc, 5); + //mgx_wait_fifo(sc, 5); + mgx_wait_engine(sc); mgx_write_1(sc, ATR_ROP, ROP_SRC); mgx_write_4(sc, ATR_FG, col); mgx_write_4(sc, ATR_DEC, dec); |
