All of lore.kernel.org
 help / color / mirror / Atom feed
From: Daniel Thompson <daniel.thompson@linaro.org>
To: Daniel Vetter <daniel@ffwll.ch>
Cc: "Uwe Kleine-König" <u.kleine-koenig@pengutronix.de>,
	linux-pwm <linux-pwm@vger.kernel.org>,
	"Linux Fbdev development list" <linux-fbdev@vger.kernel.org>,
	"Sascha Hauer" <kernel@pengutronix.de>,
	"Bartlomiej Zolnierkiewicz" <b.zolnierkie@samsung.com>,
	"Jingoo Han" <jingoohan1@gmail.com>,
	"Brian Norris" <briannorris@chromium.org>,
	"Linux Kernel Mailing List" <linux-kernel@vger.kernel.org>,
	dri-devel <dri-devel@lists.freedesktop.org>,
	"Douglas Anderson" <dianders@chromium.org>,
	"Matthias Kaehlcke" <mka@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: Wed, 21 Aug 2019 15:16:17 +0100	[thread overview]
Message-ID: <20190821141617.e5avfbyvooddixcd@holly.lan> (raw)
In-Reply-To: <CAKMK7uEJptKgoAwTO+OuN0HrBiMMG21w0QAdgD=pHBLoKLi38Q@mail.gmail.com>

On Tue, Aug 20, 2019 at 04:49:21PM +0200, Daniel Vetter wrote:
> On Mon, Aug 19, 2019 at 11:50 AM Daniel Thompson
> <daniel.thompson@linaro.org> wrote:
> > On Mon, Aug 19, 2019 at 07:46:28AM +0200, Uwe Kleine-König wrote:
> > > And the big upside is that in the end (i.e. when all kernel drivers and
> > > userspace applications are adapted to provide/consume the "correct"
> > > curve) the result is simpler.
> >
> > My view is that this convergence will eventually be achieved but it will
> > happen through the obsolescence of the backlight sysfs interface. The
> > sysfs interface has other flaws, in particular no integration with the
> > DRM connector API.
> >
> > Thus I would expect an alternative interface to emerge, most likely as
> > part of the DRM connector API. I'd expect such a new API to a
> > perceptual scale and to have a fixed max brightness with enough
> > steps to support animated backlight effects (IIRC 0..100 has been
> > proposed in the past)
> >
> > In the mean time getting the existing collection of backlight drivers
> > marked up as linear/logarithmic/etc will ease the introduction of that
> > API because, within the kernel, we might have gathered enough knowledge
> > to have some hope of correctly mapping each backlight onto a
> > standardized scale.
> 
> In case people wonder why the drm connector based backlight interface
> hasn't happened ages ago, some more context:
> 
> - userspace (well libbacklight) selects the right backlight, using
> some priority search. Plus blacklists in drivers to make sure they're
> not overriding the real backlight driver (e.g. acpi has higher
> priority in libbacklight, but on modern system it's not the backlight
> driver you want. If we move that into the kernel it's going to be
> somewhat a mess, since defacto you never know when loading is complete
> and you actually have the right backlight driver.
> 
> This isn't a problem on DT platforms, but really just for x86/acpi
> platforms. But if we don't fix them, then userspace adoption of these
> new interfaces will likely be too low to matter.
> 
> - second issue is that right now the kms client is supposed to handle
> backlight around modeset, like fbdev does through the fb notifier.
> Except for drivers which do handle the backlight across modesets, but
> maybe not the right backlight. If we move the backlight interface to
> drm connectors then the right thing would be for the drm driver to
> handle backlight enable/disable across modesets. But to make that
> work, userspace needs to stop touching it (otherwise userspace first
> disables, then the kernel and then on restore the two fight and
> usually black screen wins), and that's a bit a tricky uapi problem of
> not breaking existing userspace.
> 
> - finally there's some userspace which assumes the lowest backlight
> setting is actually off, and uses that to do fast modesets. This
> doesn't work on most ACPI backlights, so I think that problem isn't
> widespread.
> 
> Anyway from watching from afar, I think this clarification on what the
> backlight scale means internally should at least help us somewhat in
> the long term. But the long term solution itself needs someone with
> way too much time I fear, so lets not hold up anything on that.

Thanks for sharing your views on this.


Daniel.

WARNING: multiple messages have this Message-ID (diff)
From: Daniel Thompson <daniel.thompson@linaro.org>
To: Daniel Vetter <daniel@ffwll.ch>
Cc: linux-pwm <linux-pwm@vger.kernel.org>,
	"Linux Fbdev development list" <linux-fbdev@vger.kernel.org>,
	"Pavel Machek" <pavel@ucw.cz>,
	"Bartlomiej Zolnierkiewicz" <b.zolnierkie@samsung.com>,
	"Jingoo Han" <jingoohan1@gmail.com>,
	"Brian Norris" <briannorris@chromium.org>,
	"Linux Kernel Mailing List" <linux-kernel@vger.kernel.org>,
	dri-devel <dri-devel@lists.freedesktop.org>,
	"Douglas Anderson" <dianders@chromium.org>,
	"Matthias Kaehlcke" <mka@chromium.org>,
	"Thierry Reding" <thierry.reding@gmail.com>,
	"Jacek Anaszewski" <jacek.anaszewski@gmail.com>,
	"Sascha Hauer" <kernel@pengutronix.de>,
	"Uwe Kleine-König" <u.kleine-koenig@pengutronix.de>,
	"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: Wed, 21 Aug 2019 15:16:17 +0100	[thread overview]
Message-ID: <20190821141617.e5avfbyvooddixcd@holly.lan> (raw)
In-Reply-To: <CAKMK7uEJptKgoAwTO+OuN0HrBiMMG21w0QAdgD=pHBLoKLi38Q@mail.gmail.com>

On Tue, Aug 20, 2019 at 04:49:21PM +0200, Daniel Vetter wrote:
> On Mon, Aug 19, 2019 at 11:50 AM Daniel Thompson
> <daniel.thompson@linaro.org> wrote:
> > On Mon, Aug 19, 2019 at 07:46:28AM +0200, Uwe Kleine-König wrote:
> > > And the big upside is that in the end (i.e. when all kernel drivers and
> > > userspace applications are adapted to provide/consume the "correct"
> > > curve) the result is simpler.
> >
> > My view is that this convergence will eventually be achieved but it will
> > happen through the obsolescence of the backlight sysfs interface. The
> > sysfs interface has other flaws, in particular no integration with the
> > DRM connector API.
> >
> > Thus I would expect an alternative interface to emerge, most likely as
> > part of the DRM connector API. I'd expect such a new API to a
> > perceptual scale and to have a fixed max brightness with enough
> > steps to support animated backlight effects (IIRC 0..100 has been
> > proposed in the past)
> >
> > In the mean time getting the existing collection of backlight drivers
> > marked up as linear/logarithmic/etc will ease the introduction of that
> > API because, within the kernel, we might have gathered enough knowledge
> > to have some hope of correctly mapping each backlight onto a
> > standardized scale.
> 
> In case people wonder why the drm connector based backlight interface
> hasn't happened ages ago, some more context:
> 
> - userspace (well libbacklight) selects the right backlight, using
> some priority search. Plus blacklists in drivers to make sure they're
> not overriding the real backlight driver (e.g. acpi has higher
> priority in libbacklight, but on modern system it's not the backlight
> driver you want. If we move that into the kernel it's going to be
> somewhat a mess, since defacto you never know when loading is complete
> and you actually have the right backlight driver.
> 
> This isn't a problem on DT platforms, but really just for x86/acpi
> platforms. But if we don't fix them, then userspace adoption of these
> new interfaces will likely be too low to matter.
> 
> - second issue is that right now the kms client is supposed to handle
> backlight around modeset, like fbdev does through the fb notifier.
> Except for drivers which do handle the backlight across modesets, but
> maybe not the right backlight. If we move the backlight interface to
> drm connectors then the right thing would be for the drm driver to
> handle backlight enable/disable across modesets. But to make that
> work, userspace needs to stop touching it (otherwise userspace first
> disables, then the kernel and then on restore the two fight and
> usually black screen wins), and that's a bit a tricky uapi problem of
> not breaking existing userspace.
> 
> - finally there's some userspace which assumes the lowest backlight
> setting is actually off, and uses that to do fast modesets. This
> doesn't work on most ACPI backlights, so I think that problem isn't
> widespread.
> 
> Anyway from watching from afar, I think this clarification on what the
> backlight scale means internally should at least help us somewhat in
> the long term. But the long term solution itself needs someone with
> way too much time I fear, so lets not hold up anything on that.

Thanks for sharing your views on this.


Daniel.
_______________________________________________
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: Daniel Thompson <daniel.thompson@linaro.org>
To: Daniel Vetter <daniel@ffwll.ch>
Cc: linux-pwm <linux-pwm@vger.kernel.org>,
	"Linux Fbdev development list" <linux-fbdev@vger.kernel.org>,
	"Pavel Machek" <pavel@ucw.cz>,
	"Bartlomiej Zolnierkiewicz" <b.zolnierkie@samsung.com>,
	"Jingoo Han" <jingoohan1@gmail.com>,
	"Brian Norris" <briannorris@chromium.org>,
	"Linux Kernel Mailing List" <linux-kernel@vger.kernel.org>,
	dri-devel <dri-devel@lists.freedesktop.org>,
	"Douglas Anderson" <dianders@chromium.org>,
	"Matthias Kaehlcke" <mka@chromium.org>,
	"Thierry Reding" <thierry.reding@gmail.com>,
	"Jacek Anaszewski" <jacek.anaszewski@gmail.com>,
	"Sascha Hauer" <kernel@pengutronix.de>,
	"Uwe Kleine-König" <u.kleine-koenig@pengutronix.de>,
	"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: Wed, 21 Aug 2019 14:16:17 +0000	[thread overview]
Message-ID: <20190821141617.e5avfbyvooddixcd@holly.lan> (raw)
In-Reply-To: <CAKMK7uEJptKgoAwTO+OuN0HrBiMMG21w0QAdgD=pHBLoKLi38Q@mail.gmail.com>

On Tue, Aug 20, 2019 at 04:49:21PM +0200, Daniel Vetter wrote:
> On Mon, Aug 19, 2019 at 11:50 AM Daniel Thompson
> <daniel.thompson@linaro.org> wrote:
> > On Mon, Aug 19, 2019 at 07:46:28AM +0200, Uwe Kleine-König wrote:
> > > And the big upside is that in the end (i.e. when all kernel drivers and
> > > userspace applications are adapted to provide/consume the "correct"
> > > curve) the result is simpler.
> >
> > My view is that this convergence will eventually be achieved but it will
> > happen through the obsolescence of the backlight sysfs interface. The
> > sysfs interface has other flaws, in particular no integration with the
> > DRM connector API.
> >
> > Thus I would expect an alternative interface to emerge, most likely as
> > part of the DRM connector API. I'd expect such a new API to a
> > perceptual scale and to have a fixed max brightness with enough
> > steps to support animated backlight effects (IIRC 0..100 has been
> > proposed in the past)
> >
> > In the mean time getting the existing collection of backlight drivers
> > marked up as linear/logarithmic/etc will ease the introduction of that
> > API because, within the kernel, we might have gathered enough knowledge
> > to have some hope of correctly mapping each backlight onto a
> > standardized scale.
> 
> In case people wonder why the drm connector based backlight interface
> hasn't happened ages ago, some more context:
> 
> - userspace (well libbacklight) selects the right backlight, using
> some priority search. Plus blacklists in drivers to make sure they're
> not overriding the real backlight driver (e.g. acpi has higher
> priority in libbacklight, but on modern system it's not the backlight
> driver you want. If we move that into the kernel it's going to be
> somewhat a mess, since defacto you never know when loading is complete
> and you actually have the right backlight driver.
> 
> This isn't a problem on DT platforms, but really just for x86/acpi
> platforms. But if we don't fix them, then userspace adoption of these
> new interfaces will likely be too low to matter.
> 
> - second issue is that right now the kms client is supposed to handle
> backlight around modeset, like fbdev does through the fb notifier.
> Except for drivers which do handle the backlight across modesets, but
> maybe not the right backlight. If we move the backlight interface to
> drm connectors then the right thing would be for the drm driver to
> handle backlight enable/disable across modesets. But to make that
> work, userspace needs to stop touching it (otherwise userspace first
> disables, then the kernel and then on restore the two fight and
> usually black screen wins), and that's a bit a tricky uapi problem of
> not breaking existing userspace.
> 
> - finally there's some userspace which assumes the lowest backlight
> setting is actually off, and uses that to do fast modesets. This
> doesn't work on most ACPI backlights, so I think that problem isn't
> widespread.
> 
> Anyway from watching from afar, I think this clarification on what the
> backlight scale means internally should at least help us somewhat in
> the long term. But the long term solution itself needs someone with
> way too much time I fear, so lets not hold up anything on that.

Thanks for sharing your views on this.


Daniel.

  reply	other threads:[~2019-08-21 14:16 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
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 [this message]
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=20190821141617.e5avfbyvooddixcd@holly.lan \
    --to=daniel.thompson@linaro.org \
    --cc=b.zolnierkie@samsung.com \
    --cc=briannorris@chromium.org \
    --cc=daniel@ffwll.ch \
    --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=kernel@pengutronix.de \
    --cc=lee.jones@linaro.org \
    --cc=linux-fbdev@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pwm@vger.kernel.org \
    --cc=mka@chromium.org \
    --cc=pavel@ucw.cz \
    --cc=thierry.reding@gmail.com \
    --cc=u.kleine-koenig@pengutronix.de \
    /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.