diff options
author | Eric Miao <ycmiao@ycmiao-hp520.(none)> | 2008-12-17 03:50:43 -0500 |
---|---|---|
committer | Eric Miao <eric.miao@marvell.com> | 2008-12-29 04:59:17 -0500 |
commit | 6e354846e807e037751fdc8faaee8ad492177113 (patch) | |
tree | eb31ad176a03091ff02560d2623ed9952fa19dc6 /drivers/video/pxafb.h | |
parent | 7e4b19c95c8632b543bd510ec6c710bebb53b840 (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.h | 9 |
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 | */ | ||
57 | struct pxafb_dma_buff { | 60 | struct 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 | ||
64 | struct pxafb_info { | 67 | struct 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 */ |