Display: Optimize the delay time when gi display panel screen on
authorzhang dongming <dongmingx.zhang@intel.com>
Fri, 13 Apr 2012 02:17:46 +0000 (10:17 +0800)
committerbuildbot <buildbot@intel.com>
Tue, 17 Apr 2012 16:27:19 +0000 (09:27 -0700)
BZ: 29879

There so many delay in gi panel dpi ic init. cause gi Screen wake up
slowly after power key pressed. Optimize the delay time when Screen on.

Change-Id: I5450eb0e6d63815eaa18ed8c5cd079e2c191a603
Signed-off-by: zhang dongming <dongmingx.zhang@intel.com>
Reviewed-on: http://android.intel.com:8080/43333
Reviewed-by: Tong, BoX <box.tong@intel.com>
Tested-by: Tong, BoX <box.tong@intel.com>
Reviewed-by: buildbot <buildbot@intel.com>
Tested-by: buildbot <buildbot@intel.com>
drivers/staging/mrst/drv/gi_sony_vid.c

index a7f09b0..5c46b9e 100644 (file)
@@ -110,142 +110,32 @@ static void mdfld_gi_l5f3_dpi_ic_init(struct mdfld_dsi_config *dsi_config,
 
        PSB_DEBUG_ENTRY("\n");
 
-       /*wait for 5ms*/
-       wait_timeout = jiffies + (HZ / 200);
-       while (time_before_eq(jiffies, wait_timeout))
-               cpu_relax();
 
        mdfld_dsi_send_mcs_long_hs(sender, gi_l5f3_set_column_add, 8, 0);
-       wait_timeout = jiffies + (HZ / 100);
-       while (time_before_eq(jiffies, wait_timeout))
-               cpu_relax();
-
        mdfld_dsi_send_mcs_long_hs(sender, gi_l5f3_set_row_add, 8, 0);
-       wait_timeout = jiffies + (HZ / 100);
-       while (time_before_eq(jiffies, wait_timeout))
-               cpu_relax();
-
        mdfld_dsi_send_mcs_long_hs(sender, gi_l5f3_set_address_mode, 4, 0);
-       wait_timeout = jiffies + (HZ / 100);
-       while (time_before_eq(jiffies, wait_timeout))
-               cpu_relax();
-
        mdfld_dsi_send_mcs_long_hs(sender, gi_l5f3_set_pixel_format, 4, 0);
-       wait_timeout = jiffies + (HZ / 100);
-       while (time_before_eq(jiffies, wait_timeout))
-               cpu_relax();
-
-       /* set TE scanline and wait for 10ms. */
        mdfld_dsi_send_mcs_long_hs(sender, gi_l5f3_set_te_scanline, 4, 0);
-       wait_timeout = jiffies + (HZ / 100);
-       while (time_before_eq(jiffies, wait_timeout))
-               cpu_relax();
-
-       /* set TE on and wait for 10ms. */
        mdfld_dsi_send_mcs_long_hs(sender, gi_l5f3_set_tear_on, 4, 0);
-       wait_timeout = jiffies + (HZ / 100);
-       while (time_before_eq(jiffies, wait_timeout))
-               cpu_relax();
-
-       /* set password on and wait for 10ms. */
        mdfld_dsi_send_gen_long_hs(sender, gi_l5f3_passwd1_on, 4, 0);
-       wait_timeout = jiffies + (HZ / 100);
-       while (time_before_eq(jiffies, wait_timeout))
-               cpu_relax();
-
        mdfld_dsi_send_gen_long_hs(sender, gi_l5f3_set_disctl, 20, 0);
-       wait_timeout = jiffies + (HZ / 100);
-       while (time_before_eq(jiffies, wait_timeout))
-               cpu_relax();
-
        mdfld_dsi_send_gen_long_hs(sender, gi_l5f3_set_pwrctl, 16, 0);
-       wait_timeout = jiffies + (HZ / 100);
-       while (time_before_eq(jiffies, wait_timeout))
-               cpu_relax();
-
        mdfld_dsi_send_gen_long_hs(sender, gi_l5f3_set_vcmctl, 16, 0);
-       wait_timeout = jiffies + (HZ / 100);
-       while (time_before_eq(jiffies, wait_timeout))
-               cpu_relax();
-
        mdfld_dsi_send_gen_long_hs(sender, gi_l5f3_set_srcctl, 12, 0);
-       wait_timeout = jiffies + (HZ / 100);
-       while (time_before_eq(jiffies, wait_timeout))
-               cpu_relax();
-
        mdfld_dsi_send_gen_long_hs(sender, gi_l5f3_set_ifctl, 8, 0);
-       wait_timeout = jiffies + (HZ / 100);
-       while (time_before_eq(jiffies, wait_timeout))
-               cpu_relax();
-
        mdfld_dsi_send_gen_long_hs(sender, gi_l5f3_set_panelctl, 4, 0);
-       wait_timeout = jiffies + (HZ / 100);
-       while (time_before_eq(jiffies, wait_timeout))
-               cpu_relax();
-
        mdfld_dsi_send_gen_long_hs(sender, gi_l5f3_set_gammasel, 4, 0);
-       wait_timeout = jiffies + (HZ / 100);
-       while (time_before_eq(jiffies, wait_timeout))
-               cpu_relax();
-
        mdfld_dsi_send_gen_long_hs(sender, gi_l5f3_set_pgammactl, 20, 0);
-       wait_timeout = jiffies + (HZ / 100);
-       while (time_before_eq(jiffies, wait_timeout))
-               cpu_relax();
-
        mdfld_dsi_send_gen_long_hs(sender, gi_l5f3_set_ngammactl, 20, 0);
-       wait_timeout = jiffies + (HZ / 100);
-       while (time_before_eq(jiffies, wait_timeout))
-               cpu_relax();
-
        mdfld_dsi_send_gen_long_hs(sender, gi_l5f3_set_miectl1, 4, 0);
-       wait_timeout = jiffies + (HZ / 100);
-       while (time_before_eq(jiffies, wait_timeout))
-               cpu_relax();
-
        mdfld_dsi_send_gen_long_hs(sender, gi_l5f3_set_bcmode, 4, 0);
-       wait_timeout = jiffies + (HZ / 100);
-       while (time_before_eq(jiffies, wait_timeout))
-               cpu_relax();
-
        mdfld_dsi_send_gen_long_hs(sender, gi_l5f3_set_wrmiectl2, 4, 0);
-       wait_timeout = jiffies + (HZ / 100);
-       while (time_before_eq(jiffies, wait_timeout))
-               cpu_relax();
-
        mdfld_dsi_send_gen_long_hs(sender, gi_l5f3_set_wrblctl, 4, 0);
-       wait_timeout = jiffies + (HZ / 100);
-       while (time_before_eq(jiffies, wait_timeout))
-               cpu_relax();
-
        mdfld_dsi_send_gen_long_hs(sender, gi_l5f3_passwd1_off, 4, 0);
-       wait_timeout = jiffies + (HZ / 100);
-       while (time_before_eq(jiffies, wait_timeout))
-               cpu_relax();
-
-       /* set backlight to full brightness and wait for 10ms. */
        mdfld_dsi_send_mcs_long_hs(sender, gi_l5f3_set_full_brightness, 4, 0);
-       wait_timeout = jiffies + (HZ / 100);
-       while (time_before_eq(jiffies, wait_timeout))
-               cpu_relax();
-
-       /* set backlight on and wait for 10ms. */
        mdfld_dsi_send_mcs_long_hs(sender, gi_l5f3_turn_on_backlight, 4, 0);
-       wait_timeout = jiffies + (HZ / 100);
-       while (time_before_eq(jiffies, wait_timeout))
-               cpu_relax();
-
-       /* disalble CABC and wait for 10ms. */
        mdfld_dsi_send_mcs_long_hs(sender, gi_l5f3_disable_cabc, 4, 0);
-       wait_timeout = jiffies + (HZ / 100);
-       while (time_before_eq(jiffies, wait_timeout))
-               cpu_relax();
-
-       /* sleep out and wait for 150ms. */
        mdfld_dsi_send_mcs_long_hs(sender, gi_l5f3_exit_sleep_mode, 4, 0);
-       wait_timeout = jiffies + (3 * HZ / 20);
-       while (time_before_eq(jiffies, wait_timeout))
-               cpu_relax();
 }
 
 static void