All of lore.kernel.org
 help / color / mirror / Atom feed
From: Matthias Kaehlcke <mka@chromium.org>
To: Daniel Thompson <daniel.thompson@linaro.org>
Cc: Thierry Reding <thierry.reding@gmail.com>,
	Lee Jones <lee.jones@linaro.org>,
	Jingoo Han <jingoohan1@gmail.com>,
	Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>,
	linux-pwm@vger.kernel.org, dri-devel@lists.freedesktop.org,
	linux-fbdev@vger.kernel.org, linux-kernel@vger.kernel.org,
	Enric Balletbo i Serra <enric.balletbo@collabora.com>,
	Douglas Anderson <dianders@chromium.org>,
	Brian Norris <briannorris@chromium.org>,
	Pavel Machek <pavel@ucw.cz>,
	Jacek Anaszewski <jacek.anaszewski@gmail.com>
Subject: Re: [PATCH v3 2/4] backlight: Expose brightness curve type through sysfs
Date: Mon, 19 Aug 2019 11:50:49 -0700	[thread overview]
Message-ID: <20190819185049.GZ250418@google.com> (raw)
In-Reply-To: <20190819100241.5pctjxmsq6crlale@holly.lan>

Hi Daniel,

On Mon, Aug 19, 2019 at 11:02:41AM +0100, Daniel Thompson wrote:
> On Fri, Aug 16, 2019 at 10:53:17AM -0700, Matthias Kaehlcke wrote:
> > On Fri, Aug 16, 2019 at 04:54:18PM +0100, Daniel Thompson wrote:
> > > On 07/08/2019 21:15, Matthias Kaehlcke wrote:
> > > > On Tue, Jul 09, 2019 at 12:00:05PM -0700, Matthias Kaehlcke wrote:
> > > > > Backlight brightness curves can have different shapes. The two main
> > > > > types are linear and non-linear curves. The human eye doesn't
> > > > > perceive linearly increasing/decreasing brightness as linear (see
> > > > > also 88ba95bedb79 "backlight: pwm_bl: Compute brightness of LED
> > > > > linearly to human eye"), hence many backlights use non-linear (often
> > > > > logarithmic) brightness curves. The type of curve currently is opaque
> > > > > to userspace, so userspace often uses more or less reliable heuristics
> > > > > (like the number of brightness levels) to decide whether to treat a
> > > > > backlight device as linear or non-linear.
> > > > > 
> > > > > Export the type of the brightness curve via the new sysfs attribute
> > > > > 'scale'. The value of the attribute can be 'linear', 'non-linear' or
> > > > > 'unknown'. For devices that don't provide information about the scale
> > > > > of their brightness curve the value of the 'scale' attribute is 'unknown'.
> > > > > 
> > > > > Signed-off-by: Matthias Kaehlcke <mka@chromium.org>
> > > > 
> > > > Daniel (et al): do you have any more comments on this patch/series or
> > > > is it ready to land?
> > > 
> > > I decided to leave it for a long while for others to review since I'm still
> > > a tiny bit uneasy about the linear/non-linear terminology.
> > > 
> > > However that's my only concern, its fairly minor and I've dragged by feet
> > > for more then long enough, so:
> > > Reviewed-by: Daniel Thompson <daniel.thompson@linaro.org>
> > 
> > Thanks!
> > 
> > If you or someone else has another suggestion for the terminology that
> > we can all agree on I'm happy to change it.
> 
> As you will see in my reply to Uwe. The term I tend to adopt when I want
> to be precise about userspace behaviour is "perceptual" (e.g. that a
> backlight can be mapped directly to a slider and it will feel right).
> 
> However that raises its own concerns: mostly about what is perceptual
> enough.
> 
> Clear the automatic brightness curve support in the PWM driver is
> perceptual.
> 
> To be honest I suspect that in most cases a true logarithmic curve (given a
> sane exponent) would be perceptual enough. In other words it will feel
> comfortable with a direct mapped slider and using it for animation
> won't be too bad.
> 
> However when we get right down to it *that* is the information that is
> actually most useful to userspace: explicit confirmation that the scale
> can be mapped directly to a slider. I think it also aligned better with
> Uwe's feedback (e.g. to start working towards having a preferred scale).

IIUC the conclusion is that there is no need for a string attribute
because we only need to distinguish between 'perceptual' and
'non-perceptual'. If that is correct, do you have any preference for
the attribute name ('perceptual_scale', 'perceptual', ...)?

WARNING: multiple messages have this Message-ID (diff)
From: Matthias Kaehlcke <mka@chromium.org>
To: Daniel Thompson <daniel.thompson@linaro.org>
Cc: linux-pwm@vger.kernel.org, linux-fbdev@vger.kernel.org,
	Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>,
	Jingoo Han <jingoohan1@gmail.com>,
	Brian Norris <briannorris@chromium.org>,
	linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org,
	Douglas Anderson <dianders@chromium.org>,
	Thierry Reding <thierry.reding@gmail.com>,
	Jacek Anaszewski <jacek.anaszewski@gmail.com>,
	Pavel Machek <pavel@ucw.cz>,
	Enric Balletbo i Serra <enric.balletbo@collabora.com>,
	Lee Jones <lee.jones@linaro.org>
Subject: Re: [PATCH v3 2/4] backlight: Expose brightness curve type through sysfs
Date: Mon, 19 Aug 2019 11:50:49 -0700	[thread overview]
Message-ID: <20190819185049.GZ250418@google.com> (raw)
In-Reply-To: <20190819100241.5pctjxmsq6crlale@holly.lan>

Hi Daniel,

On Mon, Aug 19, 2019 at 11:02:41AM +0100, Daniel Thompson wrote:
> On Fri, Aug 16, 2019 at 10:53:17AM -0700, Matthias Kaehlcke wrote:
> > On Fri, Aug 16, 2019 at 04:54:18PM +0100, Daniel Thompson wrote:
> > > On 07/08/2019 21:15, Matthias Kaehlcke wrote:
> > > > On Tue, Jul 09, 2019 at 12:00:05PM -0700, Matthias Kaehlcke wrote:
> > > > > Backlight brightness curves can have different shapes. The two main
> > > > > types are linear and non-linear curves. The human eye doesn't
> > > > > perceive linearly increasing/decreasing brightness as linear (see
> > > > > also 88ba95bedb79 "backlight: pwm_bl: Compute brightness of LED
> > > > > linearly to human eye"), hence many backlights use non-linear (often
> > > > > logarithmic) brightness curves. The type of curve currently is opaque
> > > > > to userspace, so userspace often uses more or less reliable heuristics
> > > > > (like the number of brightness levels) to decide whether to treat a
> > > > > backlight device as linear or non-linear.
> > > > > 
> > > > > Export the type of the brightness curve via the new sysfs attribute
> > > > > 'scale'. The value of the attribute can be 'linear', 'non-linear' or
> > > > > 'unknown'. For devices that don't provide information about the scale
> > > > > of their brightness curve the value of the 'scale' attribute is 'unknown'.
> > > > > 
> > > > > Signed-off-by: Matthias Kaehlcke <mka@chromium.org>
> > > > 
> > > > Daniel (et al): do you have any more comments on this patch/series or
> > > > is it ready to land?
> > > 
> > > I decided to leave it for a long while for others to review since I'm still
> > > a tiny bit uneasy about the linear/non-linear terminology.
> > > 
> > > However that's my only concern, its fairly minor and I've dragged by feet
> > > for more then long enough, so:
> > > Reviewed-by: Daniel Thompson <daniel.thompson@linaro.org>
> > 
> > Thanks!
> > 
> > If you or someone else has another suggestion for the terminology that
> > we can all agree on I'm happy to change it.
> 
> As you will see in my reply to Uwe. The term I tend to adopt when I want
> to be precise about userspace behaviour is "perceptual" (e.g. that a
> backlight can be mapped directly to a slider and it will feel right).
> 
> However that raises its own concerns: mostly about what is perceptual
> enough.
> 
> Clear the automatic brightness curve support in the PWM driver is
> perceptual.
> 
> To be honest I suspect that in most cases a true logarithmic curve (given a
> sane exponent) would be perceptual enough. In other words it will feel
> comfortable with a direct mapped slider and using it for animation
> won't be too bad.
> 
> However when we get right down to it *that* is the information that is
> actually most useful to userspace: explicit confirmation that the scale
> can be mapped directly to a slider. I think it also aligned better with
> Uwe's feedback (e.g. to start working towards having a preferred scale).

IIUC the conclusion is that there is no need for a string attribute
because we only need to distinguish between 'perceptual' and
'non-perceptual'. If that is correct, do you have any preference for
the attribute name ('perceptual_scale', 'perceptual', ...)?
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

WARNING: multiple messages have this Message-ID (diff)
From: Matthias Kaehlcke <mka@chromium.org>
To: Daniel Thompson <daniel.thompson@linaro.org>
Cc: linux-pwm@vger.kernel.org, linux-fbdev@vger.kernel.org,
	Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>,
	Jingoo Han <jingoohan1@gmail.com>,
	Brian Norris <briannorris@chromium.org>,
	linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org,
	Douglas Anderson <dianders@chromium.org>,
	Thierry Reding <thierry.reding@gmail.com>,
	Jacek Anaszewski <jacek.anaszewski@gmail.com>,
	Pavel Machek <pavel@ucw.cz>,
	Enric Balletbo i Serra <enric.balletbo@collabora.com>,
	Lee Jones <lee.jones@linaro.org>
Subject: Re: [PATCH v3 2/4] backlight: Expose brightness curve type through sysfs
Date: Mon, 19 Aug 2019 18:50:49 +0000	[thread overview]
Message-ID: <20190819185049.GZ250418@google.com> (raw)
In-Reply-To: <20190819100241.5pctjxmsq6crlale@holly.lan>

Hi Daniel,

On Mon, Aug 19, 2019 at 11:02:41AM +0100, Daniel Thompson wrote:
> On Fri, Aug 16, 2019 at 10:53:17AM -0700, Matthias Kaehlcke wrote:
> > On Fri, Aug 16, 2019 at 04:54:18PM +0100, Daniel Thompson wrote:
> > > On 07/08/2019 21:15, Matthias Kaehlcke wrote:
> > > > On Tue, Jul 09, 2019 at 12:00:05PM -0700, Matthias Kaehlcke wrote:
> > > > > Backlight brightness curves can have different shapes. The two main
> > > > > types are linear and non-linear curves. The human eye doesn't
> > > > > perceive linearly increasing/decreasing brightness as linear (see
> > > > > also 88ba95bedb79 "backlight: pwm_bl: Compute brightness of LED
> > > > > linearly to human eye"), hence many backlights use non-linear (often
> > > > > logarithmic) brightness curves. The type of curve currently is opaque
> > > > > to userspace, so userspace often uses more or less reliable heuristics
> > > > > (like the number of brightness levels) to decide whether to treat a
> > > > > backlight device as linear or non-linear.
> > > > > 
> > > > > Export the type of the brightness curve via the new sysfs attribute
> > > > > 'scale'. The value of the attribute can be 'linear', 'non-linear' or
> > > > > 'unknown'. For devices that don't provide information about the scale
> > > > > of their brightness curve the value of the 'scale' attribute is 'unknown'.
> > > > > 
> > > > > Signed-off-by: Matthias Kaehlcke <mka@chromium.org>
> > > > 
> > > > Daniel (et al): do you have any more comments on this patch/series or
> > > > is it ready to land?
> > > 
> > > I decided to leave it for a long while for others to review since I'm still
> > > a tiny bit uneasy about the linear/non-linear terminology.
> > > 
> > > However that's my only concern, its fairly minor and I've dragged by feet
> > > for more then long enough, so:
> > > Reviewed-by: Daniel Thompson <daniel.thompson@linaro.org>
> > 
> > Thanks!
> > 
> > If you or someone else has another suggestion for the terminology that
> > we can all agree on I'm happy to change it.
> 
> As you will see in my reply to Uwe. The term I tend to adopt when I want
> to be precise about userspace behaviour is "perceptual" (e.g. that a
> backlight can be mapped directly to a slider and it will feel right).
> 
> However that raises its own concerns: mostly about what is perceptual
> enough.
> 
> Clear the automatic brightness curve support in the PWM driver is
> perceptual.
> 
> To be honest I suspect that in most cases a true logarithmic curve (given a
> sane exponent) would be perceptual enough. In other words it will feel
> comfortable with a direct mapped slider and using it for animation
> won't be too bad.
> 
> However when we get right down to it *that* is the information that is
> actually most useful to userspace: explicit confirmation that the scale
> can be mapped directly to a slider. I think it also aligned better with
> Uwe's feedback (e.g. to start working towards having a preferred scale).

IIUC the conclusion is that there is no need for a string attribute
because we only need to distinguish between 'perceptual' and
'non-perceptual'. If that is correct, do you have any preference for
the attribute name ('perceptual_scale', 'perceptual', ...)?

  reply	other threads:[~2019-08-19 18:56 UTC|newest]

Thread overview: 74+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-07-09 19:00 [PATCH v3 0/4] backlight: Expose brightness curve type through sysfs Matthias Kaehlcke
2019-07-09 19:00 ` Matthias Kaehlcke
2019-07-09 19:00 ` [PATCH v3 1/4] MAINTAINERS: Add entry for stable backlight sysfs ABI documentation Matthias Kaehlcke
2019-07-09 19:00   ` Matthias Kaehlcke
2019-09-02  9:41   ` Lee Jones
2019-09-02  9:41     ` Lee Jones
2019-09-02  9:41     ` Lee Jones
2019-07-09 19:00 ` [PATCH v3 2/4] backlight: Expose brightness curve type through sysfs Matthias Kaehlcke
2019-07-09 19:00   ` Matthias Kaehlcke
2019-07-09 19:00   ` Matthias Kaehlcke
2019-08-07 20:15   ` Matthias Kaehlcke
2019-08-07 20:15     ` Matthias Kaehlcke
2019-08-16 15:54     ` Daniel Thompson
2019-08-16 15:54       ` Daniel Thompson
2019-08-16 17:53       ` Matthias Kaehlcke
2019-08-16 17:53         ` Matthias Kaehlcke
2019-08-19 10:02         ` Daniel Thompson
2019-08-19 10:02           ` Daniel Thompson
2019-08-19 18:50           ` Matthias Kaehlcke [this message]
2019-08-19 18:50             ` Matthias Kaehlcke
2019-08-19 18:50             ` Matthias Kaehlcke
2019-08-20 13:56             ` Daniel Thompson
2019-08-20 13:56               ` Daniel Thompson
2019-08-27  9:44               ` Lee Jones
2019-08-27  9:44                 ` Lee Jones
2019-08-29 14:09                 ` Daniel Thompson
2019-08-29 14:09                   ` Daniel Thompson
2019-08-16 16:51   ` Uwe Kleine-König
2019-08-16 16:51     ` Uwe Kleine-König
2019-08-16 17:51     ` Matthias Kaehlcke
2019-08-16 17:51       ` Matthias Kaehlcke
2019-08-16 19:47       ` Uwe Kleine-König
2019-08-16 19:47         ` Uwe Kleine-König
2019-08-16 19:47         ` Uwe Kleine-König
2019-08-16 21:10         ` Matthias Kaehlcke
2019-08-16 21:10           ` Matthias Kaehlcke
2019-08-19  5:46           ` Uwe Kleine-König
2019-08-19  5:46             ` Uwe Kleine-König
2019-08-19  5:46             ` Uwe Kleine-König
2019-08-19  9:50             ` Daniel Thompson
2019-08-19  9:50               ` Daniel Thompson
2019-08-19  9:50               ` Daniel Thompson
2019-08-19 10:21               ` Uwe Kleine-König
2019-08-19 10:21                 ` Uwe Kleine-König
2019-08-19 10:21                 ` Uwe Kleine-König
2019-08-19 11:16                 ` Daniel Thompson
2019-08-19 11:16                   ` Daniel Thompson
2019-08-19 12:29                   ` Uwe Kleine-König
2019-08-19 12:29                     ` Uwe Kleine-König
2019-08-20 14:49               ` Daniel Vetter
2019-08-20 14:49                 ` Daniel Vetter
2019-08-20 14:49                 ` Daniel Vetter
2019-08-21 14:16                 ` Daniel Thompson
2019-08-21 14:16                   ` Daniel Thompson
2019-08-21 14:16                   ` Daniel Thompson
2019-09-02  9:41   ` Lee Jones
2019-09-02  9:41     ` Lee Jones
2019-07-09 19:00 ` [PATCH v3 3/4] backlight: pwm_bl: Set scale type for CIE 1931 curves Matthias Kaehlcke
2019-07-09 19:00   ` Matthias Kaehlcke
2019-09-02  9:41   ` Lee Jones
2019-09-02  9:41     ` Lee Jones
2019-07-09 19:00 ` [PATCH v3 4/4] backlight: pwm_bl: Set scale type for brightness curves specified in the DT Matthias Kaehlcke
2019-07-09 19:00   ` Matthias Kaehlcke
2019-09-02  9:42   ` Lee Jones
2019-09-02  9:42     ` Lee Jones
2019-07-22 23:59 ` [PATCH v3 0/4] backlight: Expose brightness curve type through sysfs Matthias Kaehlcke
2019-07-22 23:59   ` Matthias Kaehlcke
2019-07-25 11:15   ` Lee Jones
2019-07-25 11:15     ` Lee Jones
2019-07-25 17:17     ` Matthias Kaehlcke
2019-07-25 17:17       ` Matthias Kaehlcke
2019-07-25 17:17       ` Matthias Kaehlcke
2019-08-05 10:37       ` Lee Jones
2019-08-05 10:37         ` Lee Jones

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190819185049.GZ250418@google.com \
    --to=mka@chromium.org \
    --cc=b.zolnierkie@samsung.com \
    --cc=briannorris@chromium.org \
    --cc=daniel.thompson@linaro.org \
    --cc=dianders@chromium.org \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=enric.balletbo@collabora.com \
    --cc=jacek.anaszewski@gmail.com \
    --cc=jingoohan1@gmail.com \
    --cc=lee.jones@linaro.org \
    --cc=linux-fbdev@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pwm@vger.kernel.org \
    --cc=pavel@ucw.cz \
    --cc=thierry.reding@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.