From: Albert H. <he...@us...> - 2007-11-14 23:09:26
|
Update of /cvsroot/gc-linux/linux/drivers/video In directory sc8-pr-cvs2.sourceforge.net:/tmp/cvs-serv4431/drivers/video Modified Files: Kconfig Makefile gcnfb.c gcngx.c Log Message: Merged 2.6.22. Updated drivers to use in_be* and out_be* instead of read* and write* input/output instructions. Updated DI driver: - do not use debug extensions with unknown drive models - do not load custom firmware on xenogc/duoq - evict alien firmwares and load custom formware on known drive models Index: gcnfb.c =================================================================== RCS file: /cvsroot/gc-linux/linux/drivers/video/gcnfb.c,v retrieving revision 1.15 retrieving revision 1.16 diff -u -d -r1.15 -r1.16 --- gcnfb.c 18 Feb 2007 22:56:03 -0000 1.15 +++ gcnfb.c 14 Nov 2007 23:08:55 -0000 1.16 @@ -2,10 +2,10 @@ * drivers/video/gcnfb.c * * Nintendo GameCube "Flipper" chipset frame buffer driver - * Copyright (C) 2004-2006 The GameCube Linux Team + * Copyright (C) 2004-2007 The GameCube Linux Team * Copyright (C) 2004 Michael Steil <mi...@c6...> * Copyright (C) 2004,2005 Todd Jeffreys <to...@vo...> - * Copyright (C) 2006 Albert Herranz + * Copyright (C) 2006,2007 Albert Herranz * * Based on vesafb (c) 1998 Gerd Knorr <kr...@go...> * @@ -183,14 +183,14 @@ }; -static struct fb_fix_screeninfo gcnfb_fix __initdata = { +static struct fb_fix_screeninfo gcnfb_fix = { .id = DRV_MODULE_NAME, .type = FB_TYPE_PACKED_PIXELS, .visual = FB_VISUAL_TRUECOLOR, /* lies, lies, lies, ... */ .accel = FB_ACCEL_NONE, }; -static struct fb_var_screeninfo gcnfb_var __initdata = { +static struct fb_var_screeninfo gcnfb_var = { .bits_per_pixel = 16, .activate = FB_ACTIVATE_NOW, .height = -1, @@ -325,7 +325,7 @@ */ static inline int vi_get_mode(struct vi_ctl *ctl) { - return (readw(ctl->io_base + VI_DCR) >> 8) & 3; + return (in_be16(ctl->io_base + VI_DCR) >> 8) & 3; } /* @@ -349,7 +349,7 @@ */ static inline int vi_can_do_progressive(struct vi_ctl *ctl) { - return readw(ctl->io_base + VI_VISEL) & VI_VISEL_PROGRESSIVE; + return in_be16(ctl->io_base + VI_VISEL) & VI_VISEL_PROGRESSIVE; } /* @@ -362,7 +362,7 @@ if (vi_current_video_mode == NULL) { /* auto detection */ - if (readl(io_base + VI_HTR0) == 0x4B6A01B0) { + if (in_be32(io_base + VI_HTR0) == 0x4B6A01B0) { /* PAL50 */ vi_current_video_mode = vi_video_modes + VI_VM_PAL50; } else { @@ -403,13 +403,13 @@ void __iomem *io_base = ctl->io_base; /* set top field */ - writel(0x10000000 | (addr >> 5), io_base + VI_TFBL); + out_be32(io_base + VI_TFBL, 0x10000000 | (addr >> 5)); /* set bottom field */ if (!vi_is_mode_progressive(info->var.vmode)) { addr += info->fix.line_length; } - writel(0x10000000 | (addr >> 5), io_base + VI_BFBL); + out_be32(io_base + VI_BFBL, 0x10000000 | (addr >> 5)); } /* @@ -449,20 +449,20 @@ } /* first dot, first line */ - writel(VI_DI_INT | VI_DI_ENB | - (1 << VI_DI_VCT_SHIFT) | (1 << VI_DI_HCT_SHIFT), - io_base + VI_DI0); + out_be32(io_base + VI_DI0, + VI_DI_INT | VI_DI_ENB | + (1 << VI_DI_VCT_SHIFT) | (1 << VI_DI_HCT_SHIFT)); /* last dot, last line */ - writel(VI_DI_INT | VI_DI_ENB | - (vtrap << VI_DI_VCT_SHIFT) | (htrap << VI_DI_HCT_SHIFT), - io_base + VI_DI1); + out_be32(io_base + VI_DI1, + VI_DI_INT | VI_DI_ENB | + (vtrap << VI_DI_VCT_SHIFT) | (htrap << VI_DI_HCT_SHIFT)); } else { - writel(0, io_base + VI_DI0); - writel(0, io_base + VI_DI1); + out_be32(io_base + VI_DI0, 0); + out_be32(io_base + VI_DI1, 0); } /* these two are currently not used */ - writel(0, io_base + VI_DI2); - writel(0, io_base + VI_DI3); + out_be32(io_base + VI_DI2, 0); + out_be32(io_base + VI_DI3, 0); } /* @@ -493,33 +493,33 @@ u32 val; /* DI0 and DI1 are used to account for the vertical retrace */ - val = readl(io_base + VI_DI0); + val = in_be32(io_base + VI_DI0); if (val & VI_DI_INT) { ctl->in_vtrace = 0; gcngx_dispatch_vtrace(ctl); /* backwards compatibility */ - writel(val & ~VI_DI_INT, io_base + VI_DI0); + out_be32(io_base + VI_DI0, val & ~VI_DI_INT); return IRQ_HANDLED; } - val = readl(io_base + VI_DI1); + val = in_be32(io_base + VI_DI1); if (val & VI_DI_INT) { ctl->in_vtrace = 1; vi_dispatch_vtrace(ctl); gcngx_dispatch_vtrace(ctl); /* backwards compatibility */ - writel(val & ~VI_DI_INT, io_base + VI_DI1); + out_be32(io_base + VI_DI1, val & ~VI_DI_INT); return IRQ_HANDLED; } /* currently unused, just in case */ - val = readl(io_base + VI_DI2); + val = in_be32(io_base + VI_DI2); if (val & VI_DI_INT) { - writel(val & ~VI_DI_INT, io_base + VI_DI2); + out_be32(io_base + VI_DI2, val & ~VI_DI_INT); return IRQ_HANDLED; } - val = readl(io_base + VI_DI3); + val = in_be32(io_base + VI_DI3); if (val & VI_DI_INT) { - writel(val & ~VI_DI_INT, io_base + VI_DI3); + out_be32(io_base + VI_DI3, val & ~VI_DI_INT); return IRQ_HANDLED; } @@ -562,18 +562,18 @@ /* initialize video registers */ for (i = 0; i < 7; i++) { - writel(vi_current_video_mode->regs[i], - io_base + i * sizeof(__u32)); + out_be32(io_base + i * sizeof(__u32), + vi_current_video_mode->regs[i]); } - writel(vi_current_video_mode->regs[VI_TFBR / sizeof(__u32)], - io_base + VI_TFBR); - writel(vi_current_video_mode->regs[VI_BFBR / sizeof(__u32)], - io_base + VI_BFBR); - writel(vi_current_video_mode->regs[VI_DPV / sizeof(__u32)], - io_base + VI_DPV); + out_be32(io_base + VI_TFBR, + vi_current_video_mode->regs[VI_TFBR / sizeof(__u32)]); + out_be32(io_base + VI_BFBR, + vi_current_video_mode->regs[VI_BFBR / sizeof(__u32)]); + out_be32(io_base + VI_DPV, + vi_current_video_mode->regs[VI_DPV / sizeof(__u32)]); for (i = 16; i < 32; i++) { - writel(vi_current_video_mode->regs[i], - io_base + i * sizeof(__u32)); + out_be32(io_base + i * sizeof(__u32), + vi_current_video_mode->regs[i]); } /* enable the video retrace handling */ @@ -912,7 +912,7 @@ platform_set_drvdata(dev, info); - if (request_irq(VI_IRQ, vi_irq_handler, SA_INTERRUPT, "gcn-vi", dev)) { + if (request_irq(VI_IRQ, vi_irq_handler, IRQF_DISABLED, "gcn-vi", dev)) { printk(KERN_ERR "unable to register IRQ %u\n", VI_IRQ); goto err_request_irq; } Index: gcngx.c =================================================================== RCS file: /cvsroot/gc-linux/linux/drivers/video/gcngx.c,v retrieving revision 1.11 retrieving revision 1.12 diff -u -d -r1.11 -r1.12 --- gcngx.c 18 Feb 2007 22:56:03 -0000 1.11 +++ gcngx.c 14 Nov 2007 23:08:56 -0000 1.12 @@ -2,8 +2,9 @@ * drivers/video/gcngx.c * * Nintendo GameCube GX driver extension - * Copyright (C) 2004-2005 The GameCube Linux Team + * Copyright (C) 2004-2007 The GameCube Linux Team * Copyright (C) 2004,2005 Todd Jeffreys <to...@vo...> + * Copyright (C) 2007 Albert Herranz * * Parts borrowed heavily from libogc. This driver would not have * been possible with this library. Thanks! @@ -75,8 +76,8 @@ #define VIDEO_PE_INTERRUPT_TOKEN_INTERRUPT (1 << 2) #define VIDEO_PE_INTERRUPT_FINISH_INTERRUPT (1 << 3) -#define gcngx_disable_pe_interrupts() writew(readw(VIDEO_PE_INTERRUPT) & ~(VIDEO_PE_INTERRUPT_TOKEN_ENABLE | VIDEO_PE_INTERRUPT_FINISH_ENABLE),VIDEO_PE_INTERRUPT) -#define gcngx_enable_pe_interrupts() { writew(readw(VIDEO_PE_INTERRUPT) | (VIDEO_PE_INTERRUPT_TOKEN_ENABLE | VIDEO_PE_INTERRUPT_FINISH_ENABLE | VIDEO_PE_INTERRUPT_TOKEN_INTERRUPT | VIDEO_PE_INTERRUPT_FINISH_INTERRUPT),VIDEO_PE_INTERRUPT); writew(0,VIDEO_PE_TOKEN); } +#define gcngx_disable_pe_interrupts() out_be16(VIDEO_PE_INTERRUPT,in_be16(VIDEO_PE_INTERRUPT) & ~(VIDEO_PE_INTERRUPT_TOKEN_ENABLE | VIDEO_PE_INTERRUPT_FINISH_ENABLE)) +#define gcngx_enable_pe_interrupts() { out_be16(VIDEO_PE_INTERRUPT,in_be16(VIDEO_PE_INTERRUPT) | (VIDEO_PE_INTERRUPT_TOKEN_ENABLE | VIDEO_PE_INTERRUPT_FINISH_ENABLE | VIDEO_PE_INTERRUPT_TOKEN_INTERRUPT | VIDEO_PE_INTERRUPT_FINISH_INTERRUPT)); out_be16(VIDEO_PE_TOKEN, 0); } #define VIDEO_CP_SR ((volatile u16 __iomem *)0xcc000000) #define VIDEO_CP_SR_OVERFLOW (1 << 0) @@ -126,7 +127,7 @@ static irqreturn_t gcfb_fifo_irq_handler(int irq,void *dev_id) { /* now handle the int */ - u16 val = readw(VIDEO_CP_SR); + u16 val = in_be16(VIDEO_CP_SR); /* ENABLE_RUMBLE(); */ @@ -185,8 +186,8 @@ u16 val; struct siginfo sig; /* ack the interrupt */ - val = readw(VIDEO_PE_INTERRUPT) | VIDEO_PE_INTERRUPT_FINISH_INTERRUPT; - writew(val,VIDEO_PE_INTERRUPT); + val = in_be16(VIDEO_PE_INTERRUPT) | VIDEO_PE_INTERRUPT_FINISH_INTERRUPT; + out_be16(VIDEO_PE_INTERRUPT, val); /* send SIG_PE_FINISH to the process */ if (mmap_task) @@ -204,8 +205,8 @@ u16 val; struct siginfo sig; /* ack the interrupt */ - val = readw(VIDEO_PE_INTERRUPT) | VIDEO_PE_INTERRUPT_TOKEN_INTERRUPT; - writew(val,VIDEO_PE_INTERRUPT); + val = in_be16(VIDEO_PE_INTERRUPT) | VIDEO_PE_INTERRUPT_TOKEN_INTERRUPT; + out_be16(VIDEO_PE_INTERRUPT, val); /* send SIG_PE_TOKEN to the process */ if (mmap_task) { @@ -640,15 +641,15 @@ goto free_mem; } - if ((err=request_irq(IRQ_PE_TOKEN,gcfb_pe_token_irq_handler,SA_INTERRUPT,"PE Token",0))) + if ((err=request_irq(IRQ_PE_TOKEN,gcfb_pe_token_irq_handler,IRQF_DISABLED,"PE Token",0))) { goto free_iounmap; } - if ((err=request_irq(IRQ_PE_FINISH,gcfb_pe_finish_irq_handler,SA_INTERRUPT,"PE Finish",0))) + if ((err=request_irq(IRQ_PE_FINISH,gcfb_pe_finish_irq_handler,IRQF_DISABLED,"PE Finish",0))) { goto free_pe_token; } - if ((err=request_irq(IRQ_CP_FIFO,gcfb_fifo_irq_handler,SA_INTERRUPT,"CP FIFO",0))) + if ((err=request_irq(IRQ_CP_FIFO,gcfb_fifo_irq_handler,IRQF_DISABLED,"CP FIFO",0))) { goto free_pe_finish; } Index: Makefile =================================================================== RCS file: /cvsroot/gc-linux/linux/drivers/video/Makefile,v retrieving revision 1.22 retrieving revision 1.23 diff -u -d -r1.22 -r1.23 --- Makefile 30 Apr 2007 17:06:12 -0000 1.22 +++ Makefile 14 Nov 2007 23:08:55 -0000 1.23 @@ -4,6 +4,7 @@ # Each configuration option enables a list of files. +obj-$(CONFIG_VGASTATE) += vgastate.o obj-y += fb_notify.o obj-$(CONFIG_FB) += fb.o fb-y := fbmem.o fbmon.o fbcmap.o fbsysfs.o \ @@ -12,14 +13,19 @@ obj-$(CONFIG_VT) += console/ obj-$(CONFIG_LOGO) += logo/ -obj-y += backlight/ +obj-y += backlight/ display/ obj-$(CONFIG_FB_CFB_FILLRECT) += cfbfillrect.o obj-$(CONFIG_FB_CFB_COPYAREA) += cfbcopyarea.o obj-$(CONFIG_FB_CFB_IMAGEBLIT) += cfbimgblt.o +obj-$(CONFIG_FB_SYS_FILLRECT) += sysfillrect.o +obj-$(CONFIG_FB_SYS_COPYAREA) += syscopyarea.o +obj-$(CONFIG_FB_SYS_IMAGEBLIT) += sysimgblt.o +obj-$(CONFIG_FB_SYS_FOPS) += fb_sys_fops.o obj-$(CONFIG_FB_SVGALIB) += svgalib.o obj-$(CONFIG_FB_MACMODES) += macmodes.o obj-$(CONFIG_FB_DDC) += fb_ddc.o +obj-$(CONFIG_FB_DEFERRED_IO) += fb_defio.o # Hardware specific drivers go first obj-$(CONFIG_FB_AMIGA) += amifb.o c2p.o @@ -30,7 +36,7 @@ obj-$(CONFIG_FB_PM3) += pm3fb.o obj-$(CONFIG_FB_MATROX) += matrox/ -obj-$(CONFIG_FB_RIVA) += riva/ vgastate.o +obj-$(CONFIG_FB_RIVA) += riva/ obj-$(CONFIG_FB_NVIDIA) += nvidia/ obj-$(CONFIG_FB_ATY) += aty/ macmodes.o obj-$(CONFIG_FB_ATY128) += aty/ macmodes.o @@ -40,8 +46,7 @@ obj-$(CONFIG_FB_SAVAGE) += savage/ obj-$(CONFIG_FB_GEODE) += geode/ obj-$(CONFIG_FB_MBX) += mbx/ -obj-$(CONFIG_FB_I810) += vgastate.o -obj-$(CONFIG_FB_NEOMAGIC) += neofb.o vgastate.o +obj-$(CONFIG_FB_NEOMAGIC) += neofb.o obj-$(CONFIG_FB_3DFX) += tdfxfb.o obj-$(CONFIG_FB_CONTROL) += controlfb.o obj-$(CONFIG_FB_PLATINUM) += platinumfb.o @@ -49,9 +54,12 @@ obj-$(CONFIG_FB_CT65550) += chipsfb.o obj-$(CONFIG_FB_IMSTT) += imsttfb.o obj-$(CONFIG_FB_FM2) += fm2fb.o +obj-$(CONFIG_FB_VT8623) += vt8623fb.o obj-$(CONFIG_FB_CYBLA) += cyblafb.o obj-$(CONFIG_FB_TRIDENT) += tridentfb.o -obj-$(CONFIG_FB_S3) += s3fb.o vgastate.o +obj-$(CONFIG_FB_LE80578) += vermilion/ +obj-$(CONFIG_FB_S3) += s3fb.o +obj-$(CONFIG_FB_ARK) += arkfb.o obj-$(CONFIG_FB_STI) += stifb.o obj-$(CONFIG_FB_FFB) += ffb.o sbuslib.o obj-$(CONFIG_FB_CG6) += cg6.o sbuslib.o @@ -63,9 +71,13 @@ obj-$(CONFIG_FB_LEO) += leo.o sbuslib.o obj-$(CONFIG_FB_SGIVW) += sgivwfb.o obj-$(CONFIG_FB_ACORN) += acornfb.o -obj-$(CONFIG_FB_ATARI) += atafb.o +obj-$(CONFIG_FB_ATARI) += atafb.o c2p.o atafb_mfb.o \ + atafb_iplan2p2.o atafb_iplan2p4.o atafb_iplan2p8.o obj-$(CONFIG_FB_MAC) += macfb.o +obj-$(CONFIG_FB_HECUBA) += hecubafb.o obj-$(CONFIG_FB_HGA) += hgafb.o +obj-$(CONFIG_FB_XVR500) += sunxvr500.o +obj-$(CONFIG_FB_XVR2500) += sunxvr2500.o obj-$(CONFIG_FB_IGA) += igafb.o obj-$(CONFIG_FB_APOLLO) += dnfb.o obj-$(CONFIG_FB_Q40) += q40fb.o @@ -75,6 +87,7 @@ obj-$(CONFIG_FB_SA1100) += sa1100fb.o obj-$(CONFIG_FB_HIT) += hitfb.o obj-$(CONFIG_FB_EPSON1355) += epson1355fb.o +obj-$(CONFIG_FB_ATMEL) += atmel_lcdfb.o obj-$(CONFIG_FB_PVR2) += pvr2fb.o obj-$(CONFIG_FB_VOODOO1) += sstfb.o obj-$(CONFIG_FB_ARMCLCD) += amba-clcd.o @@ -99,6 +112,7 @@ obj-$(CONFIG_FB_IBM_GXT4500) += gxt4500.o obj-$(CONFIG_FB_PS3) += ps3fb.o obj-$(CONFIG_FB_SM501) += sm501fb.o +obj-$(CONFIG_FB_XILINX) += xilinxfb.o obj-$(CONFIG_FB_GAMECUBE) += gcnfb.o obj-$(CONFIG_FB_GAMECUBE_GX) += gcngx.o @@ -106,7 +120,7 @@ # Platform or fallback drivers go here obj-$(CONFIG_FB_VESA) += vesafb.o obj-$(CONFIG_FB_IMAC) += imacfb.o -obj-$(CONFIG_FB_VGA16) += vga16fb.o vgastate.o +obj-$(CONFIG_FB_VGA16) += vga16fb.o obj-$(CONFIG_FB_OF) += offb.o # the test framebuffer is last Index: Kconfig =================================================================== RCS file: /cvsroot/gc-linux/linux/drivers/video/Kconfig,v retrieving revision 1.23 retrieving revision 1.24 diff -u -d -r1.23 -r1.24 --- Kconfig 30 Apr 2007 17:06:12 -0000 1.23 +++ Kconfig 14 Nov 2007 23:08:52 -0000 1.24 @@ -3,8 +3,14 @@ # menu "Graphics support" + depends on HAS_IOMEM source "drivers/video/backlight/Kconfig" +source "drivers/video/display/Kconfig" + +config VGASTATE + tristate + default n config FB tristate "Support for frame buffer devices" @@ -90,6 +96,43 @@ blitting. This is used by drivers that don't provide their own (accelerated) version. +config FB_SYS_FILLRECT + tristate + depends on FB + default n + ---help--- + Include the sys_fillrect function for generic software rectangle + filling. This is used by drivers that don't provide their own + (accelerated) version and the framebuffer is in system RAM. + +config FB_SYS_COPYAREA + tristate + depends on FB + default n + ---help--- + Include the sys_copyarea function for generic software area copying. + This is used by drivers that don't provide their own (accelerated) + version and the framebuffer is in system RAM. + +config FB_SYS_IMAGEBLIT + tristate + depends on FB + default n + ---help--- + Include the sys_imageblit function for generic software image + blitting. This is used by drivers that don't provide their own + (accelerated) version and the framebuffer is in system RAM. + +config FB_SYS_FOPS + tristate + depends on FB + default n + +config FB_DEFERRED_IO + bool + depends on FB + default y + config FB_SVGALIB tristate depends on FB @@ -191,7 +234,7 @@ If you want to compile this as a module (=code which can be inserted into and removed from the running kernel), say M - here and read <file:Documentation/modules.txt>. The module + here and read <file:Documentation/kbuild/modules.txt>. The module will be called amba-clcd. choice @@ -375,9 +418,10 @@ config FB_ARC tristate "Arc Monochrome LCD board support" depends on FB && X86 - select FB_CFB_FILLRECT - select FB_CFB_COPYAREA - select FB_CFB_IMAGEBLIT + select FB_SYS_FILLRECT + select FB_SYS_COPYAREA + select FB_SYS_IMAGEBLIT + select FB_SYS_FOPS help This enables support for the Arc Monochrome LCD board. The board is based on the KS-108 lcd controller and is typically a matrix @@ -389,14 +433,17 @@ config FB_ATARI bool "Atari native chipset support" - depends on (FB = y) && ATARI && BROKEN + depends on (FB = y) && ATARI + select FB_CFB_FILLRECT + select FB_CFB_COPYAREA + select FB_CFB_IMAGEBLIT help This is the frame buffer device driver for the builtin graphics chipset found in Ataris. config FB_OF bool "Open Firmware frame buffer device support" - depends on (FB = y) && (PPC64 || PPC_OF) + depends on (FB = y) && (PPC64 || PPC_OF) && (!PPC_PSERIES || PCI) select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT @@ -472,6 +519,8 @@ select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT + select VGASTATE + select FONT_8x16 if FRAMEBUFFER_CONSOLE help This is the frame buffer device driver for VGA 16 color graphic cards. Say Y if you have such a card. @@ -516,15 +565,25 @@ default y config FB_TGA - tristate "TGA framebuffer support" - depends on FB && ALPHA + tristate "TGA/SFB+ framebuffer support" + depends on FB && (ALPHA || TC) select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT select BITREVERSE - help - This is the frame buffer device driver for generic TGA graphic - cards. Say Y if you have one of those. + ---help--- + This is the frame buffer device driver for generic TGA and SFB+ + graphic cards. These include DEC ZLXp-E1, -E2 and -E3 PCI cards, + also known as PBXGA-A, -B and -C, and DEC ZLX-E1, -E2 and -E3 + TURBOchannel cards, also known as PMAGD-A, -B and -C. + + Due to hardware limitations ZLX-E2 and E3 cards are not supported + for DECstation 5000/200 systems. Additionally due to firmware + limitations these cards may cause troubles with booting DECstation + 5000/240 and /260 systems, but are fully supported under Linux if + you manage to get it going. ;-) + + Say Y if you have one of those. config FB_VESA bool "VESA VGA graphics support" @@ -548,6 +607,21 @@ help This is the frame buffer device driver for the Intel-based Macintosh +config FB_HECUBA + tristate "Hecuba board support" + depends on FB && X86 && MMU + select FB_SYS_FILLRECT + select FB_SYS_COPYAREA + select FB_SYS_IMAGEBLIT + select FB_SYS_FOPS + select FB_DEFERRED_IO + help + This enables support for the Hecuba board. This driver was tested + with an E-Ink 800x600 display and x86 SBCs through a 16 bit GPIO + interface (8 bit data, 4 bit control). If you anticpate using + this driver, say Y or M; otherwise say N. You must specify the + GPIO IO address to be used for setting control and data. + config FB_HGA tristate "Hercules mono graphics support" depends on FB && X86 @@ -630,6 +704,91 @@ This is the frame buffer device driver for the CGsix (GX, TurboGX) frame buffer. +config FB_FFB + bool "Creator/Creator3D/Elite3D support" + depends on FB_SBUS && SPARC64 + select FB_CFB_COPYAREA + select FB_CFB_IMAGEBLIT + help + This is the frame buffer device driver for the Creator, Creator3D, + and Elite3D graphics boards. + +config FB_TCX + bool "TCX (SS4/SS5 only) support" + depends on FB_SBUS + select FB_CFB_FILLRECT + select FB_CFB_COPYAREA + select FB_CFB_IMAGEBLIT + help + This is the frame buffer device driver for the TCX 24/8bit frame + buffer. + +config FB_CG14 + bool "CGfourteen (SX) support" + depends on FB_SBUS + select FB_CFB_FILLRECT + select FB_CFB_COPYAREA + select FB_CFB_IMAGEBLIT + help + This is the frame buffer device driver for the CGfourteen frame + buffer on Desktop SPARCsystems with the SX graphics option. + +config FB_P9100 + bool "P9100 (Sparcbook 3 only) support" + depends on FB_SBUS + select FB_CFB_FILLRECT + select FB_CFB_COPYAREA + select FB_CFB_IMAGEBLIT + help + This is the frame buffer device driver for the P9100 card + supported on Sparcbook 3 machines. + +config FB_LEO + bool "Leo (ZX) support" + depends on FB_SBUS + select FB_CFB_FILLRECT + select FB_CFB_COPYAREA + select FB_CFB_IMAGEBLIT + help + This is the frame buffer device driver for the SBUS-based Sun ZX + (leo) frame buffer cards. + +config FB_IGA + bool "IGA 168x display support" + depends on (FB = y) && SPARC32 + select FB_CFB_FILLRECT + select FB_CFB_COPYAREA + select FB_CFB_IMAGEBLIT + help + This is the framebuffer device for the INTERGRAPHICS 1680 and + successor frame buffer cards. + +config FB_XVR500 + bool "Sun XVR-500 3DLABS Wildcat support" + depends on (FB = y) && PCI && SPARC64 + select FB_CFB_FILLRECT + select FB_CFB_COPYAREA + select FB_CFB_IMAGEBLIT + help + This is the framebuffer device for the Sun XVR-500 and similar + graphics cards based upon the 3DLABS Wildcat chipset. The driver + only works on sparc64 systems where the system firwmare has + mostly initialized the card already. It is treated as a + completely dumb framebuffer device. + +config FB_XVR2500 + bool "Sun XVR-2500 3DLABS Wildcat support" + depends on (FB = y) && PCI && SPARC64 + select FB_CFB_FILLRECT + select FB_CFB_COPYAREA + select FB_CFB_IMAGEBLIT + help + This is the framebuffer device for the Sun XVR-2500 and similar + graphics cards based upon the 3DLABS Wildcat chipset. The driver + only works on sparc64 systems where the system firwmare has + mostly initialized the card already. It is treated as a + completely dumb framebuffer device. + config FB_PVR2 tristate "NEC PowerVR 2 display support" depends on FB && SH_DREAMCAST @@ -674,6 +833,22 @@ working with S1D13806). Product specs at <http://www.erd.epson.com/vdc/html/legacy_13xxx.htm> +config FB_ATMEL + tristate "AT91/AT32 LCD Controller support" + depends on FB && (ARCH_AT91SAM9261 || ARCH_AT91SAM9263 || AVR32) + select FB_CFB_FILLRECT + select FB_CFB_COPYAREA + select FB_CFB_IMAGEBLIT + help + This enables support for the AT91/AT32 LCD Controller. + +config FB_INTSRAM + bool "Frame Buffer in internal SRAM" + depends on FB_ATMEL && ARCH_AT91SAM9261 + help + Say Y if you want to map Frame Buffer in internal SRAM. Say N if you want + to let frame buffer in external SDRAM. + config FB_NVIDIA tristate "nVidia Framebuffer Support" depends on FB && PCI @@ -683,6 +858,7 @@ select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT select BITREVERSE + select VGASTATE help This driver supports graphics boards with the nVidia chips, TNT and newer. For very old chipsets, such as the RIVA128, then use @@ -705,6 +881,15 @@ independently validate video mode parameters, you should say Y here. +config FB_NVIDIA_DEBUG + bool "Lots of debug output" + depends on FB_NVIDIA + default n + help + Say Y here if you want the nVidia driver to output all sorts + of debugging information to provide to the maintainer when + something goes wrong. + config FB_NVIDIA_BACKLIGHT bool "Support for backlight control" depends on FB_NVIDIA @@ -721,6 +906,7 @@ select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT select BITREVERSE + select VGASTATE help This driver supports graphics boards with the nVidia Riva/Geforce chips. @@ -743,7 +929,7 @@ here. config FB_RIVA_DEBUG - bool "Lots of debug output from Riva(nVidia) driver" + bool "Lots of debug output" depends on FB_RIVA default n help @@ -767,6 +953,7 @@ select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT + select VGASTATE help This driver supports the on-board graphics built in to the Intel 810 and 815 chipsets. Say Y if you have and plan to use such a board. @@ -806,6 +993,22 @@ select FB_DDC help +config FB_LE80578 + tristate "Intel LE80578 (Vermilion) support" + depends on FB && PCI && X86 + select FB_MODE_HELPERS + select FB_CFB_FILLRECT + select FB_CFB_COPYAREA + select FB_CFB_IMAGEBLIT + help + This driver supports the LE80578 (Vermilion Range) chipset + +config FB_CARILLO_RANCH + tristate "Intel Carillo Ranch support" + depends on FB_LE80578 && FB && PCI && X86 + help + This driver supports the LE80578 (Carillo Ranch) board + config FB_INTEL tristate "Intel 830M/845G/852GM/855GM/865G/915G/945G support (EXPERIMENTAL)" depends on FB && EXPERIMENTAL && PCI && X86 @@ -1077,7 +1280,7 @@ config FB_ATY_CT bool "Mach64 CT/VT/GT/LT (incl. 3D RAGE) support" depends on PCI && FB_ATY - default y if SPARC64 && FB_PCI + default y if SPARC64 && PCI help Say Y here to support use of ATI's 64-bit Rage boards (or other boards based on the Mach64 CT, VT, GT, and LT chipsets) as a @@ -1117,6 +1320,8 @@ select FB_CFB_IMAGEBLIT select FB_TILEBLITTING select FB_SVGALIB + select VGASTATE + select FONT_8x16 if FRAMEBUFFER_CONSOLE ---help--- Driver for graphics boards with S3 Trio / S3 Virge chip. @@ -1127,6 +1332,7 @@ select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT + select VGASTATE help This driver supports notebooks and computers with S3 Savage PCI/AGP chips. @@ -1193,6 +1399,7 @@ select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT + select VGASTATE help This driver supports notebooks with NeoMagic PCI chips. Say Y if you have such a graphics card. @@ -1252,6 +1459,20 @@ Please read the <file:Documentation/fb/README-sstfb.txt> for supported options and other important info support. +config FB_VT8623 + tristate "VIA VT8623 support" + depends on FB && PCI + select FB_CFB_FILLRECT + select FB_CFB_COPYAREA + select FB_CFB_IMAGEBLIT + select FB_TILEBLITTING + select FB_SVGALIB + select VGASTATE + select FONT_8x16 if FRAMEBUFFER_CONSOLE + ---help--- + Driver for CastleRock integrated graphics core in the + VIA VT8623 [Apollo CLE266] chipset. + config FB_CYBLA tristate "Cyberblade/i1 support" depends on FB && PCI && X86_32 && !64BIT @@ -1305,9 +1526,26 @@ This will compile the Trident frame buffer device with acceleration functions. +config FB_ARK + tristate "ARK 2000PV support" + depends on FB && PCI + select FB_CFB_FILLRECT + select FB_CFB_COPYAREA + select FB_CFB_IMAGEBLIT + select FB_TILEBLITTING + select FB_SVGALIB + select VGASTATE + select FONT_8x16 if FRAMEBUFFER_CONSOLE + ---help--- + Driver for PCI graphics boards with ARK 2000PV chip + and ICS 5342 RAMDAC. + config FB_PM3 - tristate "Permedia3 support" - depends on FB && PCI && BROKEN + tristate "Permedia3 support (EXPERIMENTAL)" + depends on FB && PCI && EXPERIMENTAL + select FB_CFB_FILLRECT + select FB_CFB_COPYAREA + select FB_CFB_IMAGEBLIT help This is the frame buffer device driver for the 3DLabs Permedia3 chipset, used in Formac ProFormance III, 3DLabs Oxygen VX1 & @@ -1346,69 +1584,6 @@ source "drivers/video/geode/Kconfig" -config FB_FFB - bool "Creator/Creator3D/Elite3D support" - depends on FB_SBUS && SPARC64 - select FB_CFB_COPYAREA - select FB_CFB_IMAGEBLIT - help - This is the frame buffer device driver for the Creator, Creator3D, - and Elite3D graphics boards. - -config FB_TCX - bool "TCX (SS4/SS5 only) support" - depends on FB_SBUS - select FB_CFB_FILLRECT - select FB_CFB_COPYAREA - select FB_CFB_IMAGEBLIT - help - This is the frame buffer device driver for the TCX 24/8bit frame - buffer. - -config FB_CG14 - bool "CGfourteen (SX) support" - depends on FB_SBUS - select FB_CFB_FILLRECT - select FB_CFB_COPYAREA - select FB_CFB_IMAGEBLIT - help - This is the frame buffer device driver for the CGfourteen frame - buffer on Desktop SPARCsystems with the SX graphics option. - -config FB_P9100 - bool "P9100 (Sparcbook 3 only) support" - depends on FB_SBUS - select FB_CFB_FILLRECT - select FB_CFB_COPYAREA - select FB_CFB_IMAGEBLIT - help - This is the frame buffer device driver for the P9100 card - supported on Sparcbook 3 machines. - -config FB_LEO - bool "Leo (ZX) support" - depends on FB_SBUS - select FB_CFB_FILLRECT - select FB_CFB_COPYAREA - select FB_CFB_IMAGEBLIT - help - This is the frame buffer device driver for the SBUS-based Sun ZX - (leo) frame buffer cards. - -config FB_PCI - bool "PCI framebuffers" - depends on (FB = y) && PCI && SPARC - -config FB_IGA - bool "IGA 168x display support" - depends on SPARC32 && FB_PCI - select FB_CFB_FILLRECT - select FB_CFB_COPYAREA - select FB_CFB_IMAGEBLIT - help - This is the framebuffer device for the INTERGRAPHICS 1680 and - successor frame buffer cards. - config FB_HIT tristate "HD64461 Frame Buffer support" depends on FB && HD64461 @@ -1506,7 +1681,7 @@ This driver is also available as a module ( = code which can be inserted and removed from the running kernel whenever you want). The module will be called pxafb. If you want to compile it as a module, - say M here and read <file:Documentation/modules.txt>. + say M here and read <file:Documentation/kbuild/modules.txt>. If unsure, say N. @@ -1559,7 +1734,7 @@ This driver is also available as a module ( = code which can be inserted and removed from the running kernel whenever you want). The module will be called w100fb. If you want to compile it as a module, - say M here and read <file:Documentation/modules.txt>. + say M here and read <file:Documentation/kbuild/modules.txt>. If unsure, say N. @@ -1576,7 +1751,7 @@ This driver is also available as a module ( = code which can be inserted and removed from the running kernel whenever you want). The module will be called s3c2410fb. If you want to compile it as a module, - say M here and read <file:Documentation/modules.txt>. + say M here and read <file:Documentation/kbuild/modules.txt>. If unsure, say N. config FB_S3C2410_DEBUG @@ -1632,9 +1807,10 @@ config FB_PS3 bool "PS3 GPU framebuffer driver" depends on (FB = y) && PS3_PS3AV - select FB_CFB_FILLRECT - select FB_CFB_COPYAREA - select FB_CFB_IMAGEBLIT + select FB_SYS_FILLRECT + select FB_SYS_COPYAREA + select FB_SYS_IMAGEBLIT + select FB_SYS_FOPS ---help--- Include support for the virtual frame buffer in the PS3 platform. @@ -1648,13 +1824,25 @@ The default value can be overridden on the kernel command line using the "ps3fb" option (e.g. "ps3fb=9M"); -config FB_VIRTUAL - tristate "Virtual Frame Buffer support (ONLY FOR TESTING!)" - depends on FB +config FB_XILINX + tristate "Xilinx frame buffer support" + depends on FB && XILINX_VIRTEX select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT ---help--- + Include support for the Xilinx ML300/ML403 reference design + framebuffer. ML300 carries a 640*480 LCD display on the board, + ML403 uses a standard DB15 VGA connector. + +config FB_VIRTUAL + tristate "Virtual Frame Buffer support (ONLY FOR TESTING!)" + depends on FB + select FB_SYS_FILLRECT + select FB_SYS_COPYAREA + select FB_SYS_IMAGEBLIT + select FB_SYS_FOPS + ---help--- This is a `virtual' frame buffer device. It operates on a chunk of unswappable kernel memory instead of on the memory of a graphics board. This means you cannot see any output sent to this frame |