From: Aaron Lu <aaron.lwe@gmail.com>
To: "Rafael J. Wysocki" <rjw@sisk.pl>
Cc: Matthew Garrett <matthew.garrett@nebula.com>,
daniel.vetter@ffwll.ch, linux-acpi@vger.kernel.org,
seth.forshee@canonical.com, joeyli.kernel@gmail.com,
intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org,
linux-kernel@vger.kernel.org, lenb@kernel.org
Subject: Re: [PATCH 3/3] i915: Don't provide ACPI backlight interface if firmware expects Windows 8
Date: Sat, 06 Jul 2013 13:45:56 +0800 [thread overview]
Message-ID: <51D7AF14.9050508@gmail.com> (raw)
In-Reply-To: <2962350.laXfENfrac@vostro.rjw.lan>
On 07/06/2013 06:23 AM, Rafael J. Wysocki wrote:
> On Friday, July 05, 2013 11:40:02 PM Rafael J. Wysocki wrote:
>> On Friday, July 05, 2013 10:00:55 PM Rafael J. Wysocki wrote:
>>> On Friday, July 05, 2013 02:20:14 PM Rafael J. Wysocki wrote:
>>>> On Sunday, June 09, 2013 07:01:39 PM 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();
>>>>> }
>>>>>
>>>>> if (IS_GEN5(dev))
>>>>>
>>>>
>>>> Well, this causes build failures to happen when the ACPI video driver is
>>>> modular and the graphics driver is not.
>>>>
>>>> I'm not sure how to resolve that, so suggestions are welcome.
>>>
>>> Actually, that happened with the radeon patch.
>>>
>>> That said, ACPI_OSI_WIN_8 doesn't make much sense for !CONFIG_ACPI, for
>>> example.
>>>
>>> What about making acpi_video_register() do the quirk instead? We could add an
>>> argument to it indicating whether or not quirks should be applied.
>>
>> Actually, I wonder what about the appended patch (on top of the Aaron's
>> https://patchwork.kernel.org/patch/2812951/) instead of [1-3/3] from this series.
>
> Or even something as simple as this one.
>
> ---
> drivers/acpi/video_detect.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> Index: linux-pm/drivers/acpi/video_detect.c
> ===================================================================
> --- linux-pm.orig/drivers/acpi/video_detect.c
> +++ linux-pm/drivers/acpi/video_detect.c
> @@ -203,6 +203,9 @@ long acpi_video_get_capabilities(acpi_ha
> */
>
> dmi_check_system(video_detect_dmi_table);
> +
> + if (acpi_gbl_osi_data >= ACPI_OSI_WIN_8)
> + acpi_video_support |= ACPI_VIDEO_BACKLIGHT_FORCE_VENDOR;
Then vendor driver(thinkpad_acpi) will step in and create a backlight
interface for the system, which, unfortunately, is also broken for those
win8 thinkpads.
So we will need to do something in thinkpad_acpi to also not create
backlight interface for these systems too.
This actually doesn't feel bad to me, since the modules are blacklisting
their own interfaces. The downside is of course, two quirk code exist.
BTW, unregistering ACPI video's backlight interface in GPU driver doesn't
have this problem since it made the platform driver think the ACPI video
driver will control the backlight and then use the newly added API to
remove ACPI video created backlight interface.
Thanks,
Aaron
> } else {
> status = acpi_bus_get_device(graphics_handle, &tmp_dev);
> if (ACPI_FAILURE(status)) {
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
next prev parent reply other threads:[~2013-07-06 5:45 UTC|newest]
Thread overview: 84+ 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-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
2013-06-14 17:29 ` Matthew Garrett
2013-06-15 1:26 ` Aaron Lu
2013-06-15 1:38 ` Matthew Garrett
2013-06-15 4:14 ` Aaron Lu
2013-06-15 4:19 ` Matthew Garrett
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 [this message]
2013-07-06 13:33 ` 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 23:53 ` Rafael J. Wysocki
2013-07-16 7:45 ` Igor Gnatenko
2013-07-16 13:32 ` Igor Gnatenko
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 11:38 ` Rafael J. Wysocki
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-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: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:46 ` Yves-Alexis Perez
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 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 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-31 0:01 ` Rafael J. Wysocki
2013-07-31 0:01 ` Matthew Garrett
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 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=51D7AF14.9050508@gmail.com \
--to=aaron.lwe@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=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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).