diff options
author | Alison Wang <b18965@freescale.com> | 2012-12-11 15:36:08 +0800 |
---|---|---|
committer | Ed Nash <enash@enash-desktop.(none)> | 2012-12-12 14:46:31 -0500 |
commit | 97bb163197f3dc3405af90b5159e0f6b8a302586 (patch) | |
tree | 2d4238dbfebf53162357551d46f43da5c6402e7d /arch/arm/plat-mxc | |
parent | efe491be15ead3bbcf7e715337fdee7dfa41f699 (diff) |
ENGR00216076-2: DCU: Update DCU driver for PM and blending issue
Fix layers blending and reinitialization issue for DCU driver.
Update power management part for DCU driver.
Signed-off-by: Alison Wang <b18965@freescale.com>
Diffstat (limited to 'arch/arm/plat-mxc')
-rw-r--r-- | arch/arm/plat-mxc/devices/platform-mvf-dcu.c | 4 | ||||
-rw-r--r-- | arch/arm/plat-mxc/include/mach/mvf-dcu-fb.h | 52 |
2 files changed, 3 insertions, 53 deletions
diff --git a/arch/arm/plat-mxc/devices/platform-mvf-dcu.c b/arch/arm/plat-mxc/devices/platform-mvf-dcu.c index 13258aba9bb0..0fe5099eca34 100644 --- a/arch/arm/plat-mxc/devices/platform-mvf-dcu.c +++ b/arch/arm/plat-mxc/devices/platform-mvf-dcu.c @@ -38,8 +38,8 @@ int __init mvf_dcu_init(int id) } const struct mvf_dcu_data mvfa5_dcu_data[] __initconst = { - mvf_dcu_data_entry_single(MVF, 0, SZ_4K, mvf_dcu_init), - mvf_dcu_data_entry_single(MVF, 1, SZ_4K, mvf_dcu_init), + mvf_dcu_data_entry_single(MVF, 0, SZ_8K, mvf_dcu_init), + mvf_dcu_data_entry_single(MVF, 1, SZ_8K, mvf_dcu_init), }; struct platform_device *__init mvf_add_dcu( diff --git a/arch/arm/plat-mxc/include/mach/mvf-dcu-fb.h b/arch/arm/plat-mxc/include/mach/mvf-dcu-fb.h index b9d8dd3b93bb..9a5ba8e396a9 100644 --- a/arch/arm/plat-mxc/include/mach/mvf-dcu-fb.h +++ b/arch/arm/plat-mxc/include/mach/mvf-dcu-fb.h @@ -14,6 +14,7 @@ #define __MVF_DCU_FB_H__ #include <linux/types.h> +#include <linux/mvf-fb.h> struct mvf_dcu_platform_data { char *mode_str; @@ -21,11 +22,6 @@ struct mvf_dcu_platform_data { int (*init) (int); }; -struct mfb_alpha { - int enable; - int alpha; -}; - struct dfb_chroma_key { int enable; __u8 red_max; @@ -36,60 +32,14 @@ struct dfb_chroma_key { __u8 blue_min; }; -struct layer_display_offset { - int x_layer_d; - int y_layer_d; -}; - #define DCU_LCD_ENABLE_PIN 30 #define MFB_SET_CHROMA_KEY _IOW('M', 1, struct mfb_chroma_key) #define MFB_SET_BRIGHTNESS _IOW('M', 3, __u8) -#define MFB_SET_ALPHA 0x80014d00 -#define MFB_GET_ALPHA 0x40014d00 -#define MFB_SET_LAYER 0x80084d04 -#define MFB_GET_LAYER 0x40084d04 - -#define FBIOGET_GWINFO 0x46E0 -#define FBIOPUT_GWINFO 0x46E1 - #ifdef __KERNEL__ #include <linux/spinlock.h> -/* - * These are the fields of control descriptor for every layer - */ -struct dcu_layer_desc { - u32 layer_num; - u32 width; - u32 height; - u32 posx; - u32 posy; - u32 addr; - u32 blend; - u32 chroma_key_en; - u32 lut_offset; - u32 rle_en; - u32 bpp; - u32 trans; - u32 safety_en; - u32 data_sel_clut; - u32 tile_en; - u32 en; - u32 ck_r_min; - u32 ck_r_max; - u32 ck_g_min; - u32 ck_g_max; - u32 ck_b_min; - u32 ck_b_max; - u32 tile_width; - u32 tile_height; - u32 trans_fgcolor; - u32 trans_bgcolor; -} __packed; - - /* DCU registers */ #define DCU_CTRLDESCCURSOR1 0x0000 #define DCU_CTRLDESCCURSOR1_HEIGHT(x) (x << 16) |