[ARM] pxafb: allow video memory size to be configurable
authorEric Miao <eric.miao@marvell.com>
Tue, 16 Dec 2008 03:54:34 +0000 (11:54 +0800)
committerEric Miao <eric.miao@marvell.com>
Mon, 29 Dec 2008 09:59:16 +0000 (17:59 +0800)
commit77e196752bdd76a0c58ab082658d28c6a90fa40e
tree935fbe8b897d8770fff05254c6c91dc0a8058984
parent5bfb4093be6ac7b6c06c8e6461d85241654acc61
[ARM] pxafb: allow video memory size to be configurable

The amount of video memory size is decided according to the following
order:

1. <xres> x <yres> x <bits_per_pixel> by default, which is the backward
   compatible way

2. size specified in platform data

3. size specified in module parameter 'options' string or specified in
   kernel boot command line (see updated Documentation/fb/pxafb.txt)

And now since the memory is allocated from system memory, the pxafb_mmap
can be removed and the default fb_mmap() should be working all right.

Also, since we now have introduced the 'struct pxafb_dma_buff' for DMA
descriptors and palettes, the allocation can be separated cleanly.

NOTE: the LCD DMA actually supports chained transfer (i.e. page-based
transfers), to simplify the logic and keep the performance (with less
TLB misses when accessing from memory mapped user space), the memory
is allocated by alloc_pages_*() to ensures it's physical contiguous.

Signed-off-by: Eric Miao <eric.miao@marvell.com>
Signed-off-by: Eric Miao <ycmiao@ycmiao-hp520.(none)>
Documentation/fb/pxafb.txt
arch/arm/mach-pxa/include/mach/pxafb.h
drivers/video/pxafb.c
drivers/video/pxafb.h