Module Name:    src
Committed By:   tsutsui
Date:           Sat Feb 11 18:30:45 UTC 2023

Modified Files:
        src/sys/arch/pmax/ibus: pm.c pmreg.h

Log Message:
Use MI <dev/ic/dc503reg.h> (added for vax smg(4)) for pmax pm(4) too.


To generate a diff of this commit:
cvs rdiff -u -r1.18 -r1.19 src/sys/arch/pmax/ibus/pm.c
cvs rdiff -u -r1.3 -r1.4 src/sys/arch/pmax/ibus/pmreg.h

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/pmax/ibus/pm.c
diff -u src/sys/arch/pmax/ibus/pm.c:1.18 src/sys/arch/pmax/ibus/pm.c:1.19
--- src/sys/arch/pmax/ibus/pm.c:1.18	Sat Aug  7 16:19:02 2021
+++ src/sys/arch/pmax/ibus/pm.c	Sat Feb 11 18:30:45 2023
@@ -1,4 +1,4 @@
-/*	$NetBSD: pm.c,v 1.18 2021/08/07 16:19:02 thorpej Exp $	*/
+/*	$NetBSD: pm.c,v 1.19 2023/02/11 18:30:45 tsutsui Exp $	*/
 
 /*-
  * Copyright (c) 2002, 2003 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: pm.c,v 1.18 2021/08/07 16:19:02 thorpej Exp $");
+__KERNEL_RCSID(0, "$NetBSD: pm.c,v 1.19 2023/02/11 18:30:45 tsutsui Exp $");
 
 #include <sys/param.h>
 #include <sys/buf.h>
@@ -46,6 +46,8 @@ __KERNEL_RCSID(0, "$NetBSD: pm.c,v 1.18 
 #include <dev/rasops/rasops.h>
 #include <dev/wsfont/wsfont.h>
 
+#include <dev/ic/dc503reg.h>
+
 #include <pmax/pmax/kn01.h>
 
 #include <pmax/ibus/ibusvar.h>
@@ -259,7 +261,7 @@ pm_common_init(void)
 {
 	struct rasops_info *ri;
 	int cookie, bior, i;
-	PCCRegs *pcc;
+	struct dc503reg *pcc;
 	VDACRegs *vdac;
 	uint16_t kn01csr;
 
@@ -370,7 +372,7 @@ pm_common_init(void)
 	/*
 	 * Turn off the hardware cursor sprite for text mode.
 	 */
-	pcc->cmdr = PCC_FOPB | PCC_VBHI;
+	pcc->cmdr = PCCCMD_FOPB | PCCCMD_VBHI;
 	wbflush();
 	pm_creg = 0;
 	pm_cursor_off();
@@ -379,21 +381,21 @@ pm_common_init(void)
 void
 pm_cursor_off(void)
 {
-	PCCRegs *pcc;
+	struct dc503reg *pcc;
 
 	pcc = (void *)MIPS_PHYS_TO_KSEG1(KN01_SYS_PCC);
-	pcc->cmdr = (pm_creg &= ~(PCC_ENPA | PCC_ENPB));
+	pcc->cmdr = (pm_creg &= ~(PCCCMD_ENPA | PCCCMD_ENPB));
 	wbflush();
 }
 
 void
 pm_cursor_on(struct pm_softc *sc)
 {
-	PCCRegs *pcc;
+	struct dc503reg *pcc;
 
 	if (sc->sc_curenb) {
 		pcc = (void *)MIPS_PHYS_TO_KSEG1(KN01_SYS_PCC);
-		pcc->cmdr = (pm_creg |= (PCC_ENPA | PCC_ENPB));
+		pcc->cmdr = (pm_creg |= (PCCCMD_ENPA | PCCCMD_ENPB));
 		wbflush();
 	}
 }
@@ -404,7 +406,7 @@ pm_ioctl(void *v, void *vs, u_long cmd, 
 	struct pm_softc *sc;
 	struct rasops_info *ri;
 	int turnoff, rv, i;
-	PCCRegs *pcc;
+	struct dc503reg *pcc;
 	VDACRegs *vdac;
 
 	sc = v;
@@ -451,14 +453,14 @@ pm_ioctl(void *v, void *vs, u_long cmd, 
 			sc->sc_blanked = turnoff;
 			if (turnoff == 0) {
 				pcc->cmdr =
-				    (pm_creg &= ~(PCC_FOPA | PCC_FOPB));
+				    (pm_creg &= ~(PCCCMD_FOPA | PCCCMD_FOPB));
 				wbflush();
 				pm_cursor_on(sc);
 				sc->sc_changed |= WSDISPLAY_CURSOR_DOCMAP;
 			} else {
 				pm_cursor_off();
 				pcc->cmdr =
-				    (pm_creg |= (PCC_FOPA | PCC_FOPB));
+				    (pm_creg |= (PCCCMD_FOPA | PCCCMD_FOPB));
 				wbflush();
 				vdac->overWA = 0x0c;
 				wbflush();
@@ -575,7 +577,7 @@ int
 pm_flush(struct pm_softc *sc)
 {
 	VDACRegs *vdac;
-	PCCRegs *pcc;
+	struct dc503reg *pcc;
 	uint8_t *cp;
 	int v, i, x, y;
 	u_short *p, *pe;
@@ -629,17 +631,17 @@ pm_flush(struct pm_softc *sc)
 		}
 	}
 	if ((v & WSDISPLAY_CURSOR_DOSHAPE) != 0) {
-		pcc->cmdr = (pm_creg | PCC_LODSA);
+		pcc->cmdr = (pm_creg | PCCCMD_LODSA);
 		wbflush();
 
 		p = sc->sc_cursor.cc_image;
 		x = 0xffff >> (16 - sc->sc_cursor.cc_size.x);
 		for (pe = p + 64; p < pe; p += 2) {
-			pcc->memory = *p & x;
+			pcc->load = *p & x;
 			wbflush();
 		}
 
-		pcc->cmdr = (pm_creg &= ~PCC_LODSA);
+		pcc->cmdr = (pm_creg &= ~PCCCMD_LODSA);
 		wbflush();
 	}
 

Index: src/sys/arch/pmax/ibus/pmreg.h
diff -u src/sys/arch/pmax/ibus/pmreg.h:1.3 src/sys/arch/pmax/ibus/pmreg.h:1.4
--- src/sys/arch/pmax/ibus/pmreg.h:1.3	Sun Dec 11 12:18:36 2005
+++ src/sys/arch/pmax/ibus/pmreg.h	Sat Feb 11 18:30:45 2023
@@ -1,4 +1,4 @@
-/*	$NetBSD: pmreg.h,v 1.3 2005/12/11 12:18:36 christos Exp $	*/
+/*	$NetBSD: pmreg.h,v 1.4 2023/02/11 18:30:45 tsutsui Exp $	*/
 
 /*
  * Copyright (c) 1992, 1993
@@ -38,55 +38,6 @@
 #define	_PMREG_H_
 
 /*
- * Structure to describe the programmable cursor chip (DC503) from DEC.
- */
-typedef volatile struct PCCRegs {
-	u_short	cmdr;	/* cursor command register */
-	short	pad1;
-	u_short	xpos;	/* cursor X position */
-	short	pad2;
-	u_short	ypos;	/* cursor Y position */
-	short	pad3;
-	u_short	xmin1;	/* region 1 left edge */
-	short	pad4;
-	u_short	xmax1;	/* region 1 right edge */
-	short	pad5;
-	u_short	ymin1;	/* region 1 top edge */
-	short	pad6;
-	u_short	ymax1;	/* region 1 bottom edge */
-	short	pad7[9];
-	u_short	xmin2;	/* region 2 left edge */
-	short	pad8;
-	u_short	xmax2;	/* region 2 right edge */
-	short	pad9;
-	u_short	ymin2;	/* region 2 top edge */
-	short	pad10;
-	u_short	ymax2;	/* region 2 bottom edge */
-	short	pad11;
-	u_short	memory;	/* cursor sprite pattern load */
-} PCCRegs;
-
-/*
- * Bits in pcc_cmdr.
- */
-#define PCC_TEST	0x8000
-#define PCC_HSHI	0x4000
-#define PCC_VBHI	0x2000
-#define PCC_LODSA	0x1000
-#define PCC_FORG2	0x0800
-#define PCC_ENRG2	0x0400
-#define PCC_FORG1	0x0200
-#define PCC_ENRG1	0x0100
-#define PCC_XHWID	0x0080
-#define PCC_XHCL1	0x0040
-#define PCC_XHCLP	0x0020
-#define PCC_XHAIR	0x0010
-#define PCC_FOPB	0x0008
-#define PCC_ENPB	0x0004
-#define PCC_FOPA	0x0002
-#define PCC_ENPA	0x0001
-
-/*
  * Magic offset for cursor X & Y locations.
  */
 #define PCC_X_OFFSET	212

Reply via email to