delete VERBOSE #ifdef's
[unix-history] / usr / src / sys / hp300 / dev / grf_gb.c
index e85d2f8..040b7b6 100644 (file)
@@ -9,9 +9,9 @@
  *
  * %sccs.include.redist.c%
  *
  *
  * %sccs.include.redist.c%
  *
- * from: Utah $Hdr: grf_gb.c 1.13 89/04/11$
+ * from: Utah $Hdr: grf_gb.c 1.17 92/01/21$
  *
  *
- *     @(#)grf_gb.c    7.1 (Berkeley) %G%
+ *     @(#)grf_gb.c    7.5 (Berkeley) %G%
  */
 
 #include "grf.h"
  */
 
 #include "grf.h"
  *       HP 987x0 graphics systems.  "Gator" is not used for high res mono.
  *       (as in 9837 Gator systems)
  */
  *       HP 987x0 graphics systems.  "Gator" is not used for high res mono.
  *       (as in 9837 Gator systems)
  */
-#include "param.h"
-#include "errno.h"
+#include "sys/param.h"
+#include "sys/errno.h"
 
 
-#include "grfioctl.h"
-#include "grfvar.h"
+#include "hp/dev/grfioctl.h"
+#include "hp/dev/grfvar.h"
 #include "grf_gbreg.h"
 
 #include "grf_gbreg.h"
 
-#include "machine/cpu.h"
+#include "../include/cpu.h"
 
 #define CRTC_DATA_LENGTH  0x0e
 u_char crtc_init_data[CRTC_DATA_LENGTH] = {
 
 #define CRTC_DATA_LENGTH  0x0e
 u_char crtc_init_data[CRTC_DATA_LENGTH] = {
@@ -46,28 +46,34 @@ u_char crtc_init_data[CRTC_DATA_LENGTH] = {
  */
 gb_init(gp, addr)
        struct grf_softc *gp;
  */
 gb_init(gp, addr)
        struct grf_softc *gp;
-       u_char *addr;
+       caddr_t addr;
 {
        register struct gboxfb *gbp;
        struct grfinfo *gi = &gp->g_display;
        u_char *fbp, save;
        int fboff;
 {
        register struct gboxfb *gbp;
        struct grfinfo *gi = &gp->g_display;
        u_char *fbp, save;
        int fboff;
+       extern caddr_t sctopa(), iomap();
 
        gbp = (struct gboxfb *) addr;
 
        gbp = (struct gboxfb *) addr;
-       gi->gd_regaddr = (caddr_t) UNIOV(addr);
+       if (ISIIOVA(addr))
+               gi->gd_regaddr = (caddr_t) IIOP(addr);
+       else
+               gi->gd_regaddr = sctopa(vatosc(addr));
        gi->gd_regsize = 0x10000;
        gi->gd_fbwidth = 1024;          /* XXX */
        gi->gd_fbheight = 1024;         /* XXX */
        gi->gd_regsize = 0x10000;
        gi->gd_fbwidth = 1024;          /* XXX */
        gi->gd_fbheight = 1024;         /* XXX */
-       fboff = (gbp->fbomsb << 8) | gbp->fbolsb;
-       gi->gd_fbaddr = (caddr_t) (*(addr + fboff) << 16);
        gi->gd_fbsize = gi->gd_fbwidth * gi->gd_fbheight;
        gi->gd_fbsize = gi->gd_fbwidth * gi->gd_fbheight;
+       fboff = (gbp->fbomsb << 8) | gbp->fbolsb;
+       gi->gd_fbaddr = (caddr_t) (*((u_char *)addr + fboff) << 16);
+       gp->g_regkva = addr;
+       gp->g_fbkva = iomap(gi->gd_fbaddr, gi->gd_fbsize);
        gi->gd_dwidth = 1024;           /* XXX */
        gi->gd_dheight = 768;           /* XXX */
        gi->gd_planes = 0;              /* how do we do this? */
        /*
         * The minimal register info here is from the Gatorbox X driver.
         */
        gi->gd_dwidth = 1024;           /* XXX */
        gi->gd_dheight = 768;           /* XXX */
        gi->gd_planes = 0;              /* how do we do this? */
        /*
         * The minimal register info here is from the Gatorbox X driver.
         */
-       fbp = (u_char *) IOV(gi->gd_fbaddr);
+       fbp = (u_char *) gp->g_fbkva;
        gbp->write_protect = 0;
        gbp->interrupt = 4;             /** fb_enable ? **/
        gbp->rep_rule = 3;              /* GXcopy */
        gbp->write_protect = 0;
        gbp->interrupt = 4;             /** fb_enable ? **/
        gbp->rep_rule = 3;              /* GXcopy */
@@ -113,7 +119,7 @@ gb_mode(gp, cmd)
        struct gboxfb *gbp;
        int error = 0;
 
        struct gboxfb *gbp;
        int error = 0;
 
-       gbp = (struct gboxfb *) IOV(gp->g_display.gd_regaddr);
+       gbp = (struct gboxfb *) gp->g_regkva;
        switch (cmd) {
        case GM_GRFON:
                gbp->sec_interrupt = 1;
        switch (cmd) {
        case GM_GRFON:
                gbp->sec_interrupt = 1;