/* * intelfb * * Linux framebuffer driver for Intel(R) 830M/845G/852GM/855GM/865G * integrated graphics chips. * * Copyright (C) 2002, 2003 David Dawes * * This driver consists of two parts. The first part (intelfbdrv.c) provides * the basic fbdev interfaces, is derived in part from the radeonfb and * vesafb drivers, and is covered by the GPL. The second part (intelfbhw.c) * provides the code to program the hardware. Most of it is derived from * the i810/i830 XFree86 driver. The HW-specific code is covered here * under a dual license (GPL and MIT/XFree86 license). * * Author: David Dawes * */ /* $DHD: intelfb/intelfbdrv.c,v 1.15 2003/02/06 17:50:08 dawes Exp $ */ /* $TG$ */ /* * Changes: * 01/2003 - Initial driver (0.1.0), no mode switching, no acceleration. * This initial version is a basic core that works a lot like * the vesafb driver. It must be built-in to the kernel, * and the initial video mode must be set with vga=XXX at * boot time. (David Dawes) * * 01/2003 - Version 0.2.0: Mode switching added, colormap support * implemented, Y panning, and soft screen blanking implemented. * No acceleration yet. (David Dawes) * * 01/2003 - Version 0.3.0: fbcon acceleration support added. Module * option handling added. (David Dawes) * * 01/2003 - Version 0.4.0: fbcon HW cursor support added. (David Dawes) * * 01/2003 - Version 0.4.1: Add auto-generation of built-in modes. * (David Dawes) * * 02/2003 - Version 0.4.2: Add check for active non-CRT devices, and * mode validation checks. (David Dawes) * * 02/2003 - Version 0.4.3: Check when the VC is in graphics mode so that * acceleration is disabled while an XFree86 server is running. * (David Dawes) * * 02/2003 - Version 0.4.4: Monitor DPMS support. (David Dawes) * * 02/2003 - Version 0.4.5: Basic XFree86 + fbdev working. (David Dawes) * * 02/2003 - Version 0.5.0: Modify to work with the 2.5.32 kernel as well * as 2.4.x kernels. (David Dawes) * * 02/2003 - Version 0.6.0: Split out HW-specifics into a separate file. * (David Dawes) * * 02/2003 - Version 0.7.0: Test on 852GM/855GM. Acceleration and HW * cursor are disabled on this platform. (David Dawes) * * 02/2003 - Version 0.7.1: Test on 845G. Acceleration is disabled * on this platform. (David Dawes) * * 02/2003 - Version 0.7.2: Test on 830M. Acceleration and HW * cursor are disabled on this platform. (David Dawes) * * 02/2003 - Version 0.7.3: Fix 8-bit modes for mobile platforms * (David Dawes) * * 02/2003 - Version 0.7.4: Add checks for FB and FBCON_HAS_CFB* configured * in the kernel, and add mode bpp verification and default * bpp selection based on which FBCON_HAS_CFB* are configured. * (David Dawes) * * 02/2003 - Version 0.7.5: Add basic package/install scripts based on the * DRI packaging scripts. (David Dawes) * * TODO: * - * * Wish List: * - Check clock limits for 845G and 830M. * - Test on SMP config. * - Check if any functions/data should be __devinit, etc. * - See if it's feasible to get/use DDC/EDID info. * - MTRR support. * - See if module unloading can work. * - See if driver works built-in to 2.5.32 kernel. * - Check acceleration problems on 830M-855GM. * - Add gtf support so that arbitrary modes can be calculated. * - Port driver to latest 2.5.x fbdev interface. */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include