From 6b2cdbe52ff2e459d0469f30f9e2f4a15f95bd3b Mon Sep 17 00:00:00 2001 From: Tanmay Upadhyay Date: Wed, 2 Dec 2009 10:54:13 +0530 Subject: [PATCH] OpenRD-Client: Volari Z11 driver added The code is the same as the one present in 2.6.22.18 kernel. Compilation is a bit noisy. But this is a temporary stuff to get going till XGI provides the mail line driver. Signed-off-by: Tanmay Upadhyay --- drivers/video/Kconfig | 12 + drivers/video/Makefile | 1 + drivers/video/xgi/Makefile | 4 + drivers/video/xgi/XGI.h | 10 + drivers/video/xgi/XGI_accel.c | 596 +++ drivers/video/xgi/XGI_accel.h | 511 ++ drivers/video/xgi/XGI_main.h | 1042 ++++ drivers/video/xgi/XGI_main_26.c | 3790 +++++++++++++ drivers/video/xgi/XGIfb.h | 215 + drivers/video/xgi/floatlib.c | 946 ++++ drivers/video/xgi/osdef.h | 153 + drivers/video/xgi/vb_def.h | 1017 ++++ drivers/video/xgi/vb_ext.c | 1375 +++++ drivers/video/xgi/vb_ext.h | 32 + drivers/video/xgi/vb_init.c | 3376 ++++++++++++ drivers/video/xgi/vb_init.h | 7 + drivers/video/xgi/vb_release.txt | 44 + drivers/video/xgi/vb_setmode.c |10829 ++++++++++++++++++++++++++++++++++++++ drivers/video/xgi/vb_setmode.h | 40 + drivers/video/xgi/vb_struct.h | 518 ++ drivers/video/xgi/vb_table.h | 4406 ++++++++++++++++ drivers/video/xgi/vb_util.c | 287 + drivers/video/xgi/vb_util.h | 16 + drivers/video/xgi/vgatypes.h | 325 ++ 24 files changed, 29552 insertions(+), 0 deletions(-) create mode 100644 drivers/video/xgi/Makefile create mode 100644 drivers/video/xgi/XGI.h create mode 100644 drivers/video/xgi/XGI_accel.c create mode 100644 drivers/video/xgi/XGI_accel.h create mode 100644 drivers/video/xgi/XGI_main.h create mode 100644 drivers/video/xgi/XGI_main_26.c create mode 100644 drivers/video/xgi/XGIfb.h create mode 100644 drivers/video/xgi/floatlib.c create mode 100644 drivers/video/xgi/osdef.h create mode 100644 drivers/video/xgi/vb_def.h create mode 100644 drivers/video/xgi/vb_ext.c create mode 100644 drivers/video/xgi/vb_ext.h create mode 100644 drivers/video/xgi/vb_init.c create mode 100644 drivers/video/xgi/vb_init.h create mode 100644 drivers/video/xgi/vb_release.txt create mode 100644 drivers/video/xgi/vb_setmode.c create mode 100644 drivers/video/xgi/vb_setmode.h create mode 100644 drivers/video/xgi/vb_struct.h create mode 100644 drivers/video/xgi/vb_table.h create mode 100644 drivers/video/xgi/vb_util.c create mode 100644 drivers/video/xgi/vb_util.h create mode 100644 drivers/video/xgi/vgatypes.h diff --git a/drivers/video/Kconfig b/drivers/video/Kconfig index 5a5c303..f47305c 100644 --- a/drivers/video/Kconfig +++ b/drivers/video/Kconfig @@ -1488,6 +1488,18 @@ config FB_SIS_315 (315/H/PRO, 55x, 650, 651, 740, 330, 661, 741, 760, 761) as well as XGI V3XT, V5, V8 and Z7. +config FB_XGI + tristate "XGI display support" + depends on FB && PCI + select FB_CFB_FILLRECT + select FB_CFB_COPYAREA + select FB_CFB_IMAGEBLIT + help + This driver supports notebooks with XGI PCI chips. + Say Y if you have such a graphics card. + To compile this driver as a module, choose M here: the + module will be called XGIfb. + config FB_VIA tristate "VIA UniChrome (Pro) and Chrome9 display support" depends on FB && PCI diff --git a/drivers/video/Makefile b/drivers/video/Makefile index 4ecb30c..36efbdd 100644 --- a/drivers/video/Makefile +++ b/drivers/video/Makefile @@ -42,6 +42,7 @@ obj-$(CONFIG_FB_ATY) += aty/ macmodes.o obj-$(CONFIG_FB_ATY128) += aty/ macmodes.o obj-$(CONFIG_FB_RADEON) += aty/ obj-$(CONFIG_FB_SIS) += sis/ +obj-$(CONFIG_FB_XGI) += xgi/ obj-$(CONFIG_FB_VIA) += via/ obj-$(CONFIG_FB_KYRO) += kyro/ obj-$(CONFIG_FB_SAVAGE) += savage/ diff --git a/drivers/video/xgi/Makefile b/drivers/video/xgi/Makefile new file mode 100644 index 0000000..b5375fc --- /dev/null +++ b/drivers/video/xgi/Makefile @@ -0,0 +1,4 @@ +obj-$(CONFIG_FB_XGI) += XGIfb.o + +XGIfb-objs := XGI_main_26.o XGI_accel.o vb_init.o vb_setmode.o vb_util.o vb_ext.o floatlib.o + diff --git a/drivers/video/xgi/XGI.h b/drivers/video/xgi/XGI.h new file mode 100644 index 0000000..87803dd --- /dev/null +++ b/drivers/video/xgi/XGI.h @@ -0,0 +1,10 @@ +#ifndef _XGI_H +#define _XGI_H + +#if 1 +#define TWDEBUG(x) +#else +#define TWDEBUG(x) printk(KERN_INFO x "\n"); +#endif + +#endif diff --git a/drivers/video/xgi/XGI_accel.c b/drivers/video/xgi/XGI_accel.c new file mode 100644 index 0000000..6bbb3bf --- /dev/null +++ b/drivers/video/xgi/XGI_accel.c @@ -0,0 +1,596 @@ +/* + * XGI 300/630/730/540/315/550/650/740 frame buffer driver + * for Linux kernels 2.4.x and 2.5.x + * + * 2D acceleration part + * + * Based on the X driver's XGI300_accel.c which is + * Copyright Xavier Ducoin + * Copyright 2002 by Thomas Winischhofer, Vienna, Austria + * and XGI310_accel.c which is + * Copyright 2002 by Thomas Winischhofer, Vienna, Austria + * + * Author: Thomas Winischhofer + * (see http://www.winischhofer.net/ + * for more information and updates) + */ + +//#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +/* +#if LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0) +#include +#else +#include