aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJimmy <jimmy.rubin@stericsson.com>2011-01-07 14:28:00 +0100
committerSrinidhi KASAGAR <srinidhi.kasagar@stericsson.com>2011-01-10 05:54:57 +0100
commit93b6cef1fda5881452512559a70baaf41a2003c8 (patch)
tree52a32879c49cfe0ce1184d7347942fb9e5524d54
parentfc18d0ca9758dda4c337bd0584c4fcdc81e64fd6 (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.c11
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);
}