From 482368b1a8e45430672c58c9a42e7d2004367126 Mon Sep 17 00:00:00 2001 From: Ralf Baechle Date: Thu, 24 Feb 2000 00:12:35 +0000 Subject: Merge with 2.3.47. Guys, this is buggy as shit. You've been warned. --- drivers/video/Config.in | 9 + drivers/video/Makefile | 4 +- drivers/video/aty128fb.c | 32 +- drivers/video/atyfb.c | 8 +- drivers/video/bwtwofb.c | 6 +- drivers/video/cgsixfb.c | 4 +- drivers/video/fbcon-mac.c | 3 +- drivers/video/fbmem.c | 29 +- drivers/video/igafb.c | 8 +- drivers/video/macfb.c | 1431 +++++++++++++++++++++++++++++++++------------ drivers/video/matroxfb.c | 172 +----- drivers/video/sun3fb.c | 729 +++++++++++++++++++++++ 12 files changed, 1852 insertions(+), 583 deletions(-) create mode 100644 drivers/video/sun3fb.c (limited to 'drivers/video') diff --git a/drivers/video/Config.in b/drivers/video/Config.in index 2ccc8d4be..b7a855b77 100644 --- a/drivers/video/Config.in +++ b/drivers/video/Config.in @@ -73,6 +73,8 @@ if [ "$CONFIG_FB" = "y" ]; then fi if [ "$CONFIG_MAC" = "y" ]; then define_bool CONFIG_FB_MAC y + bool ' Apple "valkyrie" display support' CONFIG_FB_VALKYRIE +# bool ' Apple DAFB display support' CONFIG_FB_DAFB fi if [ "$CONFIG_HP300" = "y" ]; then define_bool CONFIG_FB_HP300 y @@ -89,6 +91,13 @@ if [ "$CONFIG_FB" = "y" ]; then tristate ' SGI Visual Workstation framebuffer support' CONFIG_FB_SGIVW define_bool CONFIG_BUS_I2C y fi + if [ "$CONFIG_SUN3" = "y" -o "$CONFIG_SUN3X" = "y" ]; then + bool 'Sun3 framebuffer support' CONFIG_FB_SUN3 + if [ "$CONFIG_FB_SUN3" != "n" ]; then + bool ' BWtwo support' CONFIG_FB_BWTWO + bool ' CGsix (GX,TurboGX) support' CONFIG_FB_CGSIX + fi + fi if [ "$CONFIG_EXPERIMENTAL" = "y" ]; then if [ "$CONFIG_PCI" != "n" ]; then tristate ' Matrox acceleration (EXPERIMENTAL)' CONFIG_FB_MATROX diff --git a/drivers/video/Makefile b/drivers/video/Makefile index 3e31a5fdc..e52eee833 100644 --- a/drivers/video/Makefile +++ b/drivers/video/Makefile @@ -60,7 +60,7 @@ obj-$(CONFIG_FB_CYBER2000) += cyber2000fb.o obj-$(CONFIG_FB_SGIVW) += sgivwfb.o obj-$(CONFIG_FB_RIVA) += rivafb.o riva_hw.o obj-$(CONFIG_FB_3DFX) += tdfxfb.o -obj-$(CONFIG_FB_MAC) += macfb.o +obj-$(CONFIG_FB_MAC) += macfb.o macmodes.o obj-$(CONFIG_FB_HP300) += hpfb.o obj-$(CONFIG_FB_OF) += offb.o macmodes.o obj-$(CONFIG_FB_IMSTT) += imsttfb.o @@ -82,6 +82,8 @@ obj-$(CONFIG_FB_CGFOURTEEN) += cgfourteenfb.o sbusfb.o obj-$(CONFIG_FB_P9100) += p9100fb.o sbusfb.o obj-$(CONFIG_FB_LEO) += leofb.o sbusfb.o obj-$(CONFIG_FB_MATROX) += matroxfb.o +obj-$(CONFIG_FB_SUN3) += sun3fb.o +obj-$(CONFIG_FB_BWTWO) += bwtwofb.o obj-$(CONFIG_FB_VIRTUAL) += vfb.o # Generic Low Level Drivers diff --git a/drivers/video/aty128fb.c b/drivers/video/aty128fb.c index e9a1886a1..da084b045 100644 --- a/drivers/video/aty128fb.c +++ b/drivers/video/aty128fb.c @@ -29,7 +29,7 @@ /* * A special note of gratitude to ATI's devrel for providing documentation, - * example code and hardware. Thanks Nitya. -atong + * example code and hardware. Thanks Nitya. -atong and brad */ @@ -129,6 +129,8 @@ static const struct aty128_chip_info aty128_pci_probe_list[] = {"PCI_DEVICE_ID_ATI_RAGE128_RF", PCI_VENDOR_ID_ATI, 0x5246}, {"PCI_DEVICE_ID_ATI_RAGE128_RK", PCI_VENDOR_ID_ATI, 0x524b}, {"PCI_DEVICE_ID_ATI_RAGE128_RL", PCI_VENDOR_ID_ATI, 0x524c}, + {"PCI_DEVICE_ID_ATI_RAGE128_PF", PCI_VENDOR_ID_ATI, 0x5046}, + {"PCI_DEVICE_ID_ATI_RAGE128_PR", PCI_VENDOR_ID_ATI, 0x5052}, {NULL, 0, 0} }; @@ -1669,22 +1671,23 @@ aty128_init(struct fb_info_aty128 *info, const char *name) var = default_var; #else memset(&var, 0, sizeof(var)); -#ifdef CONFIG_PMAC +#ifdef CONFIG_PPC if (default_vmode == VMODE_CHOOSE) { var = default_var; -#endif /* CONFIG_PMAC */ +#endif /* CONFIG_PPC */ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,3,1) - if (!fb_find_mode(&var, &info->fb_info, mode_option, NULL, 0, - &defaultmode, 8)) - var = default_var; + if (!fb_find_mode(&var, &info->fb_info, mode_option, NULL, 0, + &defaultmode, 8)) + var = default_var; #endif -#ifdef CONFIG_PMAC +#ifdef CONFIG_PPC } else { if (mac_vmode_to_var(default_vmode, default_cmode, &var)) var = default_var; -#endif /* CONFIG_PMAC */ + } +#endif /* CONFIG_PPC */ #endif /* MODULE */ if (noaccel) @@ -2293,19 +2296,6 @@ do_install_cmap(int con, struct fb_info *info) * Accelerated functions */ -static void -aty128_rectdraw(s16 x, s16 y, u16 width, u16 height, - struct fb_info_aty128 *info) -{ - /* perform rectangle operation */ - wait_for_fifo(2, info); - aty_st_le32(DST_Y_X, (y << 16) | x); - aty_st_le32(DST_HEIGHT_WIDTH, (height << 16) | width); - - info->blitter_may_be_busy = 1; -} - - static void aty128_rectcopy(int srcx, int srcy, int dstx, int dsty, u_int width, u_int height, diff --git a/drivers/video/atyfb.c b/drivers/video/atyfb.c index 3bec2e851..57ae6e15e 100644 --- a/drivers/video/atyfb.c +++ b/drivers/video/atyfb.c @@ -1,4 +1,4 @@ -/* $Id: atyfb.c,v 1.138 2000/02/10 02:52:12 davem Exp $ +/* $Id: atyfb.c,v 1.139 2000/02/12 22:47:04 davem Exp $ * linux/drivers/video/atyfb.c -- Frame buffer device for ATI Mach64 * * Copyright (C) 1997-1998 Geert Uytterhoeven @@ -4049,7 +4049,7 @@ int __init atyfb_setup(char *options) default_pll = simple_strtoul(this_opt+4, NULL, 0); else if (!strncmp(this_opt, "mclk:", 5)) default_mclk = simple_strtoul(this_opt+5, NULL, 0); -#ifdef CONFIG_PMAC +#ifdef CONFIG_PPC else if (!strncmp(this_opt, "vmode:", 6)) { unsigned int vmode = simple_strtoul(this_opt+6, NULL, 0); if (vmode > 0 && vmode <= VMODE_MAX) @@ -4186,7 +4186,7 @@ static void atyfbcon_blank(int blank, struct fb_info *fb) struct fb_info_aty *info = (struct fb_info_aty *)fb; u8 gen_cntl; -#ifdef CONFIG_PMAC +#ifdef CONFIG_PPC if ((_machine == _MACH_Pmac) && blank) pmu_enable_backlight(0); #endif @@ -4211,7 +4211,7 @@ static void atyfbcon_blank(int blank, struct fb_info *fb) gen_cntl &= ~(0x4c); aty_st_8(CRTC_GEN_CNTL, gen_cntl, info); -#ifdef CONFIG_PMAC +#ifdef CONFIG_PPC if ((_machine == _MACH_Pmac) && !blank) pmu_enable_backlight(1); #endif diff --git a/drivers/video/bwtwofb.c b/drivers/video/bwtwofb.c index f8c0ea52d..ebb5d5e56 100644 --- a/drivers/video/bwtwofb.c +++ b/drivers/video/bwtwofb.c @@ -1,4 +1,4 @@ -/* $Id: bwtwofb.c,v 1.12 2000/01/21 03:57:05 anton Exp $ +/* $Id: bwtwofb.c,v 1.13 2000/02/14 02:50:25 davem Exp $ * bwtwofb.c: BWtwo frame buffer driver * * Copyright (C) 1998 Jakub Jelinek (jj@ultra.linux.cz) @@ -25,7 +25,7 @@ #include