drm/panel: p079zca: add variable unprepare_delay

A patch from »Innolux P097PFG panel« in state Mainline for linux-kernel

From: Lin Huang <hl@...> Date: Fri, 30 Mar 2018 19:46:54 +0800

Commit-Message

When panel power down, p079zca need delay between reset and disable power supply, but p097pfg does not need it. Similarly p097zca needs a delay after entering panel sleep mode. So add two delay properties, so we can meet these two panel power down sequence. Signed-off-by: Lin Huang <hl@...> [add sleep-mode delay] Signed-off-by: Heiko Stuebner <heiko@...>

Patch-Comment

drivers/gpu/drm/panel/panel-innolux-p079zca.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-)

Statistics

  • 8 lines added
  • 2 lines removed

Changes

---------------- drivers/gpu/drm/panel/panel-innolux-p079zca.c -----------------
index 840ad4a6a6a6..630b0c2549ef 100644
@@ -33,6 +33,8 @@ struct panel_desc {
unsigned int lanes;
const char * const *supply_names;
unsigned int num_supplies;
+ unsigned int sleep_mode_delay;
+ unsigned int power_down_delay;
};
struct innolux_panel {
@@ -89,10 +91,13 @@ static int innolux_panel_unprepare(struct drm_panel *panel)
return err;
}
+ if (innolux->desc->sleep_mode_delay)
+ msleep(innolux->desc->sleep_mode_delay);
+
gpiod_set_value_cansleep(innolux->enable_gpio, 0);
- /* T8: 80ms - 1000ms */
- msleep(80);
+ if (innolux->desc->power_down_delay)
+ msleep(innolux->desc->power_down_delay);
regulator_bulk_disable(innolux->desc->num_supplies, innolux->supplies);
@@ -205,6 +210,7 @@ static const struct panel_desc innolux_p079zca_panel_desc = {
.lanes = 4,
.supply_names = innolux_p079zca_supply_names,
.num_supplies = ARRAY_SIZE(innolux_p079zca_supply_names),
+ .power_down_delay = 80, /* T8: 80ms - 1000ms */
};
static int innolux_panel_get_modes(struct drm_panel *panel)
 
 

Recent Patches

About Us

Sed lacus. Donec lectus. Nullam pretium nibh ut turpis. Nam bibendum. In nulla tortor, elementum vel, tempor at, varius non, purus. Mauris vitae nisl nec metus placerat consectetuer.

Read More...