diff options
author | Jimmy <jimmy.rubin@stericsson.com> | 2011-01-07 14:28:00 +0100 |
---|---|---|
committer | Srinidhi KASAGAR <srinidhi.kasagar@stericsson.com> | 2011-01-10 05:54:57 +0100 |
commit | 93b6cef1fda5881452512559a70baaf41a2003c8 (patch) | |
tree | 52a32879c49cfe0ce1184d7347942fb9e5524d54 | |
parent | fc18d0ca9758dda4c337bd0584c4fcdc81e64fd6 (diff) |
video: mcde: Fix for screen flickeru8500-android-2.2.x_v1.14
This patch does the following:
* Decreases timeout value for channel and overlay timeouts
* Transactionid has to be the same as transactionid_hw after a power up.
ST Ericsson ID: ER 318228
Change-Id: Ia349feaa5b270d7d87af026addc07308976dcb73
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/11982
Tested-by: Jimmy RUBIN <jimmy.rubin@stericsson.com>
Reviewed-by: QATOOLS
Reviewed-by: Srinidhi KASAGAR <srinidhi.kasagar@stericsson.com>
-rw-r--r-- | drivers/video/mcde/mcde_hw.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/drivers/video/mcde/mcde_hw.c b/drivers/video/mcde/mcde_hw.c index 7d31b8ac14a..1acdbd3877c 100644 --- a/drivers/video/mcde/mcde_hw.c +++ b/drivers/video/mcde/mcde_hw.c @@ -41,8 +41,8 @@ static void dsi_te_poll_req(struct mcde_chnl_state *chnl); static void dsi_te_poll_set_timer(struct mcde_chnl_state *chnl); static void dsi_te_timer_function(unsigned long value); -#define OVLY_TIMEOUT 500 -#define CHNL_TIMEOUT 500 +#define OVLY_TIMEOUT 100 +#define CHNL_TIMEOUT 100 #define SCREEN_PPL_HIGH 1920 #define MCDE_SLEEP_WATCHDOG 10000 @@ -604,14 +604,14 @@ static int enable_mcde_hw(void) struct mcde_chnl_state *chnl = &channels[i]; chnl->transactionid_regs = 0; chnl->transactionid_hw = 1; - chnl->transactionid = 0; + chnl->transactionid = 1; } for (i = 0; i < num_overlays; i++) { struct mcde_ovly_state *ovly = &overlays[i]; ovly->transactionid_regs = 0; ovly->transactionid_hw = 1; - ovly->transactionid = 0; + ovly->transactionid = 1; } mcde_is_enabled = true; @@ -1667,6 +1667,7 @@ static void disable_channel(struct mcde_chnl_state *chnl) goto break_switch; } } + dev_warn(&mcde_dev->dev, "%s: channel C0 timeout\n", __func__); break; case MCDE_CHNL_C1: mcde_wfld(MCDE_CRC, C2EN, false); @@ -1679,6 +1680,7 @@ static void disable_channel(struct mcde_chnl_state *chnl) goto break_switch; } } + dev_warn(&mcde_dev->dev, "%s: channel C1 timeout\n", __func__); break; } break_switch: @@ -3314,7 +3316,6 @@ static struct platform_driver mcde_driver = { int __init mcde_init(void) { - mutex_init(&mcde_hw_lock); return platform_driver_register(&mcde_driver); } |