From 50f81f3d5e5b5b206944aab7cf18d58adb4564ec Mon Sep 17 00:00:00 2001 From: Martin Reindl Date: Sat, 6 Aug 2005 19:51:45 +0000 Subject: overhaul the grf driver: - Simplify grfmv_phys() to work like grfiv_phys(), and eliminate the second argument to both, as we don't use it anyway. - Handle fbbase and fboff consistently throughout. - Eliminate grfaddr() by pulling it into grfmmap(), which is the only place it was used, previously. - grfmap() now gets the physical address of the framebuffer from the appropriate driver, rather than try to compute it by itself. Be careful with aligning the base to a page address and increase the length of the mapped region appropriately. - Store the PA of the framebuffer in the softc. This eliminates the need for the sc_phys callback; we can just store the PA in the grfbus attach args, rather than a function pointer, which simplifies the code nicely. - Disable Valkyrie interrupts on the Quadra 630 - New and improved console framebuffer initialization and autoconfig. This resolves a great many issues, including Performa 58x interrupt handling and offset displays on some models. - Remove unused grf ioctls - Some KNF and other minor things help and ok miod@ from NetBSD --- sys/arch/mac68k/include/grfioctl.h | 27 +-------------------------- 1 file changed, 1 insertion(+), 26 deletions(-) (limited to 'sys/arch/mac68k/include') diff --git a/sys/arch/mac68k/include/grfioctl.h b/sys/arch/mac68k/include/grfioctl.h index 95e09392207..bbc3ae5a740 100644 --- a/sys/arch/mac68k/include/grfioctl.h +++ b/sys/arch/mac68k/include/grfioctl.h @@ -1,4 +1,4 @@ -/* $OpenBSD: grfioctl.h,v 1.5 2003/06/02 23:27:49 millert Exp $ */ +/* $OpenBSD: grfioctl.h,v 1.6 2005/08/06 19:51:44 martin Exp $ */ /* $NetBSD: grfioctl.h,v 1.5 1995/07/02 05:26:45 briggs Exp $ */ /* @@ -66,36 +66,11 @@ struct grfmodes { * BSD ioctls (first few match HP-UX ioctl()s. In case we want * compatibility later, start our own at 16). */ -#define GRFIOCGINFO _IOR('G', 0, struct grfinfo) /* get info on device */ #define GRFIOCON _IO('G', 1) /* turn graphics on */ #define GRFIOCOFF _IO('G', 2) /* turn graphics off */ -#define GRFIOCMAP _IOWR('G', 5, int) /* map in regs+framebuffer */ -#define GRFIOCUNMAP _IOW('G', 6, int) /* unmap regs+framebuffer */ - #define GRFIOCLISTMODES _IOWR('G', 16, struct grfmodes) /* Get list of modes */ #define GRFIOCGETMODE _IOR('G', 17, int) /* Get list of modes */ #define GRFIOCSETMODE _IOW('G', 18, int) /* Set to mode_id mode */ #define GRFIOCGMODE _IOR('G', 19, struct grfmode) /* Get list of modes */ -/* - * Obsolete structure. - * Only used to return information to older programs that still - * depend on GRFIOCGINFO. - */ -struct grfinfo { - int gd_id; /* HP-UX identifier */ - caddr_t gd_regaddr; /* control registers physaddr */ - int gd_regsize; /* control registers size */ - caddr_t gd_fbaddr; /* frame buffer physaddr */ - int gd_fbsize; /* frame buffer size */ - short gd_colors; /* number of colors */ - short gd_planes; /* number of planes */ - int gd_fbwidth; /* frame buffer width */ - int gd_fbheight; /* frame buffer height */ - int gd_fbrowbytes; /* frame buffer rowbytes */ - int gd_dwidth; /* displayed part width */ - int gd_dheight; /* displayed part height */ - int gd_pad[6]; /* for future expansion */ -}; - #endif /* _MAC68K_GRFIOCTL_H_ */ -- cgit v1.2.3