From patchwork Sun Aug 21 20:42:06 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ondrej Zary X-Patchwork-Id: 1083862 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by demeter1.kernel.org (8.14.4/8.14.4) with ESMTP id p7LKgXxv030958 for ; Sun, 21 Aug 2011 20:42:34 GMT Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755849Ab1HUUmc (ORCPT ); Sun, 21 Aug 2011 16:42:32 -0400 Received: from mail1-out1.atlantis.sk ([80.94.52.55]:57474 "EHLO mail.atlantis.sk" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1755813Ab1HUUma (ORCPT ); Sun, 21 Aug 2011 16:42:30 -0400 Received: (qmail 19656 invoked from network); 21 Aug 2011 20:42:29 -0000 Received: from unknown (HELO pentium) (rainbow@rainbow-software.org@89.173.145.150) by mail.atlantis.sk with AES256-SHA encrypted SMTP; 21 Aug 2011 20:42:29 -0000 Subject: [RFC PATCH v2] Resurrect Intel740 driver: i740fb Content-Disposition: inline To: linux-fbdev@vger.kernel.org Cc: Kernel development list , Paul Mundt , Florian Tobias Schandinat From: Ondrej Zary Date: Sun, 21 Aug 2011 22:42:06 +0200 MIME-Version: 1.0 Message-Id: <201108212242.12717.linux@rainbow-software.org> Sender: linux-fbdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-fbdev@vger.kernel.org X-Greylist: IP, sender and recipient auto-whitelisted, not delayed by milter-greylist-4.2.6 (demeter1.kernel.org [140.211.167.41]); Sun, 21 Aug 2011 20:42:34 +0000 (UTC) Hello, this is an v2 attempt to resurrect an old (like 2.4.19) out-of-tree driver for Intel740 graphics cards and modify it for recent kernels. The old driver is located at: http://sourceforge.net/projects/i740fbdev/files/ It was easier to create a new driver based on skeletonfb, using most of the low level HW code from the old driver. The DDC code is completely new. The driver was tested on two 8MB cards: ManLi and Diamond Stealth II G460 The i740_calc_fifo() function formatting is nice but does not pass checkpatch. Making it checkpatch-compliant makes the code look ugly. How to make it both nice and compatible with Linux coding style? (the remaining // comments mark things that need attention - missing xpan and suspend/resume) Changes in v2: - fixed 15bpp (16bpp 555) mode - not working 1280x1024-32 is not a bug but card's feature, it's now handled correctly by the driver - 24bpp modes still don't work in fbtest but it looks like fbtest bug! Is there any better way to test fb drivers than fbtest? no signed-off-by yet --- linux-2.6.39-rc2-orig/drivers/video/Kconfig 2011-04-06 03:30:43.000000000 +0200 +++ linux-2.6.39-rc2/drivers/video/Kconfig 2011-07-30 11:34:10.000000000 +0200 @@ -1117,6 +1117,17 @@ config FB_RIVA_BACKLIGHT help Say Y here if you want to control the backlight of your display. +config FB_I740 + tristate "Intel740 support (EXPERIMENTAL)" + depends on EXPERIMENTAL && FB && PCI && X86_32 && AGP_INTEL + select FB_MODE_HELPERS + select FB_CFB_FILLRECT + select FB_CFB_COPYAREA + select FB_CFB_IMAGEBLIT + select VGASTATE + help + This driver supports graphics cards based on Intel740 chip. + config FB_I810 tristate "Intel 810/815 support (EXPERIMENTAL)" depends on EXPERIMENTAL && FB && PCI && X86_32 && AGP_INTEL --- /dev/null 2011-08-21 21:21:40.810604642 +0200 +++ linux-2.6.39-rc2/drivers/video/i740fb.c 2011-08-20 14:13:30.000000000 +0200 @@ -0,0 +1,1259 @@ +/* + * i740fb - framebuffer driver for Intel740 + * Copyright (c) 2011 Ondrej Zary + * + * Based on old i740fb driver (c) 2001-2002 Andrey Ulanov which was partially based on: + * VGA 16-color framebuffer driver (c) 1999 Ben Pfaff and Petr Vandrovec + * i740 driver from XFree86 (c) 1998-1999 Precision Insight, Inc., Cedar Park, Texas. + * i740fb by Patrick LERDA, v0.9 + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include