diff options
author | Geert Uytterhoeven <Geert.Uytterhoeven@sonycom.com> | 2007-02-12 09:55:23 +0100 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-02-12 18:48:44 +0100 |
commit | 310d8c11126d21e417206c874c6382c44ece1baa (patch) | |
tree | f09e4f821a34346f412689d4da365688fad7ba89 /include | |
parent | [PATCH] ps3: Preallocate bootmem memory for ps3fb (diff) | |
download | linux-310d8c11126d21e417206c874c6382c44ece1baa.tar.xz linux-310d8c11126d21e417206c874c6382c44ece1baa.zip |
[PATCH] ps3: Virtual Frame Buffer Driver
Add the PS3 Virtual Frame Buffer Driver.
As the actual graphics hardware cannot be accessed directly by Linux, ps3fb
uses a virtual frame buffer in main memory. The actual screen image is copied
to graphics memory by the GPU on every vertical blank, by making a hypervisor
call.
Signed-off-by: Geert Uytterhoeven <Geert.Uytterhoeven@sonycom.com>
Cc: James Simmons <jsimmons@infradead.org>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Paul Mackerras <paulus@samba.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'include')
-rw-r--r-- | include/asm-powerpc/Kbuild | 1 | ||||
-rw-r--r-- | include/asm-powerpc/ps3fb.h | 44 |
2 files changed, 45 insertions, 0 deletions
diff --git a/include/asm-powerpc/Kbuild b/include/asm-powerpc/Kbuild index 703970fb0ec0..4869513b872f 100644 --- a/include/asm-powerpc/Kbuild +++ b/include/asm-powerpc/Kbuild @@ -23,6 +23,7 @@ header-y += linkage.h header-y += resource.h header-y += sigcontext.h header-y += statfs.h +header-y += ps3fb.h unifdef-y += a.out.h unifdef-y += asm-compat.h diff --git a/include/asm-powerpc/ps3fb.h b/include/asm-powerpc/ps3fb.h new file mode 100644 index 000000000000..3f121fe4010d --- /dev/null +++ b/include/asm-powerpc/ps3fb.h @@ -0,0 +1,44 @@ +/* + * Copyright (C) 2006 Sony Computer Entertainment Inc. + * Copyright 2006, 2007 Sony Corporation + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published + * by the Free Software Foundation; version 2 of the License. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#ifndef _ASM_POWERPC_PS3FB_H_ +#define _ASM_POWERPC_PS3FB_H_ + +#include <linux/ioctl.h> + +/* ioctl */ +#define PS3FB_IOCTL_SETMODE _IOW('r', 1, int) /* set video mode */ +#define PS3FB_IOCTL_GETMODE _IOR('r', 2, int) /* get video mode */ +#define PS3FB_IOCTL_SCREENINFO _IOR('r', 3, int) /* get screen info */ +#define PS3FB_IOCTL_ON _IO('r', 4) /* use IOCTL_FSEL */ +#define PS3FB_IOCTL_OFF _IO('r', 5) /* return to normal-flip */ +#define PS3FB_IOCTL_FSEL _IOW('r', 6, int) /* blit and flip request */ + +#ifndef FBIO_WAITFORVSYNC +#define FBIO_WAITFORVSYNC _IOW('F', 0x20, __u32) /* wait for vsync */ +#endif + +struct ps3fb_ioctl_res { + __u32 xres; /* frame buffer x_size */ + __u32 yres; /* frame buffer y_size */ + __u32 xoff; /* margine x */ + __u32 yoff; /* margine y */ + __u32 num_frames; /* num of frame buffers */ +}; + +#endif /* _ASM_POWERPC_PS3FB_H_ */ |