[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 <[email protected]>
Cc: James Simmons <[email protected]>
Cc: Benjamin Herrenschmidt <[email protected]>
Cc: Paul Mackerras <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
This commit is contained in:
Geert Uytterhoeven 2007-02-12 00:55:23 -08:00 • committed by Linus Torvalds
commit 310d8c1112
5 changed files with 1295 additions and 0 deletions

View file

@ -1598,6 +1598,26 @@ config FB_IBM_GXT4500
Say Y here to enable support for the IBM GXT4500P display
adaptor, found on some IBM System P (pSeries) machines.
config FB_PS3
bool "PS3 GPU framebuffer driver"
depends on FB && PPC_PS3
select PS3_PS3AV
select FB_CFB_FILLRECT
select FB_CFB_COPYAREA
select FB_CFB_IMAGEBLIT
---help---
Include support for the virtual frame buffer in the PS3 platform.
config FB_PS3_DEFAULT_SIZE_M
int "PS3 default frame buffer size (in MiB)"
depends on FB_PS3
default 18
---help---
This is the default size (in MiB) of the virtual frame buffer in
the PS3.
The default value can be overridden on the kernel command line
using the "ps3fb" option (e.g. "ps3fb=9M");
config FB_VIRTUAL
tristate "Virtual Frame Buffer support (ONLY FOR TESTING!)"
depends on FB

View file

@ -97,6 +97,7 @@ obj-$(CONFIG_FB_S3C2410) += s3c2410fb.o
obj-$(CONFIG_FB_PNX4008_DUM) += pnx4008/
obj-$(CONFIG_FB_PNX4008_DUM_RGB) += pnx4008/
obj-$(CONFIG_FB_IBM_GXT4500) += gxt4500.o
obj-$(CONFIG_FB_PS3) += ps3fb.o
# Platform or fallback drivers go here
obj-$(CONFIG_FB_VESA) += vesafb.o

1229
drivers/video/ps3fb.c Normal file

File diff suppressed because it is too large Load diff