/* * linux/drivers/video/sstfb.c -- voodoo graphics frame buffer * * Copyright (c) 2000-2002 Ghozlane Toumi * * Created 15 Jan 2000 by Ghozlane Toumi * * Contributions (and many thanks) : * * 03/2001 James Simmons * 04/2001 Paul Mundt * 05/2001 Urs Ganse * (initial work on voodoo2 port, interlace) * 09/2002 Helge Deller * (enable driver on big-endian machines (hppa), ioctl fixes) * 12/2002 Helge Deller * (port driver to new frambuffer infrastructure) * 01/2003 Helge Deller * (initial work on fb hardware acceleration for voodoo2) * 08/2006 Alan Cox * Remove never finished and bogus 24/32bit support * Clean up macro abuse * Minor tidying for format. * 12/2006 Helge Deller * add /sys/class/graphics/fbX/vgapass sysfs-interface * add module option "mode_option" to set initial screen mode * use fbdev default videomode database * remove debug functions from ioctl */ /* * The voodoo1 has the following memory mapped address space: * 0x000000 - 0x3fffff : registers (4MB) * 0x400000 - 0x7fffff : linear frame buffer (4MB) * 0x800000 - 0xffffff : texture memory (8MB) */ /* * debug info * SST_DEBUG : enable debugging * SST_DEBUG_REG : debug registers * 0 : no debug * 1 : dac calls, [un]set_bits, FbiInit * 2 : insane debug level (log every register read/write) * SST_DEBUG_FUNC : functions * 0 : no debug * 1 : function call / debug ioctl * 2 : variables * 3 : flood . you don't want to do that. trust me. * SST_DEBUG_VAR : debug display/var structs * 0 : no debug * 1 : dumps display, fb_var * * sstfb specific ioctls: * toggle vga (0x46db) : toggle vga_pass_through */ #undef SST_DEBUG /* * Includes */ #include #include #include #include #include #include #include #include #include #include