Skip to contentSkip to conversation

arkfb: New framebuffer driver for ARK Logic cards

PATCH In review Antonino A. Daplas 3 participants 4 messages May 5, 2007 – May 8, 2007

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 7/20 arkfb: New framebuffer driver for ARK Logic cards

From: Ondrej Zajicek <[email protected]>

This patch adds fbdev driver for graphics cards with ARK Logic 2000PV graphics chip with ICS 5342 ramdac.

---

 Documentation/fb/arkfb.txt |   68 +++
 drivers/video/Kconfig      |   14 +
 drivers/video/Makefile     |    1 
 drivers/video/arkfb.c      | 1192 ++++++++++++++++++++++++++++++++++++++++++++
 4 files changed, 1275 insertions(+), 0 deletions(-)
Documentation/fb/arkfb.txt new file +68 -0
new file mode 100644
index 0000000..e8487a9
@@ -0,0 +1,68 @@
+
+	arkfb - fbdev driver for ARK Logic chips
+	========================================
+
+
+Supported Hardware
+==================
+
+	ARK 2000PV chip
+	ICS 5342 ramdac
+
+	- only BIOS initialized VGA devices supported
+	- probably not working on big endian
+
+
+Supported Features
+==================
+
+	*  4 bpp pseudocolor modes (with 18bit palette, two variants)
+	*  8 bpp pseudocolor mode (with 18bit palette)
+	* 16 bpp truecolor modes (RGB 555 and RGB 565)
+	* 24 bpp truecolor mode (RGB 888)
+	* 32 bpp truecolor mode (RGB 888)
+	* text mode (activated by bpp = 0)
+	* doublescan mode variant (not available in text mode)
+	* panning in both directions
+	* suspend/resume support
+
+Text mode is supported even in higher resolutions, but there is limitation to
+lower pixclocks (i got maximum about 70 MHz, it is dependent on specific
+hardware). This limitation is not enforced by driver. Text mode supports 8bit
+wide fonts only (hardware limitation) and 16bit tall fonts (driver
+limitation). Unfortunately character attributes (like color) in text mode are
+broken for unknown reason, so its usefulness is limited.
+
+There are two 4 bpp modes. First mode (selected if nonstd == 0) is mode with
+packed pixels, high nibble first. Second mode (selected if nonstd == 1) is mode
+with interleaved planes (1 byte interleave), MSB first. Both modes support
+8bit wide fonts only (driver limitation).
+
+Suspend/resume works on systems that initialize video card during resume and
+if device is active (for example used by fbcon).
+
+
+Missing Features
+================
+(alias TODO list)
+
+	* secondary (not initialized by BIOS) device support
+   	* big endian support
+	* DPMS support
+	* MMIO support
+	* interlaced mode variant
+	* support for fontwidths != 8 in 4 bpp modes
+	* support for fontheight != 16 in text mode
+	* hardware cursor
+	* vsync synchronization
+	* feature connector support
+	* acceleration support (8514-like 2D)
+
+
+Known bugs
+==========
+
+	* character attributes (and cursor) in text mode are broken
+
+--
+Ondrej Zajicek <[email protected]>
drivers/video/Kconfig +14 -0
index c3b26a4..c3dab68 100644
@@ -1412,6 +1412,20 @@ config FB_TRIDENT_ACCEL
 	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
drivers/video/Makefile +1 -0
index 2caaee3..5f3e844 100644
@@ -59,6 +59,7 @@ obj-$(CONFIG_FB_CYBLA)            += cyb
 obj-$(CONFIG_FB_TRIDENT)          += tridentfb.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
drivers/video/arkfb.c new file +1192 -0

1,192 lines not on this page · raw message

-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/

#1 lore raw
Quoted 2 lines · On Sat, 05 May 2007 22:52:25 +0800 "Antonino A. Daplas" <[email protected]>…

This patch adds fbdev driver for graphics cards with ARK Logic 2000PV graphics chip with ICS 5342 ramdac.

also breaks with CONFIG_MTRR=n

-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/

#2 lore raw

PATCH 1/1 arkfb: Fix compile error if CONFIG_MTRR=n

Fix compile error if CONFIG_MTRR=n

---

Quoted 6 lines · Andrew Morton
Quoted 2 lines · On Sat, 05 May 2007 22:52:25 +0800 "Antonino A. Daplas" <[email protected]>…

This patch adds fbdev driver for graphics cards with ARK Logic 2000PV graphics chip with ICS 5342 ramdac.

also breaks with CONFIG_MTRR=n

 drivers/video/arkfb.c |    4 +---
 1 files changed, 1 insertions(+), 3 deletions(-)
drivers/video/arkfb.c +1 -3
index 7155508..a0c4d22 100644
@@ -1055,12 +1055,10 @@ err_enable_device:
 static void __devexit ark_pci_remove(struct pci_dev *dev)
 {
 	struct fb_info *info = pci_get_drvdata(dev);
+	struct arkfb_info *par = info->par;
 
 	if (info) {
-
 #ifdef CONFIG_MTRR
-		struct arkfb_info *par = info->par;
-
 		if (par->mtrr_reg >= 0) {
 			mtrr_del(par->mtrr_reg, 0, 0);
 			par->mtrr_reg = -1;

-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/

#3 lore raw

Re: [PATCH] arkfb: Fix compile error if CONFIG_MTRR=n

Quoted 1 line · Antonino A. Daplas

Fix compile error if CONFIG_MTRR=n

Thanks for fixes, I am sorry i didn't test it enough. There is one related bugfix:

drivers/video/arkfb.c +1 -1
diff -uprN -X linux-2.6.21-rc7-mm2/Documentation/dontdiff linux-2.6.21-rc7-mm2/drivers/video/arkfb.c linux-2.6.21-rc7-mm2-dev-fix/drivers/video/arkfb.c
@@ -122,7 +122,7 @@ MODULE_PARM_DESC(mtrr, "Enable write-com
 static int threshold = 4;
 
 module_param(threshold, int, 0644);
-MODULE_PARM_DESC(mtrr, "FIFO threshold");
+MODULE_PARM_DESC(threshold, "FIFO threshold");
 
 
 /* ------------------------------------------------------------------------- */
Signature · 11 lines
Elen sila lumenn' omentielvo

Ondrej 'SanTiago' Zajicek (email: [email protected], jabber: [email protected])
OpenPGP encrypted e-mails preferred (KeyID 0x11DEADC3, wwwkeys.pgp.net)
"To err is human -- to blame it on a computer is even more so."

-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/