Message ID | 20170721104813.5389-1-enric.balletbo@collabora.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On 21/07/17 11:48, Enric Balletbo i Serra wrote: > Before this patch the enable signal was set before the PWM signal and > vice-versa on power off. This sequence is wrong, at least, it is on > the different panels datasheets that I checked, so I inverted the sequence > to follow the specs. > > For reference the following panels have the mentioned sequence: > - N133HSE-EA1 (Innolux) > - N116BGE (Innolux) > - N156BGE-L21 (Innolux) > - B101EAN0 (Auo) > - B101AW03 (Auo) > - LTN101NT05 (Samsung) > - CLAA101WA01A (Chunghwa) > > Signed-off-by: Enric Balletbo i Serra <enric.balletbo@collabora.com> Acked-by: Daniel Thompson <daniel.thompson@linaro.org> > --- > Changes since v3: > - List the part numbers for the panel checked (Daniel Thompson) > Changes since v2: > - Add this as a separate patch (Thierry Reding) > Changes since v1: > - None > > drivers/video/backlight/pwm_bl.c | 9 +++++---- > 1 file changed, 5 insertions(+), 4 deletions(-) > > diff --git a/drivers/video/backlight/pwm_bl.c b/drivers/video/backlight/pwm_bl.c > index 002f1ce..909a686 100644 > --- a/drivers/video/backlight/pwm_bl.c > +++ b/drivers/video/backlight/pwm_bl.c > @@ -54,10 +54,11 @@ static void pwm_backlight_power_on(struct pwm_bl_data *pb, int brightness) > if (err < 0) > dev_err(pb->dev, "failed to enable power supply\n"); > > + pwm_enable(pb->pwm); > + > if (pb->enable_gpio) > gpiod_set_value_cansleep(pb->enable_gpio, 1); > > - pwm_enable(pb->pwm); > pb->enabled = true; > } > > @@ -66,12 +67,12 @@ static void pwm_backlight_power_off(struct pwm_bl_data *pb) > if (!pb->enabled) > return; > > - pwm_config(pb->pwm, 0, pb->period); > - pwm_disable(pb->pwm); > - > if (pb->enable_gpio) > gpiod_set_value_cansleep(pb->enable_gpio, 0); > > + pwm_config(pb->pwm, 0, pb->period); > + pwm_disable(pb->pwm); > + > regulator_disable(pb->power_supply); > pb->enabled = false; > } >
On Monday, July 24, 2017 11:14 AM, Daniel Thompson wrote: > On 21/07/17 11:48, Enric Balletbo i Serra wrote: > > Before this patch the enable signal was set before the PWM signal and > > vice-versa on power off. This sequence is wrong, at least, it is on > > the different panels datasheets that I checked, so I inverted the > sequence > > to follow the specs. > > > > For reference the following panels have the mentioned sequence: > > - N133HSE-EA1 (Innolux) > > - N116BGE (Innolux) > > - N156BGE-L21 (Innolux) > > - B101EAN0 (Auo) > > - B101AW03 (Auo) > > - LTN101NT05 (Samsung) > > - CLAA101WA01A (Chunghwa) > > > > Signed-off-by: Enric Balletbo i Serra <enric.balletbo@collabora.com> > > Acked-by: Daniel Thompson <daniel.thompson@linaro.org> Acked-by: Jingoo Han <jingoohan1@gmail.com> Best regards, Jingoo Han > > > --- > > Changes since v3: > > - List the part numbers for the panel checked (Daniel Thompson) > > Changes since v2: > > - Add this as a separate patch (Thierry Reding) > > Changes since v1: > > - None > > > > drivers/video/backlight/pwm_bl.c | 9 +++++---- > > 1 file changed, 5 insertions(+), 4 deletions(-) > > > > diff --git a/drivers/video/backlight/pwm_bl.c > b/drivers/video/backlight/pwm_bl.c > > index 002f1ce..909a686 100644 > > --- a/drivers/video/backlight/pwm_bl.c > > +++ b/drivers/video/backlight/pwm_bl.c > > @@ -54,10 +54,11 @@ static void pwm_backlight_power_on(struct > pwm_bl_data *pb, int brightness) > > if (err < 0) > > dev_err(pb->dev, "failed to enable power supply\n"); > > > > + pwm_enable(pb->pwm); > > + > > if (pb->enable_gpio) > > gpiod_set_value_cansleep(pb->enable_gpio, 1); > > > > - pwm_enable(pb->pwm); > > pb->enabled = true; > > } > > > > @@ -66,12 +67,12 @@ static void pwm_backlight_power_off(struct > pwm_bl_data *pb) > > if (!pb->enabled) > > return; > > > > - pwm_config(pb->pwm, 0, pb->period); > > - pwm_disable(pb->pwm); > > - > > if (pb->enable_gpio) > > gpiod_set_value_cansleep(pb->enable_gpio, 0); > > > > + pwm_config(pb->pwm, 0, pb->period); > > + pwm_disable(pb->pwm); > > + > > regulator_disable(pb->power_supply); > > pb->enabled = false; > > } > >
diff --git a/drivers/video/backlight/pwm_bl.c b/drivers/video/backlight/pwm_bl.c index 002f1ce..909a686 100644 --- a/drivers/video/backlight/pwm_bl.c +++ b/drivers/video/backlight/pwm_bl.c @@ -54,10 +54,11 @@ static void pwm_backlight_power_on(struct pwm_bl_data *pb, int brightness) if (err < 0) dev_err(pb->dev, "failed to enable power supply\n"); + pwm_enable(pb->pwm); + if (pb->enable_gpio) gpiod_set_value_cansleep(pb->enable_gpio, 1); - pwm_enable(pb->pwm); pb->enabled = true; } @@ -66,12 +67,12 @@ static void pwm_backlight_power_off(struct pwm_bl_data *pb) if (!pb->enabled) return; - pwm_config(pb->pwm, 0, pb->period); - pwm_disable(pb->pwm); - if (pb->enable_gpio) gpiod_set_value_cansleep(pb->enable_gpio, 0); + pwm_config(pb->pwm, 0, pb->period); + pwm_disable(pb->pwm); + regulator_disable(pb->power_supply); pb->enabled = false; }
Before this patch the enable signal was set before the PWM signal and vice-versa on power off. This sequence is wrong, at least, it is on the different panels datasheets that I checked, so I inverted the sequence to follow the specs. For reference the following panels have the mentioned sequence: - N133HSE-EA1 (Innolux) - N116BGE (Innolux) - N156BGE-L21 (Innolux) - B101EAN0 (Auo) - B101AW03 (Auo) - LTN101NT05 (Samsung) - CLAA101WA01A (Chunghwa) Signed-off-by: Enric Balletbo i Serra <enric.balletbo@collabora.com> --- Changes since v3: - List the part numbers for the panel checked (Daniel Thompson) Changes since v2: - Add this as a separate patch (Thierry Reding) Changes since v1: - None drivers/video/backlight/pwm_bl.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-)