From: zyw Date: Tue, 28 Jun 2011 07:43:00 +0000 (+0800) Subject: fix cursor reload bug X-Git-Tag: firefly_0821_release~10164^2 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=c2779c627fa9bda9111faf939b4516463481b9bd;p=firefly-linux-kernel-4.4.55.git fix cursor reload bug --- diff --git a/drivers/video/rk29_fb.c b/drivers/video/rk29_fb.c index 78589e1ac9fd..8322db410557 100755 --- a/drivers/video/rk29_fb.c +++ b/drivers/video/rk29_fb.c @@ -38,6 +38,7 @@ #include #include #include +#include #include "rk29_fb.h" @@ -794,20 +795,23 @@ int rk29_set_cursor_img_transform(char *data) int rk29_set_cursor_img(struct rk29fb_inf *inf, char *data) { - if(data) - { - rk29_set_cursor_img_transform(data); + if(data) + { + rk29_set_cursor_img_transform(data); } - else - { - rk29_set_cursor_img_transform(cursor_img); - } - LcdWrReg(inf, HWC_MST, __pa(rk29_cursor_buf)); - LcdSetRegisterBit(inf, SYS_CONFIG,m_HWC_RELOAD_EN); - LcdWrReg(inf, REG_CFG_DONE, 0x01); + else + { + rk29_set_cursor_img_transform(cursor_img); + } + LcdWrReg(inf, HWC_MST, __pa(rk29_cursor_buf)); + //LcdSetBit(inf, SYS_CONFIG,m_HWC_RELOAD_EN); + LcdSetBit(inf, SYS_CONFIG, m_HWC_RELOAD_EN |m_HWC_ENABLE); + flush_cache_all(); + LcdWrReg(inf, REG_CFG_DONE, 0x01); return 0; } + int rk29_set_cursor_test(struct fb_info *info) { struct rk29fb_inf *inf = dev_get_drvdata(info->device); diff --git a/drivers/video/rk29_fb.h b/drivers/video/rk29_fb.h index 8811e07e9dd6..7bdea3689976 100644 --- a/drivers/video/rk29_fb.h +++ b/drivers/video/rk29_fb.h @@ -28,8 +28,8 @@ #define OUT_S888 8 #define OUT_S888DUMY 12 #define OUT_P16BPP4 24 //Ä£Äⷽʽ,¿ØÖÆÆ÷²¢²»Ö§³Ö -#define OUT_D888_P666 0x21 //666µÄÆÁ, ½ÓDATA2-7, DATA10-15, DATA17-22 -#define OUT_D888_P565 0x22 //565µÄÆÁ, ½ÓDATA3-7, DATA10-15, DATA18-22 +#define OUT_D888_P666 0x21 //666µÄÆÁ, ½ÓDATA2-7, DATA10-15, DATA18-23 +#define OUT_D888_P565 0x22 //565µÄÆÁ, ½ÓDATA3-7, DATA10-15, DATA19-23 /* SYS_CONFIG */ #define m_W2_FORMAT (3<<0)