[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CA+ASDXOq7KQ+f4KMh0gaC9hvXaxBDdsbiJxiTbeOJ9ZVaeNJag@mail.gmail.com>
Date: Tue, 11 Jun 2019 09:55:30 -0700
From: Brian Norris <briannorris@...gle.com>
To: Daniel Thompson <daniel.thompson@...aro.org>
Cc: Matthias Kaehlcke <mka@...omium.org>, Pavel Machek <pavel@....cz>,
Enric Balletbo i Serra <enric.balletbo@...labora.com>,
Doug Anderson <dianders@...gle.com>,
Rob Herring <robh+dt@...nel.org>,
Jingoo Han <jingoohan1@...il.com>,
Richard Purdie <rpurdie@...ys.net>,
Jacek Anaszewski <jacek.anaszewski@...il.com>,
Guenter Roeck <groeck@...gle.com>,
Lee Jones <lee.jones@...aro.org>,
Alexandru Stan <amstan@...gle.com>, linux-leds@...r.kernel.org,
devicetree <devicetree@...r.kernel.org>,
Linux Kernel <linux-kernel@...r.kernel.org>,
kernel@...labora.com
Subject: Re: [PATCH v3 3/4] backlight: pwm_bl: compute brightness of LED
linearly to human eye.
On Tue, Jun 11, 2019 at 3:49 AM Daniel Thompson
<daniel.thompson@...aro.org> wrote:
> This is a long standing flaw in the backlight interfaces. AFAIK generic
> userspaces end up with a (flawed) heuristic.
Bingo! Would be nice if we could start to fix this long-standing flaw.
> Basically devices with a narrow range of choices can be assumed to be
> logarithmic
That's (almost, see below) exactly what we have.
(And this is what Matthias is fighting against, now that we're
implementing both "large number of data points" and "pre-curved" at
the same time. We will have to either adapt the heuristic, or else
adapt our device trees to fit the heuristic.)
> Systems are coming along that allow us to animate the change of
> brightness (part of the reason for interpolated tables is to
> permit smooth animation rather than because the user explicitly wants
> to set the brightness to exactly 1117).
Chrome OS has done this for a long time. So "coming along" is a bit late ;)
Also, I believe Chrome OS will do animation/smoothing for all tables
(small or large) where it can: even for the small tables.
> These systems are often
> logarithmic but with a wide range of values.
NB: Chrome OS happens to use a polynomial formula (exponent = 2 or
0.5, depending on how you look at it), not logarithmic. You can see it
in all its (non)glory here:
https://chromium.googlesource.com/chromiumos/platform2/+/ee015853b227cf265491bd80ccf096b188490529/power_manager/powerd/policy/internal_backlight_controller.cc#451
Regards,
Brian
Powered by blists - more mailing lists