summaryrefslogtreecommitdiffstats
path: root/drivers/video/pxafb.h
diff options
context:
space:
mode:
authorEric Miao <ycmiao@ycmiao-hp520.(none)>2008-12-17 16:50:43 +0800
committerEric Miao <eric.miao@marvell.com>2008-12-29 17:59:17 +0800
commit6e354846e807e037751fdc8faaee8ad492177113 (patch)
treeeb31ad176a03091ff02560d2623ed9952fa19dc6 /drivers/video/pxafb.h
parent7e4b19c95c8632b543bd510ec6c710bebb53b840 (diff)
downloadlinux-6e354846e807e037751fdc8faaee8ad492177113.tar.gz
linux-6e354846e807e037751fdc8faaee8ad492177113.tar.bz2
linux-6e354846e807e037751fdc8faaee8ad492177113.zip
[ARM] pxafb: add support for FBIOPAN_DISPLAY by dma braching
dma branching is enabled by extending the current setup_frame_dma() function to allow a 2nd set of frame/palette dma descriptors to be used. As a result, pxafb_dma_buff.dma_desc[], pxafb_dma_buff.pal_desc[] and pxafb_info.fdadr[] are doubled. This allows maximum re-use of the current dma setup code, although the pxafb_info.fdadr[xx] for FBRx register values looks a bit odd. Signed-off-by: Eric Miao <eric.miao@marvell.com> Signed-off-by: Eric Miao <ycmiao@ycmiao-hp520.(none)>
Diffstat (limited to 'drivers/video/pxafb.h')
-rw-r--r--drivers/video/pxafb.h9
1 files changed, 6 insertions, 3 deletions
diff --git a/drivers/video/pxafb.h b/drivers/video/pxafb.h
index 0981938682ef..e0f90f4c467d 100644
--- a/drivers/video/pxafb.h
+++ b/drivers/video/pxafb.h
@@ -54,11 +54,14 @@ enum {
#define PALETTE_SIZE (256 * 4)
#define CMD_BUFF_SIZE (1024 * 50)
+/* NOTE: the palette and frame dma descriptors are doubled to allow
+ * the 2nd set for branch settings (FBRx)
+ */
struct pxafb_dma_buff {
unsigned char palette[PAL_MAX * PALETTE_SIZE];
uint16_t cmd_buff[CMD_BUFF_SIZE];
- struct pxafb_dma_descriptor pal_desc[PAL_MAX];
- struct pxafb_dma_descriptor dma_desc[DMA_MAX];
+ struct pxafb_dma_descriptor pal_desc[PAL_MAX * 2];
+ struct pxafb_dma_descriptor dma_desc[DMA_MAX * 2];
};
struct pxafb_info {
@@ -71,7 +74,7 @@ struct pxafb_info {
struct pxafb_dma_buff *dma_buff;
size_t dma_buff_size;
dma_addr_t dma_buff_phys;
- dma_addr_t fdadr[DMA_MAX];
+ dma_addr_t fdadr[DMA_MAX * 2];
void __iomem *video_mem; /* virtual address of frame buffer */
unsigned long video_mem_phys; /* physical address of frame buffer */