All of lore.kernel.org
 help / color / mirror / Atom feed
From: Aaron Lu <aaron.lu@intel.com>
To: Matthew Garrett <matthew.garrett@nebula.com>
Cc: linux-acpi@vger.kernel.org,
	Seth Forshee <seth.forshee@canonical.com>,
	"Lee, Chun-Yi" <joeyli.kernel@gmail.com>,
	daniel.vetter@ffwll.ch, intel-gfx@lists.freedesktop.org,
	dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org,
	Len Brown <lenb@kernel.org>, "Rafael J. Wysocki" <rjw@sisk.pl>,
	Zhang Rui <rui.zhang@intel.com>, Aaron Lu <aaron.lwe@gmail.com>,
	Alex Deucher <alexdeucher@gmail.com>
Subject: Re: [PATCH 3/3] i915: Don't provide ACPI backlight interface if firmware expects Windows 8
Date: Fri, 14 Jun 2013 14:47:11 +0800	[thread overview]
Message-ID: <51BABC6F.3050201@intel.com> (raw)
In-Reply-To: <1370818899-8595-4-git-send-email-matthew.garrett@nebula.com>

On 06/10/2013 07:01 AM, Matthew Garrett wrote:
> Windows 8 leaves backlight control up to individual graphics drivers rather
> than making ACPI calls itself. There's plenty of evidence to suggest that
> the Intel driver for Windows doesn't use the ACPI interface, including the
> fact that it's broken on a bunch of machines when the OS claims to support
> Windows 8. The simplest thing to do appears to be to disable the ACPI
> backlight interface on these systems.
> 
> Signed-off-by: Matthew Garrett <matthew.garrett@nebula.com>
> ---
>  drivers/gpu/drm/i915/i915_dma.c | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c
> index 3b315ba..23b6292 100644
> --- a/drivers/gpu/drm/i915/i915_dma.c
> +++ b/drivers/gpu/drm/i915/i915_dma.c
> @@ -1661,6 +1661,9 @@ int i915_driver_load(struct drm_device *dev, unsigned long flags)
>  		/* Must be done after probing outputs */
>  		intel_opregion_init(dev);
>  		acpi_video_register();
> +		/* Don't use ACPI backlight functions on Windows 8 platforms */
> +		if (acpi_osi_version() >= ACPI_OSI_WIN_8)
> +			acpi_video_backlight_unregister();

What about the platform driver created backlight interface? Oh right,
thinkpad_acpi will not create backlight interface for them since they
are not in DMI table, so acpi_video_backlight_support() will return
true and thinkspad_acpi thinks ACPI video driver is controlling
backlight so it will not create backlight interface for them.

Then we will need to remember not to add any of those systems into
the DMI table of video_detect.c, or thinkpad_acpi module will create
backlight interface for them and according to reporter, that interface
does not work either.

What about a priority based solution? We can introduce a new field named
priority to backlight_device and instead of calling another module's
function like the unregister one here(which cause unnecessary module
dependency), we only need to boost priority for its own interface. This
field will be exported to sysfs, so user can change it during runtime
too. And we can also introduce a new kernel command line as
backlight.force_interface=raw/firmware/platform, to overcome the limited
functionality provided by acpi_backlight=video/vendor, which does not
involve GPU's interface.

And we can place the quirk code in backlight layer instead of individual
backlight functionality provider module. Suppose we have a backlight
manager there, for all win8 systems, we can boost the raw type's
priority on its registration, so no need to add code in
intel/amd/etc./'s GPU driver code.

With priority based solution, all backlight control interfaces stay,
the priority field is an indication given by kernel to user space.

For a complete description on backlight control background and the
proposed solution, please take a look at:
https://gist.github.com/aaronlu/5779828

It would be good to know your opinions, thanks.

-Aaron

  parent reply	other threads:[~2013-06-14  6:46 UTC|newest]

Thread overview: 108+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-06-09 23:01 [PATCH 0/3] Fix backlight issues on some Windows 8 systems Matthew Garrett
2013-06-09 23:01 ` [PATCH 1/3] acpi: video: add function to support unregister backlight interface Matthew Garrett
2013-06-09 23:01 ` [PATCH 2/3] ACPICA: Add interface for getting latest OS version requested via _OSI Matthew Garrett
2013-06-17 22:31   ` Rafael J. Wysocki
2013-06-17 22:37     ` Matthew Garrett
2013-06-17 22:37       ` Matthew Garrett
2013-06-18  0:42       ` Rafael J. Wysocki
2013-06-25 23:23         ` Rafael J. Wysocki
2013-07-02 13:56           ` [PATCH 0/2] Expose OSI version Aaron Lu
2013-07-02 13:59             ` [PATCH 1/2] ACPICA: expose " Aaron Lu
2013-07-02 14:01             ` [PATCH 2/2] ACPI / OSL: add a wrapper function to return " Aaron Lu
2013-07-03 21:57               ` Rafael J. Wysocki
2013-07-04  1:24                 ` Aaron Lu
2013-07-05 19:52                   ` Rafael J. Wysocki
2013-06-09 23:01 ` [PATCH 3/3] i915: Don't provide ACPI backlight interface if firmware expects Windows 8 Matthew Garrett
2013-06-10  7:40   ` Daniel Vetter
2013-06-10  9:22   ` joeyli
2013-06-10 14:09   ` Alex Deucher
2013-06-14  6:47   ` Aaron Lu [this message]
2013-06-14 17:29     ` Matthew Garrett
2013-06-14 17:29       ` Matthew Garrett
2013-06-15  1:26       ` Aaron Lu
2013-06-15  1:38         ` Matthew Garrett
2013-06-15  1:38           ` Matthew Garrett
2013-06-15  4:14           ` Aaron Lu
2013-06-15  4:14             ` Aaron Lu
2013-06-15  4:19             ` Matthew Garrett
2013-06-15 12:29               ` Aaron Lu
2013-06-15 12:29                 ` Aaron Lu
2013-06-15 15:16                 ` Matthew Garrett
2013-06-15 18:29                   ` Daniel Vetter
2013-06-15 18:44                     ` Matthew Garrett
2013-06-15 20:27                     ` Rafael J. Wysocki
2013-06-15 20:35                       ` Daniel Vetter
2013-07-05 12:20   ` Rafael J. Wysocki
2013-07-05 20:00     ` Rafael J. Wysocki
2013-07-05 21:40       ` Rafael J. Wysocki
2013-07-05 22:23         ` Rafael J. Wysocki
2013-07-06  5:45           ` Aaron Lu
2013-07-06 13:33             ` Rafael J. Wysocki
2013-07-07 13:19               ` Rafael J. Wysocki
2013-07-07 13:19                 ` Rafael J. Wysocki
2013-07-08  8:00                 ` Aaron Lu
2013-07-13  0:46                   ` [Update][PATCH] ACPI / video / i915: Remove ACPI backlight " Rafael J. Wysocki
2013-07-15  2:36                     ` Aaron Lu
2013-07-15 11:42                       ` Rafael J. Wysocki
2013-07-16  3:24                         ` Aaron Lu
2013-07-16 11:54                           ` Rafael J. Wysocki
2013-07-15 13:06                     ` Igor Gnatenko
2013-07-15 13:06                       ` Igor Gnatenko
2013-07-15 23:53                       ` Rafael J. Wysocki
2013-07-16  7:45                         ` Igor Gnatenko
2013-07-16  7:45                           ` Igor Gnatenko
2013-07-16 13:32                     ` Igor Gnatenko
2013-07-16 13:32                       ` Igor Gnatenko
2013-07-16 17:08                       ` Matthew Garrett
2013-07-16 17:08                         ` Matthew Garrett
2013-07-16 22:01                         ` Rafael J. Wysocki
2013-07-17  5:16                           ` Igor Gnatenko
2013-07-17  5:16                             ` Igor Gnatenko
2013-07-17 11:38                             ` Rafael J. Wysocki
2013-07-17 12:03                               ` Igor Gnatenko
2013-07-17 12:03                                 ` Igor Gnatenko
2013-06-10 11:59 ` [PATCH 0/3] Fix backlight issues on some Windows 8 systems Rafael J. Wysocki
2013-06-10 13:48   ` Matthew Garrett
2013-06-10 13:48     ` Matthew Garrett
2013-06-11 13:08 ` Seth Forshee
2013-06-22 21:46 ` Yves-Alexis Perez
2013-06-25 16:08   ` Matthew Garrett
2013-06-25 16:10     ` Daniel Vetter
2013-06-25 16:13       ` Matthew Garrett
2013-06-25 20:43     ` Yves-Alexis Perez
2013-06-25 20:43       ` Yves-Alexis Perez
2013-06-25 20:54       ` Matthew Garrett
2013-06-25 21:10         ` Yves-Alexis Perez
2013-06-25 21:14           ` Matthew Garrett
2013-06-25 21:30             ` Yves-Alexis Perez
2013-06-25 21:33               ` Matthew Garrett
2013-06-25 21:33                 ` Matthew Garrett
2013-06-25 21:46                 ` Yves-Alexis Perez
2013-06-25 21:49                   ` Matthew Garrett
2013-06-25 21:49                     ` Matthew Garrett
2013-07-17 15:51   ` Felipe Contreras
2013-07-17 19:57     ` Yves-Alexis Perez
2013-07-18  0:16 ` [Update][PATCH " Rafael J. Wysocki
2013-07-18  0:20   ` [PATCH 1/3] ACPICA: expose OSI version Rafael J. Wysocki
2013-07-18  5:38     ` Igor Gnatenko
2013-07-18  5:38       ` Igor Gnatenko
2013-07-18  0:21   ` [PATCH 2/3] ACPI / video: Always call acpi_video_init_brightness() on init Rafael J. Wysocki
2013-07-18  5:40     ` Igor Gnatenko
2013-07-18  5:40       ` Igor Gnatenko
2013-07-18  0:22   ` [PATCH 3/3] ACPI / video / i915: No ACPI backlight if firmware expects Windows 8 Rafael J. Wysocki
2013-07-20 13:16   ` [Update][PATCH 0/3] Fix backlight issues on some Windows 8 systems Felipe Contreras
2013-07-26 13:24     ` Jani Nikula
2013-07-29 18:01       ` Felipe Contreras
2013-07-30  5:03         ` Jani Nikula
2013-07-31  0:01   ` Rafael J. Wysocki
2013-07-31  0:01     ` Matthew Garrett
2013-07-31  0:01       ` Matthew Garrett
2013-07-31  6:48     ` Igor Gnatenko
2013-07-31  6:48       ` Igor Gnatenko
2013-07-31  9:08     ` Aaron Lu
2013-08-07  7:44 ` Backlight control only in the kernel? Borislav Petkov
2013-08-07  9:03   ` Aaron Lu
2013-08-07 10:34     ` Borislav Petkov
2013-08-07 10:36   ` Matthew Garrett
2013-08-07 10:36     ` Matthew Garrett
2013-08-07 11:04     ` Borislav Petkov

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=51BABC6F.3050201@intel.com \
    --to=aaron.lu@intel.com \
    --cc=aaron.lwe@gmail.com \
    --cc=alexdeucher@gmail.com \
    --cc=daniel.vetter@ffwll.ch \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=joeyli.kernel@gmail.com \
    --cc=lenb@kernel.org \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=matthew.garrett@nebula.com \
    --cc=rjw@sisk.pl \
    --cc=rui.zhang@intel.com \
    --cc=seth.forshee@canonical.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.