* Copyright (c) 1988 University of Utah.
* Copyright (c) 1990 The Regents of the University of California.
* This code is derived from software contributed to Berkeley by
* the Systems Programming Group of the University of Utah Computer
* %sccs.include.redist.c%
* from: Utah $Hdr: grf_dv.c 1.6 89/04/11$
* @(#)grf_dv.c 7.1 (Berkeley) %G%
* Graphics routines for the DaVinci, HP98730/98731 Graphics system.
* Must point g_display at a grfinfo structure describing the hardware.
* Returns 0 if hardware not present, non-zero ow.
register struct dvboxfb
*dbp
;
struct grfinfo
*gi
= &gp
->g_display
;
dbp
= (struct dvboxfb
*) addr
;
gi
->gd_regaddr
= (caddr_t
) UNIOV(addr
);
gi
->gd_regsize
= 0x20000;
gi
->gd_fbwidth
= (dbp
->fbwmsb
<< 8) | dbp
->fbwlsb
;
gi
->gd_fbheight
= (dbp
->fbhmsb
<< 8) | dbp
->fbhlsb
;
fboff
= (dbp
->fbomsb
<< 8) | dbp
->fbolsb
;
gi
->gd_fbaddr
= (caddr_t
) (*(addr
+ fboff
) << 16);
gi
->gd_fbsize
= gi
->gd_fbwidth
* gi
->gd_fbheight
;
gi
->gd_dwidth
= (dbp
->dwmsb
<< 8) | dbp
->dwlsb
;
gi
->gd_dheight
= (dbp
->dwmsb
<< 8) | dbp
->dwlsb
;
gi
->gd_planes
= 0; /* ?? */
register struct dvboxfb
*dbp
;
while (dbp
->wbusy
& 0x01)
* Change the mode of the display.
* Right now all we can do is grfon/grfoff.
* Return a UNIX error number or 0 for success.
register struct grf_softc
*gp
;
register struct dvboxfb
*dbp
;
dbp
= (struct dvboxfb
*) IOV(gp
->g_display
.gd_regaddr
);