android_kernel_motorola_sm6225/arch/arm
Eric Miao 198fc108ee [ARM] pxafb: add support for overlay1 and overlay2 as framebuffer devices
PXA27x and later processors support overlay1 and overlay2 on-top of the
base framebuffer (although under-neath the base is also possible). They
support palette and no-palette RGB formats, as well as YUV formats (only
available on overlay2). These overlays have dedicated DMA channels and
behave in a similar way as a framebuffer.

This heavily simplified and re-structured work is based on the original
pxafb_overlay.c (which is pending for mainline merge for a long time).

The major problems with this pxafb_overlay.c are (if you are interested
in the history):

  1. heavily redundant (the control logics for overlay1 and overlay2 are
     actually identical except for some small operations,  which are now
     abstracted into a 'pxafb_layer_ops' structure)

  2. a lot of useless and un-tested code (two workarounds which are now
     fixed on mature silicons)

  3. cursorfb is actually useless, hardware cursor should not be used
     this way, and the code was actually un-tested for a long time.

The code in this patch should be self-explanatory, I tried to add minimum
comments. As said, this is basically simplified, there are several things
still on the pending list:

  1. palette mode is un-supported and un-tested (although re-using the
     palette code of the base framebuffer is actually very easy now with
     previous clean-up patches)

  2. fb_pan_display for overlay(s) is un-supported

  3. the base framebuffer can actually be abstracted by 'pxafb_layer' as
     well, which will help further re-use of the code and keep a better
     and consistent structure. (This is the reason I named it 'pxafb_layer'
     instead of 'pxafb_overlay' or something alike)

See Documentation/fb/pxafb.txt for additional usage information.

Signed-off-by: Eric Miao <eric.miao@marvell.com>
Cc: Rodolfo Giometti <giometti@linux.it>
Signed-off-by: Eric Miao <ycmiao@ycmiao-hp520.(none)>
2008-12-29 18:00:04 +08:00
..
boot [ARM] pxa: add base PXA935 support due to CPUID change 2008-12-02 14:42:40 +08:00
common [ARM] locomo: export locomo_frontlight_set() 2008-12-02 14:43:35 +08:00
configs [ARM] pxa: add basic support for HP iPAQ h5000 2008-12-02 14:43:50 +08:00
include/asm Merge master.kernel.org:/home/rmk/linux-2.6-arm 2008-11-13 11:30:25 -08:00
kernel [ARM] fix naming of MODULE_START / MODULE_END 2008-11-06 17:13:47 +00:00
lib Merge branch 'ptebits' into devel 2008-10-09 21:31:56 +01:00
mach-aaec2000 [ARM] Move include/asm-arm/arch-* to arch/arm/*/include/mach 2008-08-07 09:55:48 +01:00
mach-at91 [ARM] 5326/1: AFEB9260: Fix for i2c_board_info structure 2008-10-30 15:43:42 +00:00
mach-clps711x [ARM] cdb89712: avoid namespace clashes with SRAM_ and BOOTROM_ constants 2008-11-13 15:05:03 +00:00
mach-clps7500 [ARM] cdb89712,clps7500,h720x: avoid namespace clash for FLASH_* constants 2008-11-13 15:04:52 +00:00
mach-davinci Merge branch 's3c-move' into devel 2008-10-14 22:24:51 +01:00
mach-ebsa110 [ARM] Convert asm/io.h to linux/io.h 2008-09-06 12:10:45 +01:00
mach-ep93xx [ARM] ep93xx: fix OHCI DMA mask 2008-10-30 14:41:48 +00:00
mach-footbridge Merge branch 'pxa-all' into devel 2008-10-09 21:33:02 +01:00
mach-h720x [ARM] cdb89712,clps7500,h720x: avoid namespace clash for FLASH_* constants 2008-11-13 15:04:52 +00:00
mach-imx [ARM] gpio_free might sleep, arm architecture 2008-10-30 14:41:50 +00:00
mach-integrator [ARM] integrator,realview,versatile: remove FLASH_* and EPROM_* constants 2008-11-13 14:47:59 +00:00
mach-iop13xx iop-adma: use iop_paranoia() for debug BUG_ONs 2008-11-11 13:12:33 -07:00
mach-iop32x [ARM] Convert asm/io.h to linux/io.h 2008-09-06 12:10:45 +01:00
mach-iop33x [ARM] Convert asm/io.h to linux/io.h 2008-09-06 12:10:45 +01:00
mach-ixp4xx [ARM] gpio_free might sleep, arm architecture 2008-10-30 14:41:50 +00:00
mach-ixp23xx Merge branch 'pxa-all' into devel 2008-10-09 21:33:02 +01:00
mach-ixp2000 genirq: fix name space collisions of nr_irqs in arch/* 2008-10-16 16:53:30 +02:00
mach-kirkwood [ARM] 5321/1: Kirkwood: fix typo in Makefile 2008-10-23 19:58:19 +01:00
mach-ks8695 [ARM] gpio_free might sleep, arm architecture 2008-10-30 14:41:50 +00:00
mach-l7200 [ARM] Move include/asm-arm/arch-* to arch/arm/*/include/mach 2008-08-07 09:55:48 +01:00
mach-lh7a40x Merge branch 'pxa-all' into devel 2008-10-09 21:33:02 +01:00
mach-loki Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm 2008-10-11 10:09:45 -07:00
mach-msm [ARM] msm: vreg interface to msm7k pmic 2008-10-22 02:41:00 -07:00
mach-mv78xx0 [ARM] mv78xx0: force link speed/duplex on eth2/eth3 2008-10-19 14:29:05 -04:00
mach-mx2 i.MX2: make SoC devices globally available 2008-09-09 10:19:41 +02:00
mach-mx3 [ARM] mx31ads: Add missing include 2008-10-30 15:58:09 +01:00
mach-netx Merge branch 'pxa-all' into devel 2008-10-09 21:33:02 +01:00
mach-ns9xxx [ARM] gpio_free might sleep, arm architecture 2008-10-30 14:41:50 +00:00
mach-omap1 Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm 2008-10-16 11:25:32 -07:00
mach-omap2 ARM: OMAP: Fix compiler warnings in gpmc.c 2008-11-04 13:35:06 -08:00
mach-orion5x [ARM] gpio_free might sleep, arm architecture 2008-10-30 14:41:50 +00:00
mach-pnx4008 [ARM] Convert asm/io.h to linux/io.h 2008-09-06 12:10:45 +01:00
mach-pxa [ARM] pxafb: add support for overlay1 and overlay2 as framebuffer devices 2008-12-29 18:00:04 +08:00
mach-realview [ARM] integrator,realview,versatile: remove FLASH_* and EPROM_* constants 2008-11-13 14:47:59 +00:00
mach-rpc [ARM] mm: enable sparsemem on clps7500 and RiscPC 2008-10-01 17:24:04 +01:00
mach-s3c2400 [ARM] Convert asm/io.h to linux/io.h 2008-09-06 12:10:45 +01:00
mach-s3c2410 Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm 2008-10-16 11:25:32 -07:00
mach-s3c2412 Merge branch 's3c-move' into devel 2008-10-14 22:24:51 +01:00
mach-s3c2440 Merge branch 's3c-move' into devel 2008-10-14 22:24:51 +01:00
mach-s3c2442 Merge branch 's3c-move' into devel 2008-10-14 22:24:51 +01:00
mach-s3c2443 Merge branch 'for-rmk-fixes' of git://aeryn.fluff.org.uk/bjdooks/linux 2008-10-17 14:29:03 +01:00
mach-sa1100 [ARM] rtc-sa1100: don't assume CLOCK_TICK_RATE to be a constant 2008-12-29 17:57:48 +08:00
mach-shark [ARM] Convert asm/io.h to linux/io.h 2008-09-06 12:10:45 +01:00
mach-versatile [ARM] integrator,realview,versatile: remove FLASH_* and EPROM_* constants 2008-11-13 14:47:59 +00:00
mm [ARM] pxa: add base PXA935 support due to CPUID change 2008-12-02 14:42:40 +08:00
nwfpe [ARM] Convert asm/uaccess.h to linux/uaccess.h 2008-09-06 11:35:55 +01:00
oprofile [ARM] Convert asm/io.h to linux/io.h 2008-09-06 12:10:45 +01:00
plat-iop [ARM] iop: iop3xx needs registers mapped uncached+unbuffered 2008-11-09 11:18:36 +00:00
plat-mxc [ARM] MXC: Fix mxc_gpio_get(), which must read PSR register instead DR. 2008-10-30 15:56:35 +01:00
plat-omap ARM: OMAP: Fix define for twl4030 irqs 2008-11-04 13:35:08 -08:00
plat-orion [ARM] Move include/asm-arm/plat-orion to arch/arm/plat-orion/include/plat 2008-08-09 13:44:58 +02:00
plat-s3c [ARM] S3C24XX: Additional include moves 2008-10-07 23:09:51 +01:00
plat-s3c24xx Merge branch 'for-rmk-fixes' of git://aeryn.fluff.org.uk/bjdooks/linux 2008-10-17 14:29:03 +01:00
tools [ARM] Update mach-types 2008-09-25 10:12:25 +01:00
vfp [ARM] 5227/1: Add the ENDPROC declarations to the .S files 2008-09-01 12:06:34 +01:00
Kconfig Merge commit 'v2.6.28-rc2' into tracing/urgent 2008-10-27 10:50:54 +01:00
Kconfig-nommu [ARM] 4532/1: allow configuration of processor ID 2007-10-12 23:43:02 +01:00
Kconfig.debug [ARM] CONFIG_DEBUG_STACK_USAGE 2008-01-26 14:50:06 +00:00
Makefile [ARM] msm: rename ARCH_MSM7X00A to ARCH_MSM 2008-10-22 02:39:32 -07:00