diff --git a/drivers/video/fbdev/Kconfig b/drivers/video/fbdev/Kconfig index e6d16d6..bda964b 100644 --- a/drivers/video/fbdev/Kconfig +++ b/drivers/video/fbdev/Kconfig @@ -809,6 +809,12 @@ config FB_GBE_MEM This is the amount of memory reserved for the framebuffer, which can be any value between 1MB and 8MB. +config FB_ODYSSEY + tristate "SGI Odyssey graphics support" + depends on FB && (SGI_IP30 || SGI_IP35) + help + SGI Odyssey (VPro V6/V8/V10/V12) graphics card support. + config FB_SBUS bool "SBUS and UPA framebuffers" depends on (FB = y) && SPARC diff --git a/drivers/video/fbdev/Makefile b/drivers/video/fbdev/Makefile index 50ed1b4..d626628e 100644 --- a/drivers/video/fbdev/Makefile +++ b/drivers/video/fbdev/Makefile @@ -132,6 +132,7 @@ obj-$(CONFIG_FB_PUV3_UNIGFX) += fb-puv3.o obj-$(CONFIG_FB_HYPERV) += hyperv_fb.o obj-$(CONFIG_FB_OPENCORES) += ocfb.o obj-$(CONFIG_FB_SM712) += sm712fb.o +obj-$(CONFIG_FB_ODYSSEY) += odyssey.o # Platform or fallback drivers go here obj-$(CONFIG_FB_UVESA) += uvesafb.o diff --git a/drivers/video/fbdev/odyssey.c b/drivers/video/fbdev/odyssey.c new file mode 100644 index 0000000..6903450 --- /dev/null +++ b/drivers/video/fbdev/odyssey.c @@ -0,0 +1,897 @@ +/* + * drivers/video/fbdev/odyssey.c -- SGI Odyssey/VPro Graphics + * + * Copyright (c) 2005 by Stanislaw Skowronek + * Copyright (c) 2007-2009 by Johannes Dickgreber (platform_driver conversion) + * Copyright (c) 2014 by Joshua Kinard (Fixes, Maintenance) + * + * This driver, as most of the IP30 (SGI Octane) port, is a result of massive + * amounts of reverse engineering and trial-and-error. If anyone is interested + * in helping with it, please contact me: . + * + * Note: the driver is specialcased for 8x16 font (will be a bit faster). + * + * Odyssey is a really cool graphics device. It is a dual-chip OpenGL + * implementation with ARB_imaging support, and overall a very elegant design. + * + * This file is subject to the terms and conditions of the GNU General Public + * License. See the file COPYING in the main directory of this archive for + * more details. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include