lkml.org 
[lkml]   [2012]   [Sep]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRE: [PATCH v2] pwm_backlight: Add device tree support for Low Threshold Brightness
Date
On Tue, Sep 25, 2012 at 11:49:14, Stephen Warren wrote:
> On 09/24/2012 10:29 PM, Philip, Avinash wrote:
> > On Fri, Sep 21, 2012 at 23:13:39, Stephen Warren wrote:
> >> On 09/21/2012 12:03 AM, Philip, Avinash wrote:
> >>> Hi Stephen,
> >>>
> >>> On Fri, Sep 21, 2012 at 10:46:45, Stephen Warren wrote:
> >>>> On 09/20/2012 10:51 PM, Philip, Avinash wrote:
> >>>>> Some backlights 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.
> >>>>>
> >>>>> This patch adds support for an optional low-threshold-brightness
> >>>>> property.
> >>>>
> >>>>> diff --git a/Documentation/devicetree/bindings/video/backlight/pwm-backlight.txt b/Documentation/devicetree/bindings/video/backlight/pwm-backlight.txt
> >>>>
> >>>>> 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.
> >>>>
> >>>> For my education, why not just specify values above this value in the
> >>>> brightness-levels array; how do those two interact?
> >>>
> >>> Please find details from
> >>> https://lkml.org/lkml/2012/7/18/284
> >>
> >> Hmm. That still doesn't really explain what this property does.
> >>
> >> I'm going to guess that if this property is present, and values in the
> >> brightness-levels property get scaled between the
> >> low-threshold-brightness and 255 instead of being used directly.
> >
> > This is correct.
> >
> >> But then, in the email you linked to, what does "But brightness-levels won't
> >> be uniformly divided" mean?
> >
> > For some panels, backlight would absent on low end of brightness due to low
> > percentage in duty_cycle. Consider following example where backlight absent
> > for brightness levels from 0 - 51.
> >
> > pwms = <&pwm 0 50000>;
> > brightness-levels = <0 51 53 56 62 75 101 152 255>;
> > default-brightness-level = <6>;
> >
> > So in the example, brightness-levels are set to have values for backlight present.
> > Here levels are not uniformly divided.
>
> So why not just change the values so they /are/ what you want? After
> all, it's just data and you can put whatever values you want there. What
> is preventing you from doing this?

brightness_threshold_level was added to explore lth_brightness support already
present in non-DT case.

>
> Perhaps e.g.:
>
> brightness-levels = <0 101 106 112 124 150 202 304 511>;
> (just multiplying everything by N, for arbitrary N=2, to get extra
> precision)
>
> ... plus whatever adjustments are required to make the data "uniformly
> divided", which I can't do in the example here since I'd need to know
> whatever non-linear equation characterizes the backlight's PWM % duty
> cycle to perceived brightness mapping.
>
> The only thing that could be preventing this is mathematical precision.
> While all the PWM DT examples I've seen have brightness-levels range
> from 0..255, I don't think there is any such actual limit; you could
> range from say 0..1000000 if you wanted, right?

The observation is correct. There are no fixed levels, configure these values
as required. This is a scale of division for brightness variation. A linear
division in brightness won't give much difference in high end of brightness-levels
scale. So adopting binary division in brightness-levels will allow better resolution
in brightness.

>
> >> Either way, the DT binding should explain exactly what this value is
> >> used for, and how it affects the interpretation of values in
> >> brightness-levels.
> >
> > Is DT binding documentation a good place to explain this feature?
> > Initially Thierry suggested document option. So I left out.
>
> The binding documents are supposed to be a standalone description of
> what the data in DT does; given general no-Linux-specific domain
> knowledge, the binding document should be detailed enough for someone to
> understand how to fill in the DT. So, yes, I think the binding document
> would be a great place to put such documentation.

I will add details.

Thanks
Avinash

>



\
 
 \ /
  Last update: 2012-09-26 07:21    [W:0.070 / U:0.392 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site