Resurrect Intel740 driver: i740fb
RFC PATCH v2 1/1 Resurrect Intel740 driver: i740fb
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
drivers/video/Kconfig +11 -0
@@ -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
drivers/video/i740fb.c new file +1259 -0
1,259 lines not on this page · raw message
drivers/video/i740_reg.h new file +309 -0
309 lines not on this page · raw message
Signature · 1 line
Ondrej Zary
Quoted 4 lines · Ondrej Zary
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?
When checkpatch.pl and sanity conflict, sanity should generally win.
-Andi
Signature · 1 line
[email protected] -- Speaking for myself only
Quoted 3 lines
- 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?
X11 fbdev driver ?
Alan
Quoted 5 lines · Alan Cox
Quoted 3 lines
- 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?
X11 fbdev driver ?
Thanks, completely forgot about that. It works fine even in 24bpp.
Quoted 1 line
Alan
Signature · 1 line
Ondrej Zary
Quoted 8 lines · Ondrej Zary
Quoted 5 lines · Alan Cox
Quoted 3 lines
- 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?
X11 fbdev driver ?
Thanks, completely forgot about that. It works fine even in 24bpp.
Beware that Xorg defaults to 32 bpp for depth 24; did you verify in Xorg.0.log that it was really using 24 bpp?
Signature · 2 lines
Earthling Michel Dänzer | http://www.amd.com Libre software enthusiast | Debian, X and DRI developer
Quoted 5 lines · Michel Dänzer
Quoted 4 lines · Ondrej Zary
Quoted 3 lines · Alan Cox
Quoted 3 lines
- 24bpp modes still don't work in fbtest but it looks like fbtest bug!
Quoted 8 lines
Quoted 5 lines
Quoted 3 lines
Quoted 1 line
Is there any better way to test fb drivers than fbtest?
X11 fbdev driver ?
Thanks, completely forgot about that. It works fine even in 24bpp.
Beware that Xorg defaults to 32 bpp for depth 24; did you verify in Xorg.0.log that it was really using 24 bpp?
Yes, found that very quickly as I was testing at 1280x1024 and the card cannot do 32bpp there. I had to set both DefaultDepth and DefaultFbBpp to 24 for X11 to run.
Signature · 1 line
Ondrej Zary
Quoted 33 lines · Ondrej Zary
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
drivers/video/Kconfig 2011-07-30 11:34:10.000000000 +0200 renamed from drivers/video/Kconfig 2011-04-06 03:30:43.000000000 +0200 +0
-0@@ -1117,6 +1117,17 @@ config FB_RIVA_BACKLIGHThelp
Say Y here if you want to control the backlight of your display.drivers/video/Kconfig 2011-07-30 11:34:10.000000000 +0200 renamed from drivers/video/Kconfig 2011-04-06 03:30:43.000000000 +0200 +1
-0+config FB_I740
drivers/video/Kconfig 2011-07-30 11:34:10.000000000 +0200
Quoted 10 lines
drivers/video/Kconfig 2011-07-30 11:34:10.000000000 +0200 renamed from drivers/video/Kconfig 2011-04-06 03:30:43.000000000 +0200 +10
-0+ 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. +
It shouldn't need AGP_INTEL, as its an AGP card not an integrated chipset, it might need just AGP.
Dave.
Quoted 1 line · Dave Airlie
On Sun, Aug 21, 2011 at 9:42 PM, Ondrej Zary <[email protected]>
Quoted 35 lines · wrote:
Quoted 35 lines
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.
Quoted 14 lines
drivers/video/Kconfig config FB_RIVA_BACKLIGHT · line 1130
Quoted 11 lines
drivers/video/Kconfig +11
-0+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. +It shouldn't need
AGP_INTEL, as its an AGP card not an integrated chipset, it might need just AGP.
Oops, I copied that from I810 and then forgot about it...will fix that to really match the driver requirements.
BTW. i740 cards are really picky, they don't even POST with most boards that don't have i440LX/EX or i440BX/ZX chipsets.
Signature · 1 line
Ondrej Zary