video: mipi dsi: rearrange initial delay and remove useless code
authorDonghwa Lee <dh09.lee@samsung.com>
Fri, 23 Aug 2013 07:32:58 +0000 (16:32 +0900)
committerDonghwa Lee <dh09.lee@samsung.com>
Fri, 23 Aug 2013 07:39:11 +0000 (16:39 +0900)
rearrange initial delay for mipi dsi core and s6e8aa0 panel and
remove useless code.

Change-Id: I05125c0d9b63489f7f6a3978a6e491554d026d55
Signed-off-by: Donghwa Lee <dh09.lee@samsung.com>
drivers/video/backlight/s6e8aa0.c
drivers/video/samsung/dsim2/s5p_mipi_dsi.c
drivers/video/samsung/dsim2/s5p_mipi_dsi_common.c

index 2a335fe..e6c6071 100644 (file)
@@ -774,11 +774,11 @@ static int s6e8aa0_panel_init(struct s6e8aa0 *lcd)
        int brightness = bd->props.brightness;
 
        s6e8aa0_apply_level_1_key(lcd);
-       if (system_rev == 3)
-               s6e8aa0_apply_level_2_key(lcd);
+       s6e8aa0_apply_level_2_key(lcd);
 
+       msleep(20);
        s6e8aa0_sleep_out(lcd);
-       usleep_range(5000, 6000);
+       msleep(40);
 
        s6e8aa0_panel_cond(lcd, 1);
        s6e8aa0_display_condition_set(lcd);
@@ -1389,8 +1389,6 @@ static int s6e8aa0_resume(struct mipi_dsim_lcd_device *dsim_dev)
 {
        struct s6e8aa0 *lcd = dev_get_drvdata(&dsim_dev->dev);
 
-       mdelay(lcd->ddi_pd->power_on_delay);
-
        return 0;
 }
 #else
index be1a594..ec68ed6 100644 (file)
@@ -141,6 +141,8 @@ static void s5p_mipi_update_cfg(struct mipi_dsim_device *dsim)
        s5p_mipi_dsi_init_dsim(dsim);
        s5p_mipi_dsi_init_link(dsim);
 
+       usleep_range(10000, 10000);
+
        s5p_mipi_dsi_set_hs_enable(dsim);
 
        /* set display timing. */
@@ -435,10 +437,6 @@ static int s5p_mipi_dsi_power_on(struct mipi_dsim_device *dsim, bool enable)
                if (!dsim->suspended)
                        return 0;
 
-               /* lcd panel power on. */
-               if (client_drv && client_drv->power_on)
-                       client_drv->power_on(client_dev, 1);
-
                ret = s5p_mipi_regulator_enable(dsim);
                if (ret < 0) {
                        client_drv->power_on(client_dev, 0);
@@ -453,6 +451,12 @@ static int s5p_mipi_dsi_power_on(struct mipi_dsim_device *dsim, bool enable)
                        client_drv->power_on(client_dev, 0);
                        return ret;
                }
+               usleep_range(10000, 10000);
+
+               /* lcd panel power on. */
+               if (client_drv && client_drv->power_on)
+                       client_drv->power_on(client_dev, 1);
+
                /* enable MIPI-DSI PHY. */
                if (dsim->pd->phy_enable)
                        dsim->pd->phy_enable(pdev, true);
index bef4256..1c9a0d3 100644 (file)
@@ -171,9 +171,6 @@ int s5p_mipi_dsi_wr_data(struct mipi_dsim_device *dsim, unsigned int data_id,
                return -EINVAL;
        }
 
-       /* FIXME!!! why does it need this delay? */
-       msleep(20);
-
        mutex_lock(&dsim->lock);
 
        switch (data_id) {