aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/video/pxafb.h
diff options
context:
space:
mode:
authorEric Miao <ycmiao@ycmiao-hp520.(none)>2008-12-17 03:50:43 -0500
committerEric Miao <eric.miao@marvell.com>2008-12-29 04:59:17 -0500
commit6e354846e807e037751fdc8faaee8ad492177113 (patch)
treeeb31ad176a03091ff02560d2623ed9952fa19dc6 /drivers/video/pxafb.h
parent7e4b19c95c8632b543bd510ec6c710bebb53b840 (diff)
[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 {
54#define PALETTE_SIZE (256 * 4) 54#define PALETTE_SIZE (256 * 4)
55#define CMD_BUFF_SIZE (1024 * 50) 55#define CMD_BUFF_SIZE (1024 * 50)
56 56
57/* NOTE: the palette and frame dma descriptors are doubled to allow
58 * the 2nd set for branch settings (FBRx)
59 */
57struct pxafb_dma_buff { 60struct pxafb_dma_buff {
58 unsigned char palette[PAL_MAX * PALETTE_SIZE]; 61 unsigned char palette[PAL_MAX * PALETTE_SIZE];
59 uint16_t cmd_buff[CMD_BUFF_SIZE]; 62 uint16_t cmd_buff[CMD_BUFF_SIZE];
60 struct pxafb_dma_descriptor pal_desc[PAL_MAX]; 63 struct pxafb_dma_descriptor pal_desc[PAL_MAX * 2];
61 struct pxafb_dma_descriptor dma_desc[DMA_MAX]; 64 struct pxafb_dma_descriptor dma_desc[DMA_MAX * 2];
62}; 65};
63 66
64struct pxafb_info { 67struct pxafb_info {
@@ -71,7 +74,7 @@ struct pxafb_info {
71 struct pxafb_dma_buff *dma_buff; 74 struct pxafb_dma_buff *dma_buff;
72 size_t dma_buff_size; 75 size_t dma_buff_size;
73 dma_addr_t dma_buff_phys; 76 dma_addr_t dma_buff_phys;
74 dma_addr_t fdadr[DMA_MAX]; 77 dma_addr_t fdadr[DMA_MAX * 2];
75 78
76 void __iomem *video_mem; /* virtual address of frame buffer */ 79 void __iomem *video_mem; /* virtual address of frame buffer */
77 unsigned long video_mem_phys; /* physical address of frame buffer */ 80 unsigned long video_mem_phys; /* physical address of frame buffer */