linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3] pwm_backlight: Add device tree support for Low Threshold Brightness
@ 2012-09-26 14:47 Philip, Avinash
  2012-09-27 21:33 ` Andrew Morton
  0 siblings, 1 reply; 4+ messages in thread
From: Philip, Avinash @ 2012-09-26 14:47 UTC (permalink / raw)
  To: grant.likely, rob.herring, rob, rpurdie, thierry.reding
  Cc: broonie, shawn.guo, devicetree-discuss, linux-doc, linux-kernel,
	nsekhar, gururaja.hebbar, Philip, Avinash

Some back lights perform poorly when driven by a PWM with a short
duty-cycle. For such devices, the low threshold can be used to specify a
lower bound for the duty-cycle and should be chosen to exclude the
problematic range.

Add device tree probing support for lth_brightness putting
low-threshold-brightness as optional property.

Signed-off-by: Philip, Avinash <avinashphilip@ti.com>
---
Changes since v2:
        - Added documentation part for configuring low-threshold-brightness

Changes since v1:
        - Updated commit message.
	- Changes to low-threshold-brightness.
	- Merged example section to original.

:100644 100644 1e4fc72... 4e29912... M	Documentation/devicetree/bindings/video/backlight/pwm-backlight.txt
:100644 100644 995f016... 29e6fe1... M	drivers/video/backlight/pwm_bl.c
 .../bindings/video/backlight/pwm-backlight.txt     |   10 ++++++++++
 drivers/video/backlight/pwm_bl.c                   |    5 +++++
 2 files changed, 15 insertions(+), 0 deletions(-)

diff --git a/Documentation/devicetree/bindings/video/backlight/pwm-backlight.txt b/Documentation/devicetree/bindings/video/backlight/pwm-backlight.txt
index 1e4fc72..4e29912 100644
--- a/Documentation/devicetree/bindings/video/backlight/pwm-backlight.txt
+++ b/Documentation/devicetree/bindings/video/backlight/pwm-backlight.txt
@@ -14,6 +14,15 @@ Required properties:
 Optional properties:
   - pwm-names: a list of names for the PWM devices specified in the
                "pwms" property (see PWM binding[0])
+  - low-threshold-brightness: brightness threshold low level. Low threshold
+    brightness set to value so that backlight present on low end of
+    brightness.
+    Some panels, backlight would absent if duty percentage of PWM wave is less
+    than certain level (say 20%). By setting low-threshold-brightness to a
+    value above (percentage of brightness-levels max) 50 (20% of 255, if 255
+    is max). On setting low-threshold-brightness, range of brightness-levels
+    is calculated in a region of low-threshold-brightness to brightness-levels
+    max.
 
 [0]: Documentation/devicetree/bindings/pwm/pwm.txt
 
@@ -25,4 +34,5 @@ Example:
 
 		brightness-levels = <0 4 8 16 32 64 128 255>;
 		default-brightness-level = <6>;
+		low-threshold-brightness = <50>;
 	};
diff --git a/drivers/video/backlight/pwm_bl.c b/drivers/video/backlight/pwm_bl.c
index 995f016..29e6fe1 100644
--- a/drivers/video/backlight/pwm_bl.c
+++ b/drivers/video/backlight/pwm_bl.c
@@ -143,6 +143,11 @@ static int pwm_backlight_parse_dt(struct device *dev,
 
 		data->dft_brightness = value;
 		data->max_brightness--;
+
+		ret = of_property_read_u32(node, "low-threshold-brightness",
+					   &value);
+		if (!ret)
+			data->lth_brightness = value;
 	}
 
 	/*
-- 
1.7.0.4


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH v3] pwm_backlight: Add device tree support for Low Threshold Brightness
  2012-09-26 14:47 [PATCH v3] pwm_backlight: Add device tree support for Low Threshold Brightness Philip, Avinash
@ 2012-09-27 21:33 ` Andrew Morton
  2012-09-28  5:45   ` Thierry Reding
  0 siblings, 1 reply; 4+ messages in thread
From: Andrew Morton @ 2012-09-27 21:33 UTC (permalink / raw)
  To: Philip, Avinash
  Cc: grant.likely, rob.herring, rob, rpurdie, thierry.reding, broonie,
	shawn.guo, devicetree-discuss, linux-doc, linux-kernel, nsekhar,
	gururaja.hebbar

On Wed, 26 Sep 2012 20:17:07 +0530
"Philip, Avinash" <avinashphilip@ti.com> wrote:

> Some back lights perform poorly when driven by a PWM with a short
> duty-cycle. For such devices, the low threshold can be used to specify a
> lower bound for the duty-cycle and should be chosen to exclude the
> problematic range.
> 
> Add device tree probing support for lth_brightness putting
> low-threshold-brightness as optional property.
> 
> ...
>
> --- a/Documentation/devicetree/bindings/video/backlight/pwm-backlight.txt
> +++ b/Documentation/devicetree/bindings/video/backlight/pwm-backlight.txt
> @@ -14,6 +14,15 @@ Required properties:
>  Optional properties:
>    - pwm-names: a list of names for the PWM devices specified in the
>                 "pwms" property (see PWM binding[0])
> +  - low-threshold-brightness: brightness threshold low level. Low threshold
> +    brightness set to value so that backlight present on low end of
> +    brightness.
> +    Some panels, backlight would absent if duty percentage of PWM wave is less
> +    than certain level (say 20%). By setting low-threshold-brightness to a
> +    value above (percentage of brightness-levels max) 50 (20% of 255, if 255
> +    is max). On setting low-threshold-brightness, range of brightness-levels
> +    is calculated in a region of low-threshold-brightness to brightness-levels
> +    max.

hoo boy, that's hard to follow.  How does this look?

--- a/Documentation/devicetree/bindings/video/backlight/pwm-backlight.txt~pwm_backlight-add-device-tree-support-for-low-threshold-brightness-fix
+++ a/Documentation/devicetree/bindings/video/backlight/pwm-backlight.txt
@@ -14,15 +14,15 @@ Required properties:
 Optional properties:
   - pwm-names: a list of names for the PWM devices specified in the
                "pwms" property (see PWM binding[0])
-  - low-threshold-brightness: brightness threshold low level. Low threshold
-    brightness set to value so that backlight present on low end of
-    brightness.
-    Some panels, backlight would absent if duty percentage of PWM wave is less
-    than certain level (say 20%). By setting low-threshold-brightness to a
-    value above (percentage of brightness-levels max) 50 (20% of 255, if 255
-    is max). On setting low-threshold-brightness, range of brightness-levels
-    is calculated in a region of low-threshold-brightness to brightness-levels
-    max.
+  - low-threshold-brightness: brightness threshold low level. Sets the lowest
+    brightness value.
+    On some panels the backlight misbehaves if the duty cycle percentage of the
+    PWM wave is less than a certain level (say 20%).  In this example the user
+    can set low-threshold-brightness to a value above 50 (ie, 20% of 255), thus
+    preventing the PWM duty cycle from going too low.
+    On setting low-threshold-brightness the range of brightness levels is
+    calculated in the range low-threshold-brightness to the maximum value in
+    brightness-levels, described above.
 
 [0]: Documentation/devicetree/bindings/pwm/pwm.txt
 


Also, I'm wondering if we really needed a new property - couldn't one
do this simply by setting brightness-levels to 50..255?

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH v3] pwm_backlight: Add device tree support for Low Threshold Brightness
  2012-09-27 21:33 ` Andrew Morton
@ 2012-09-28  5:45   ` Thierry Reding
  2012-10-11  8:32     ` Philip, Avinash
  0 siblings, 1 reply; 4+ messages in thread
From: Thierry Reding @ 2012-09-28  5:45 UTC (permalink / raw)
  To: Andrew Morton
  Cc: Philip, Avinash, grant.likely, rob.herring, rob, rpurdie,
	broonie, shawn.guo, devicetree-discuss, linux-doc, linux-kernel,
	nsekhar, gururaja.hebbar

[-- Attachment #1: Type: text/plain, Size: 3726 bytes --]

On Thu, Sep 27, 2012 at 02:33:09PM -0700, Andrew Morton wrote:
> On Wed, 26 Sep 2012 20:17:07 +0530
> "Philip, Avinash" <avinashphilip@ti.com> wrote:
> 
> > Some back lights perform poorly when driven by a PWM with a short
> > duty-cycle. For such devices, the low threshold can be used to specify a
> > lower bound for the duty-cycle and should be chosen to exclude the
> > problematic range.
> > 
> > Add device tree probing support for lth_brightness putting
> > low-threshold-brightness as optional property.
> > 
> > ...
> >
> > --- a/Documentation/devicetree/bindings/video/backlight/pwm-backlight.txt
> > +++ b/Documentation/devicetree/bindings/video/backlight/pwm-backlight.txt
> > @@ -14,6 +14,15 @@ Required properties:
> >  Optional properties:
> >    - pwm-names: a list of names for the PWM devices specified in the
> >                 "pwms" property (see PWM binding[0])
> > +  - low-threshold-brightness: brightness threshold low level. Low threshold
> > +    brightness set to value so that backlight present on low end of
> > +    brightness.
> > +    Some panels, backlight would absent if duty percentage of PWM wave is less
> > +    than certain level (say 20%). By setting low-threshold-brightness to a
> > +    value above (percentage of brightness-levels max) 50 (20% of 255, if 255
> > +    is max). On setting low-threshold-brightness, range of brightness-levels
> > +    is calculated in a region of low-threshold-brightness to brightness-levels
> > +    max.
> 
> hoo boy, that's hard to follow.  How does this look?
> 
> --- a/Documentation/devicetree/bindings/video/backlight/pwm-backlight.txt~pwm_backlight-add-device-tree-support-for-low-threshold-brightness-fix
> +++ a/Documentation/devicetree/bindings/video/backlight/pwm-backlight.txt
> @@ -14,15 +14,15 @@ Required properties:
>  Optional properties:
>    - pwm-names: a list of names for the PWM devices specified in the
>                 "pwms" property (see PWM binding[0])
> -  - low-threshold-brightness: brightness threshold low level. Low threshold
> -    brightness set to value so that backlight present on low end of
> -    brightness.
> -    Some panels, backlight would absent if duty percentage of PWM wave is less
> -    than certain level (say 20%). By setting low-threshold-brightness to a
> -    value above (percentage of brightness-levels max) 50 (20% of 255, if 255
> -    is max). On setting low-threshold-brightness, range of brightness-levels
> -    is calculated in a region of low-threshold-brightness to brightness-levels
> -    max.
> +  - low-threshold-brightness: brightness threshold low level. Sets the lowest
> +    brightness value.
> +    On some panels the backlight misbehaves if the duty cycle percentage of the
> +    PWM wave is less than a certain level (say 20%).  In this example the user
> +    can set low-threshold-brightness to a value above 50 (ie, 20% of 255), thus
> +    preventing the PWM duty cycle from going too low.
> +    On setting low-threshold-brightness the range of brightness levels is
> +    calculated in the range low-threshold-brightness to the maximum value in
> +    brightness-levels, described above.
>  
>  [0]: Documentation/devicetree/bindings/pwm/pwm.txt
>  
> 
> 
> Also, I'm wondering if we really needed a new property - couldn't one
> do this simply by setting brightness-levels to 50..255?

Yes. This was discussed in the thread that followed the posting of this
patch's v2. We've decided to drop it and go with brightness-levels only
for device tree data. Eventually all existing users should convert to
that as well so we can remove some of the cruft from the platform data
up.

Thierry

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

* RE: [PATCH v3] pwm_backlight: Add device tree support for Low Threshold Brightness
  2012-09-28  5:45   ` Thierry Reding
@ 2012-10-11  8:32     ` Philip, Avinash
  0 siblings, 0 replies; 4+ messages in thread
From: Philip, Avinash @ 2012-10-11  8:32 UTC (permalink / raw)
  To: Andrew Morton, Thierry Reding
  Cc: grant.likely, rob.herring, rob, rpurdie, broonie, shawn.guo,
	devicetree-discuss, linux-doc, linux-kernel, Nori, Sekhar,
	Hebbar, Gururaja

On Fri, Sep 28, 2012 at 11:15:48, Thierry Reding wrote:
> On Thu, Sep 27, 2012 at 02:33:09PM -0700, Andrew Morton wrote:
> > On Wed, 26 Sep 2012 20:17:07 +0530
> > "Philip, Avinash" <avinashphilip@ti.com> wrote:
> > 
> > > Some back lights perform poorly when driven by a PWM with a short
> > > duty-cycle. For such devices, the low threshold can be used to specify a
> > > lower bound for the duty-cycle and should be chosen to exclude the
> > > problematic range.
> > > 
> > > Add device tree probing support for lth_brightness putting
> > > low-threshold-brightness as optional property.
> > > 
> > > ...
> > >
> > > --- a/Documentation/devicetree/bindings/video/backlight/pwm-backlight.txt
> > > +++ b/Documentation/devicetree/bindings/video/backlight/pwm-backlight.txt
> > > @@ -14,6 +14,15 @@ Required properties:
> > >  Optional properties:
> > >    - pwm-names: a list of names for the PWM devices specified in the
> > >                 "pwms" property (see PWM binding[0])
> > > +  - low-threshold-brightness: brightness threshold low level. Low threshold
> > > +    brightness set to value so that backlight present on low end of
> > > +    brightness.
> > > +    Some panels, backlight would absent if duty percentage of PWM wave is less
> > > +    than certain level (say 20%). By setting low-threshold-brightness to a
> > > +    value above (percentage of brightness-levels max) 50 (20% of 255, if 255
> > > +    is max). On setting low-threshold-brightness, range of brightness-levels
> > > +    is calculated in a region of low-threshold-brightness to brightness-levels
> > > +    max.
> > 
> > hoo boy, that's hard to follow.  How does this look?
> > 
> > --- a/Documentation/devicetree/bindings/video/backlight/pwm-backlight.txt~pwm_backlight-add-device-tree-support-for-low-threshold-brightness-fix
> > +++ a/Documentation/devicetree/bindings/video/backlight/pwm-backlight.txt
> > @@ -14,15 +14,15 @@ Required properties:
> >  Optional properties:
> >    - pwm-names: a list of names for the PWM devices specified in the
> >                 "pwms" property (see PWM binding[0])
> > -  - low-threshold-brightness: brightness threshold low level. Low threshold
> > -    brightness set to value so that backlight present on low end of
> > -    brightness.
> > -    Some panels, backlight would absent if duty percentage of PWM wave is less
> > -    than certain level (say 20%). By setting low-threshold-brightness to a
> > -    value above (percentage of brightness-levels max) 50 (20% of 255, if 255
> > -    is max). On setting low-threshold-brightness, range of brightness-levels
> > -    is calculated in a region of low-threshold-brightness to brightness-levels
> > -    max.
> > +  - low-threshold-brightness: brightness threshold low level. Sets the lowest
> > +    brightness value.
> > +    On some panels the backlight misbehaves if the duty cycle percentage of the
> > +    PWM wave is less than a certain level (say 20%).  In this example the user
> > +    can set low-threshold-brightness to a value above 50 (ie, 20% of 255), thus
> > +    preventing the PWM duty cycle from going too low.
> > +    On setting low-threshold-brightness the range of brightness levels is
> > +    calculated in the range low-threshold-brightness to the maximum value in
> > +    brightness-levels, described above.
> >  
> >  [0]: Documentation/devicetree/bindings/pwm/pwm.txt
> >  
> > 
> > 
> > Also, I'm wondering if we really needed a new property - couldn't one
> > do this simply by setting brightness-levels to 50..255?
> 
> Yes. This was discussed in the thread that followed the posting of this
> patch's v2. We've decided to drop it and go with brightness-levels only
> for device tree data. Eventually all existing users should convert to
> that as well so we can remove some of the cruft from the platform data
> up.

Andrew/Thierry,

It was decided that patch as dropped and still see it in linux-next.
http://git.kernel.org/?p=linux/kernel/git/next/linux-next.git;a=commit;h=1801ff7f87131190b0a469c26bd7c829601e198c

Thanks
Avinash

> 
> Thierry
> 


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2012-10-11  8:33 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-09-26 14:47 [PATCH v3] pwm_backlight: Add device tree support for Low Threshold Brightness Philip, Avinash
2012-09-27 21:33 ` Andrew Morton
2012-09-28  5:45   ` Thierry Reding
2012-10-11  8:32     ` Philip, Avinash

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).