diff --git a/drivers/video/fbdev/Kconfig b/drivers/video/fbdev/Kconfig index 85266f32a6ba..7430a82492dc 100644 --- a/drivers/video/fbdev/Kconfig +++ b/drivers/video/fbdev/Kconfig @@ -731,6 +731,12 @@ config FB_IMPACT help SGI Impact (MardiGras/MGRAS) graphics card support. +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 fe6e00846599..67fe1e90b9a3 100644 --- a/drivers/video/fbdev/Makefile +++ b/drivers/video/fbdev/Makefile @@ -127,6 +127,7 @@ obj-$(CONFIG_FB_OPENCORES) += ocfb.o obj-$(CONFIG_FB_SM712) += sm712fb.o obj-$(CONFIG_FB_IMPACT) += impact.o obj-$(CONFIG_FB_IMPACT_EARLY) += impact_early.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 000000000000..c33e936b28d6 --- /dev/null +++ b/drivers/video/fbdev/odyssey.c @@ -0,0 +1,923 @@ +/* + * 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