From mboxrd@z Thu Jan 1 00:00:00 1970 From: Hans de Goede Subject: Re: ACPI/i915: Cannot configure display brightness on Dell Latitude E6440 Date: Wed, 24 Sep 2014 14:04:36 +0200 Message-ID: <5422B354.4010005@redhat.com> References: <201409232206.02819@pali> <54227E9A.7080107@redhat.com> <201409241059.41465@pali> <201409241114.11604@pali> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <201409241114.11604@pali> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: =?UTF-8?B?UGFsaSBSb2jDoXI=?= Cc: Aaron Lu , David Airlie , Daniel Vetter , intel-gfx@lists.freedesktop.org, "Rafael J. Wysocki" , linux-kernel@vger.kernel.org, linux-acpi@vger.kernel.org, dri-devel@lists.freedesktop.org, Zhang Rui , Len Brown List-Id: linux-acpi@vger.kernel.org SGksCgpPbiAwOS8yNC8yMDE0IDExOjE0IEFNLCBQYWxpIFJvaMOhciB3cm90ZToKPiBPbiBXZWRu ZXNkYXkgMjQgU2VwdGVtYmVyIDIwMTQgMTA6NTk6NDEgUGFsaSBSb2jDoXIgd3JvdGU6Cj4+IE9u IFdlZG5lc2RheSAyNCBTZXB0ZW1iZXIgMjAxNCAxMDoxOTozOCBIYW5zIGRlIEdvZWRlIHdyb3Rl Ogo+Pj4gSGksCj4+Pgo+Pj4gT24gMDkvMjMvMjAxNCAxMDo0NCBQTSwgUGFsaSBSb2jDoXIgd3Jv dGU6Cj4+Pj4gT24gVHVlc2RheSAyMyBTZXB0ZW1iZXIgMjAxNCAyMjozMTozMSB5b3Ugd3JvdGU6 Cj4+Pj4+IEhpLAo+Pj4+Pgo+Pj4+PiBPbiAwOS8yMy8yMDE0IDEwOjA2IFBNLCBQYWxpIFJvaMOh ciB3cm90ZToKPj4+Pj4+IEhlbGxvLAo+Pj4+Pj4KPj4+Pj4+IGFmdGVyIGJpZyBjaGFuZ2VzIGlu IGFjcGkgdmlkZW8vaTkxNSBjb2RlIEkgY2Fubm90Cj4+Pj4+PiBjaGFuZ2UgZGlzcGxheSBicmln aHRuZXNzIG9uIG15IERlbGwgTGF0aXR1ZGUgRTY0NDAKPj4+Pj4+IHdpdGgga2VybmVsIDMuMTct cmM2LiBXaXRoIGtlcm5lbCAzLjEzIGV2ZXJ5dGhpbmcKPj4+Pj4+IHdvcmtlZCBmaW5lLgo+Pj4+ Pj4KPj4+Pj4+IE1vcmUgaW5mb3JtYXRpb24gYWJvdXQgdGhpcyBwcm9ibGVtOgo+Pj4+Pj4KPj4+ Pj4+IEZvciBjb25maWd1cmluZyBicmlnaHRuZXNzIG9uIERlbGwgbGFwdG9wcyB0aGVyZSBhcmUg NAo+Pj4+Pj4gd2F5czogMSkgdmlhIGFjcGkgdmlkZW8gZHJpdmVyCj4+Pj4+PiAyKSB2aWEgZGVs bC1sYXB0b3AgZHJpdmVyCj4+Pj4+PiAzKSB2aWEgaTkxNSBkcm0gZHJpdmVyCj4+Pj4+PiA0KSBm cm9tIHVzZXJzcGFjZSB3aXRoIHNwZWNpYWwgZGVsbCBTTUkgY2FsbAo+Pj4+Pj4KPj4+Pj4+ICAg ICAoZS5nIHdpdGggcHJvZ3JhbSBkZWxsTGNkQnJpZ2h0bmVzcyBmcm9tIGxpYnNtYmlvcwo+Pj4+ Pj4gICAgIHBhY2thZ2UpCj4+Pj4+Pgo+Pj4+Pj4gTWV0aG9kcyAyKSBhbmQgNCkgYXJlIHNhbWUs IGJvdGggbWFraW5nIHNwZWNpYWwgU01JIGNhbGwKPj4+Pj4+IGFuZCBCaW9zIGhhbmRpbmcgdGhp cyByZXF1ZXN0IChqdXN0IDIgaXMgZnJvbSBrZXJuZWwgYW5kCj4+Pj4+PiA0IGZyb20gdXNlcnNw YWNlKQo+Pj4+Pj4KPj4+Pj4+IE1ldGhvZCAxKSB2aWEgYWNwaSB2aWRlbyBkcml2ZXIgd29ya2lu ZywgYnV0IGlzIG5vdAo+Pj4+Pj4gcGVyZmVjdC4gRHJpdmVyIGNhbiBiZSB1c2VkIHRvIGNoYW5n ZSBicmlnaHRuZXNzIChidXQKPj4+Pj4+IG9ubHkgc29tZSBsZXZlbHMsIHByb2JhYmx5IHRoaXMg ZGVwZW5kcyBvbiBhY3BpL0RTRFQKPj4+Pj4+IHRhYmxlcyksIGJ1dCBjYW5ub3QgYmUgdXNlZCB0 byByZXRyaWV2ZSBjdXJyZW50Cj4+Pj4+PiBicmlnaHRuZXNzICh3aGVuIEJJT1MvU01JIGNoYW5n ZSBicmlnaHRuZXNzIGFjcGkgZHJpdmVyCj4+Pj4+PiByZXBvcnQgb2xkIGluY29ycmVjdCB2YWx1 ZSkuIFNvIEkgcHJlZmVyIGRlbGwtbGFwdG9wCj4+Pj4+PiBkcml2ZXIgaW5zdGVhZCBhY3BpIHZp ZGVvLgo+Pj4+Pj4KPj4+Pj4+IE1ldGhvZCAzKSB3b3JraW5nIGV2ZW4gd2l0aCAzLjE3LXJjNiBr ZXJuZWwgYnV0IGJlY2F1c2UKPj4+Pj4+IHRoYXQgYmFja2xpZ2h0IGRldmljZSBleHBvcnRlZCBi eSBpOTE1IGlzIG1hcmtlZCBhcyByYXcsCj4+Pj4+PiBkZXNrdG9wIHByb2dyYW1zIHByZWZlciB0 byB1c2Ugb3RoZXIgZGV2aWNlcy4KPj4+Pj4+Cj4+Pj4+PiBNb3Jlb3ZlciBpdCBsb29rcyBsaWtl IHRoYXQgbWV0aG9kcyAxKSAyKSBhbmQgNCkganVzdAo+Pj4+Pj4gZm9yd2FyZCByZXF1ZXN0IHRv IG1ldGhvZCAzKS4gU28gaW4gYW55IGNhc2VkIGJyaWdodG5lc3MKPj4+Pj4+IGlzIGNoYW5nZWQg YnkgaTkxNSBkcm0gZHJpdmVyLgo+Pj4+Pj4KPj4+Pj4+IEknbSBub3Qgc3VyZSAoY29ycmVjdCBt ZSBpZiBJJ20gd3JvbmchKSBidXQgSSB0aGluayB0aGF0Cj4+Pj4+PiBpbnRlbCBpOTE1IGRybSBk cml2ZXIgYWNjZXB0IGNoYW5nZXMgKGZpbGUKPj4+Pj4+IGludGVsX29wcmVnaW9uLmMpIG9ubHkg aWYgYWNwaSBmdW5jdGlvbgo+Pj4+Pj4gYWNwaV92aWRlb192ZXJpZnlfYmFja2xpZ2h0X3N1cHBv cnQoKSByZXR1cm5zIHRydWUuCj4+Pj4+Pgo+Pj4+Pj4gRnVuY3Rpb24gYWNwaV92aWRlb192ZXJp ZnlfYmFja2xpZ2h0X3N1cHBvcnQoKSByZXR1cm5zCj4+Pj4+PiB0cnVlIGlmZjogZnVuY3Rpb24g YWNwaV92aWRlb19iYWNrbGlnaHRfc3VwcG9ydCgpCj4+Pj4+PiByZXR1cm5zIHRydWUgQU5EIGF0 IGxlYXN0IG9uZSBvZiB0aGVzZSBmdW5jdGlvbnMKPj4+Pj4+IHJldHVybnMgZmFsc2U6IGFjcGlf b3NpX2lzX3dpbjgoKQo+Pj4+Pj4gYWNwaV92aWRlb191c2VfbmF0aXZlX2JhY2tsaWdodCgpCj4+ Pj4+PiBiYWNrbGlnaHRfZGV2aWNlX3JlZ2lzdGVyZWQoQkFDS0xJR0hUX1JBVykKPj4+Pj4+Cj4+ Pj4+PiBPbiBteSBub3RlYm9vayBhY3BpX29zaV9pc193aW44KCkgcmV0dXJucyB0cnVlIChhcyBp cwo+Pj4+Pj4gd2luOCBjb21wbGlhbnQpLAo+Pj4+Pj4gYmFja2xpZ2h0X2RldmljZV9yZWdpc3Rl cmVkKEJBQ0tMSUdIVF9SQVcpIHJldHVybnMgdHJ1ZQo+Pj4+Pj4gYXMgSSdtIHVzaW5nIGludGVs IGk5MTUgZHJtIGRyaXZlciB3aXRoIHJhdyBiYWNrbGlnaHQKPj4+Pj4+IGRldmljZSBhbmQgYWNw aV92aWRlb191c2VfbmF0aXZlX2JhY2tsaWdodCgpIHJldHVybnMKPj4+Pj4+IHRydWUvZmFsc2Ug ZGVwZW5kaW5nIG9uCj4+Pj4+PiAidmlkZW8udXNlX25hdGl2ZV9iYWNrbGlnaHQiIGtlcm5lbCBw YXJhbS4gRGVmYXVsdCBpcwo+Pj4+Pj4gdHJ1ZS4KPj4+Pj4+Cj4+Pj4+PiBTbyBpZiBJIHdhbnQg dG8gaGF2ZSB3b3JraW5nIGFjcGkgdmlkZW8gZHJpdmVyIHdpdGgKPj4+Pj4+IGRpc3BsYXkgYnJp Z2h0bmVzcyBzdXBwb3J0IEkgbmVlZCB0byBib290IGtlcm5lbCB3aXRoCj4+Pj4+PiBwYXJhbTog InZpZGVvLnVzZV9uYXRpdmVfYmFja2xpZ2h0PTAiLiBJIHRlc3RlZCBpdCB3aXRoCj4+Pj4+PiBr ZXJuZWwgMy4xNy1yYzYgYW5kIHRoaXMgcGFyYW0gcmVhbGx5IGVuYWJsZWQgZGlzcGxheQo+Pj4+ Pj4gYnJpZ2h0bmVzcyBzdXBwb3J0IHZpYSBhY3BpIHZpZGVvIGRyaXZlciAtLSB3aGljaCBpcwo+ Pj4+Pj4gZ29vZC4KPj4+Pj4+Cj4+Pj4+PiBEcml2ZXIgZGVsbC1sYXB0b3AgY3JlYXRpbmcgYmFj a2xpZ2ggZGV2aWNlIGZvcgo+Pj4+Pj4gYnJpZ2h0bmVzcyBjb250cm9sIG9ubHkgaWYKPj4+Pj4+ IGFjcGlfdmlkZW9fYmFja2xpZ2h0X3N1cHBvcnQoKSByZXR1cm5zIGZhbHNlLiBUaGVyZSBpcwo+ Pj4+Pj4gY29tcGxpY2F0ZWQgY29uZGl0aW9uIGZvciBpdCBhbmQgd2hlbiBrZXJuZWwgaXMgYm9v dGVkCj4+Pj4+PiB3aXRoICJ2aWRlby51c2VfbmF0aXZlX2JhY2tsaWdodD0wIiB0aGF0IGZ1bmN0 aW9uCj4+Pj4+PiByZXR1cm5zIHRydWUuCj4+Pj4+Pgo+Pj4+Pj4gU28gY29uY2x1c2lvbiBpczog V2l0aCBjdXJyZW50IGNvZGUgaW4ga2VybmVsIDMuMTctcmM2Cj4+Pj4+PiBpdCBpcyBub3QgcG9z c2libGUgdG8gY29udHJvbCBicmlnaHRuZXNzIG9mIGRpc3BsYXkKPj4+Pj4+IHdpdGggbmF0aXZl IGRyaXZlciBkZWxsLWxhcHRvcCBvbiBEZWxsIExhdGl0dWRlIEU2NDQwCj4+Pj4+PiAoYW5kIHBy b2JhYmx5IG9uIG90aGVycyB0b28pISEhCj4+Pj4+Pgo+Pj4+Pj4gQW5kIEJlY2F1c2UgbGFwdG9w IGlzIHdpbjggY29tcGxpYW50IGFuZCB5b3UgY3JlYXRlCj4+Pj4+PiBkZWNpc2lvbiB0byB1c2Ug bmF0aXZlIGRyaXZlciAoaW5zdGVhZCBhY3BpIG9uZSkgaXQgaXMKPj4+Pj4+IG5vdCBwb3NzaWJs ZSB0byBjb250cm9sIGRpc3BsYXkgYnJpZ2h0bmVzcyB3aXRob3V0Cj4+Pj4+PiB0d2Vla3MgaW4g a2VybmVsIGNtZGxpbmUuCj4+Pj4+Pgo+Pj4+Pj4gQXMgSSB3cm90ZSBJIHdvdWxkIHJhdGhlciB0 byB1c2UgbmF0aXZlIGRlbGwtbGFwdG9wCj4+Pj4+PiBkcml2ZXIgZm9yIGNvbnRyb2xsaW5nIGJy aWdodG5lc3MsIGJ1dCBpdCBpcyBub3QKPj4+Pj4+IHBvc3NpYmxlLgo+Pj4+Pj4KPj4+Pj4+IFNv IGhvdyB0byBzb2x2ZSB0aGlzIHByb2JsZW0/Cj4+Pj4+Pgo+Pj4+Pj4gUXVpY2sgc29sdXRpb24g d291bGQgYmUgdG8gc2V0IHVzZV9uYXRpdmVfYmFja2xpZ2h0Cj4+Pj4+PiBmYWxzZSBmb3Igc29t ZSBEZWxsIGxhcHRvcHMgd2hpY2ggbWVhbnMsIHRoYXQgYWNwaQo+Pj4+Pj4gdmlkZW8gd2lsbCBi ZSB1c2VkIGFuZCBpbiB0aGlzIGNhc2UgaW50ZWwgaTkxNSBkcml2ZXIKPj4+Pj4+IHdpbGwgKm5v dCogZHJvcCBiYWNrbGlnaHQgY2hhbmdlIHJlcXVlc3QuCj4+Pj4+Pgo+Pj4+Pj4gQW5vdGhlciBz b2x1dGlvbiBjb3VsZCBiZSB0byBkaXNhYmxlIGNoZWNrIGluCj4+Pj4+PiBkZWxsX2xhcHRvcCBk cml2ZXIgYW5kIGFkZCB1c2VfbmF0aXZlX2JhY2tsaWdodD0wIHRvCj4+Pj4+PiBob29rcy4gQnV0 IHRoaXMgY3JlYXRlIHR3byBiYWNrbGlnaHQgaW50ZXJmYWNlcyAod2hpY2gKPj4+Pj4+IGlzIG5v dCBnb29kKSwgYnV0IG9ubHkgd2F5IChmb3Igbm93KSBob3cgdG8gbWFrZQo+Pj4+Pj4gZGVsbF9s YXB0b3Agd29ya2luZyBhZ2Fpbi4KPj4+Pj4+Cj4+Pj4+PiBCZXR0ZXIgYW5kIG1heWJlIG9ubHkg b25lIHByb3BlciBzb2x1dGlvbiB3b3VsZCBiZSB0bwo+Pj4+Pj4gdGVhY2ggaW50ZWwgZHJtIGk5 MTUgZHJpdmVyIHRvIG5vdCBkcm9wIGJhY2tsaWdodCBjaGFuZ2UKPj4+Pj4+IHJlcXVlc3QgZm9y IERlbGwgbGFwdG9wcyAob3IgYWxsPz8pLiAoVGhpcyBhbGxvd3MgdG8KPj4+Pj4+IHdvcmsgYm90 aCBhY3BpIHZpZGVvIGFuZCBkZWxsX2xhcHRvcCBkcml2ZXJzIHdpdGhvdXQKPj4+Pj4+IGFueSBj aGFuZ2UgYW5kIHdpdGggKmFueSogdmFsdWUgaW4gcGFyYW0KPj4+Pj4+IHVzZV9uYXRpdmVfYmFj a2xpZ2h0KS4gSSB0aGluayB0aGF0IHByb2JsZW1hdGljIGNvZGUgaXMKPj4+Pj4+IGluIGZ1bmN0 aW9uIGFzbGVfc2V0X2JhY2tsaWdodCgpIGluIGZpbGUKPj4+Pj4+IGludGVsX29wcmVnaW9uLmMg KGJ1dCBJJ20gbm90IHN1cmUpLiBNeSBpZGVhIGlzIHRoYXQKPj4+Pj4+ICJkcm9wIiBldmVudCBm dW5jdGlvbiBpdCBpcyBjYXVzZWQgYnkgdGhpcyBjb21taXQKPj4+Pj4+IDBiOWY3ZDkzY2E2MTA5 MDQ4YTRlYjA2MzMyYjY2NmI2ZTI5ZGY0ZmUgKGJ1dCBJJ20gbm90Cj4+Pj4+PiBzdXJlKS4KPj4+ Pj4+Cj4+Pj4+PiBBdCBsZWFzdCBzb21ldGhpbmcgbXVzdCBiZSBkb25lIGFzIEkgdGhpbmsgdGhh dCBJJ20gbm90Cj4+Pj4+PiBvbmx5IG9uZSB3aG8gaGFzIERlbGwgbGFwdG9wIGFuZCBicmlnaHRu ZXNzCj4+Pj4+PiBjb25maWd1cmF0aW9uIGlzIHJlYWxseSBpbXBvcnRhbnQuLi4KPj4+Pj4KPj4+ Pj4gSSBkb24ndCB1bmRlcnN0YW5kIHlvdXIgcHJvYmxlbSwgdGhlIGtlcm5lbCBpcyBzZWxlY3Rp bmcKPj4+Pj4gdGhlIGk5MTUgYmFja2xpZ2h0IGRyaXZlciwgbWFraW5nIHRoYXQgdGhlIG9ubHkg b25lCj4+Pj4+IGF2YWlsYWJsZSB0byB1c2Vyc3BhY2UsIHNvIHRoZSBvbmUgcHJvYmxlbSB5b3Ug c3RhdGUgd2l0aAo+Pj4+PiB0aGUgaTkxNSBkcml2ZXIsIHRoYXQgaXQgaXMgInJhdyIgaXMgbm90 IGFuIGlzc3VlLCBhcwo+Pj4+PiB1c2Vyc3BhY2Ugd2lsbCBwaWNrIGl0IHdoZW4gaXQgaXMgdGhl IG9ubHkgb25lLgo+Pj4+Cj4+Pj4gSXQgaXMgbm90IG9ubHkgb25lLgo+Pj4KPj4+IEFyZSB5b3Ug c3VyZSwgaWYgeW91IGRvIG5vdCBzcGVjaWZ5IGFueSBjb21tYW5kbGluZQo+Pj4gcGFyYW1ldGVy cywgdGhlbiBuZWl0aGVyIGRlbGwtbGFwdG9wIG5vciBhY3BpLXZpZGVvIHNob3VsZAo+Pj4gcmVn aXN0ZXIgYSBiYWNrbGlnaHQgaW50ZXJmYWNlLgo+Pj4KPj4+IGRlbGwtbGFwdG9wLmMgaGFzOgo+ Pj4KPj4+ICNpZmRlZiBDT05GSUdfQUNQSQo+Pj4KPj4+ICAgICAgICAgLyogSW4gdGhlIGV2ZW50 IG9mIGFuIEFDUEkgYmFja2xpZ2h0IGJlaW5nCj4+PiAgICAgICAgIGF2YWlsYWJsZSwKPj4+Cj4+ PiBkb24ndCAqIHJlZ2lzdGVyIHRoZSBwbGF0Zm9ybSBjb250cm9sbGVyLgo+Pj4KPj4+ICAgICAg ICAgICovCj4+PiAgICAgICAgIAo+Pj4gICAgICAgICBpZiAoYWNwaV92aWRlb19iYWNrbGlnaHRf c3VwcG9ydCgpKQo+Pj4gICAgICAgICAKPj4+ICAgICAgICAgICAgICAgICByZXR1cm4gMDsKPj4+ Cj4+PiAjZW5kaWYKPj4+Cj4+PiBBbmQgYWNwaV92aWRlb19iYWNrbGlnaHRfc3VwcG9ydCgpIHdp bGwgKG5vcm1hbGx5KSByZXR1cm4KPj4+IHRydWUgb24gYWNwaS1iYWNrbGlnaHQgY2FwYWJsZSBz eXN0ZW1zIGluZGVwZW5kZW50IG9mCj4+PiB1c2VfbmF0aXZlX2JhY2tsaWdodC4KPj4+Cj4+PiBB bmQgZHJpdmVycy9hY3BpL3ZpZGVvLmMgaGFzIHRoaXM6Cj4+PiAgICAgICAgIC8qIG5vIHdhcm5p bmcgbWVzc2FnZSBpZiBhY3BpX2JhY2tsaWdodD12ZW5kb3Igb3IgYQo+Pj4KPj4+IHF1aXJrIGlz IHVzZWQgKi8gaWYgKCFhY3BpX3ZpZGVvX3ZlcmlmeV9iYWNrbGlnaHRfc3VwcG9ydCgpKQo+Pj4K Pj4+ICAgICAgICAgICAgICAgICByZXR1cm47Cj4+Pgo+Pj4gLi4uCj4+Pgo+Pj4gYm9vbCBhY3Bp X3ZpZGVvX3ZlcmlmeV9iYWNrbGlnaHRfc3VwcG9ydCh2b2lkKQo+Pj4gewo+Pj4KPj4+ICAgICAg ICAgaWYgKGFjcGlfb3NpX2lzX3dpbjgoKSAmJgo+Pj4KPj4+IGFjcGlfdmlkZW9fdXNlX25hdGl2 ZV9iYWNrbGlnaHQoKSAmJgo+Pj4gYmFja2xpZ2h0X2RldmljZV9yZWdpc3RlcmVkKEJBQ0tMSUdI VF9SQVcpKSByZXR1cm4gZmFsc2U7Cj4+Pgo+Pj4gICAgICAgICByZXR1cm4gYWNwaV92aWRlb19i YWNrbGlnaHRfc3VwcG9ydCgpOwo+Pj4KPj4+IH0KPj4+Cj4+PiBTbyB1bmxpa2UgdGhlIGNoZWNr IGluIGRlbGwtbGFwdG9wIHRoaXMgb25lIGRvZXMgZGVwZW5kIG9uCj4+PiB0aGUgdXNlX25hdGl2 ZV9iYWNrbGlnaHQgc2V0dGluZy4KPj4KPj4gSXQgZGVwZW5kcyAoc2VlIG15IHByZXZpb3VzIG1h aWwpLiBIZXJlIGlzIGNvZGU6Cj4+Cj4+IHN0YXRpYyBib29sIGFjcGlfdmlkZW9fdXNlX25hdGl2 ZV9iYWNrbGlnaHQodm9pZCkKPj4gewo+PiAJaWYgKHVzZV9uYXRpdmVfYmFja2xpZ2h0X3BhcmFt ICE9IC0xKQo+PiAJCXJldHVybiB1c2VfbmF0aXZlX2JhY2tsaWdodF9wYXJhbTsKPj4gCWVsc2UK Pj4gCQlyZXR1cm4gdXNlX25hdGl2ZV9iYWNrbGlnaHRfZG1pOwo+PiB9CgpOb3Qgc3VyZSB3aGF0 IHlvdSdyZSB0cnlpbmcgdG8gc2F5IGhlcmUsIHRoZSBkZWZhdWx0IGZvcgp0aGlzIGlzIDEsIHNv IGlmIHlvdSBkb24ndCBzcGVjaWZ5IGFueXRoaW5nLCB0aGVuIHRoaXM6Cgpib29sIGFjcGlfdmlk ZW9fdmVyaWZ5X2JhY2tsaWdodF9zdXBwb3J0KHZvaWQpCnsKICAgICAgICBpZiAoYWNwaV9vc2lf aXNfd2luOCgpICYmIGFjcGlfdmlkZW9fdXNlX25hdGl2ZV9iYWNrbGlnaHQoKSAmJgogICAgICAg ICAgICBiYWNrbGlnaHRfZGV2aWNlX3JlZ2lzdGVyZWQoQkFDS0xJR0hUX1JBVykpCiAgICAgICAg ICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgcmV0dXJuIGFjcGlfdmlkZW9fYmFja2xpZ2h0 X3N1cHBvcnQoKTsKfQoKV2lsbCByZXR1cm4gZmFsc2UsIGFuZCB5b3Ugd29uJ3QgZ2V0IGFuIGFj cGlfdmlkZW8wIGJhY2tsaWdodCBpbnRlcmZhY2UsCm9ubHkgdGhlIGludGVsX2JhY2tsaWdodCBv bmUsIGFuZCBldmVyeXRoaW5nIHNob3VsZCBqdXN0IHdvcmsKKGV4Y2VwdCBmb3IgdGhlIHR1cm5p bmcgb2ZmIG9uIGxvdyBzZXR0aW5ncykuCgpIYXZlIHlvdSB0cmllZCBub3QgdXNpbmcgYW55IGtl cm5lbCBjb21tYW5kbGluZSBvcHRpb25zPyBXaGF0IGhhcHBlbnM/Cgo+Pgo+Pj4gSSd2ZSBqdXN0 IGNoZWNrZWQgMy4xNyBvbiBteSBFNjQzMCBhbmQgdGhlcmUgdGhpcyB3b3JrcyBhcwo+Pj4gaXQg c2hvdWxkLCBJIG9ubHkgZ2V0IHRoZSBpbnRlbF9iYWNrbGlnaHQgaW4KPj4+IC9zeXMvY2xhc3Mv YmFja2xpZ2h0Cj4+Pgo+Pj4+IEFsc28gZGVsbC1sYXB0b3AgKG9yIGFjcGkgdmlkZW8pIGJhY2ts aWdodAo+Pj4+IGludGVyZmFjZSBpcyBjcmVhdGVkIChkZXBlbmRzIG9uIHVzZV9uYXRpdmVfYmFj a2xpZ2h0Cj4+Pj4gcGFyYW0pLiBBbmQgdXNlcnNwYWNlIHdpbGwgcGljayBkZWxsLWxhcHRvcCAo b3IgYWNwaQo+Pj4+IHZpZGVvKSB0byB1c2UgKHdoaWNoIGNhbm5vdCBjaGFuZ2UgYnJpZ2h0bmVz cykuCj4+Pj4KPj4+Pj4gV2h5IHdvdWxkIHlvdSB3YW50IHRvIHVzZSBkZWxsLWxhcHRvcCBkZXNw aXRlIHRoZSBpOTE1Cj4+Pj4+IGRyaXZlciB3b3JraW5nIGZpbmUgPwo+Pj4+Cj4+Pj4gaTkxNSB3 b3JraW5nIG9ubHkgaWYgSSBjb21waWxlIGtlcm5lbCB3aXRob3V0IGFjcGkgdmlkZW8KPj4+PiBk ZWxsLSBsYXB0b3Agc3VwcG9ydCAoZGlzdHJpYnV0aW9ucyBjb21waWxlIGtlcm5lbCB3aXRoCj4+ Pj4gdGhlc2UgZHJpdmVycykgYW5kIGk5MTUgaXMgbm90IGdvb2QgZm9yIHVzYWdlLiBGaXJzdCBp dAo+Pj4+IHByb3ZpZGVzIG1vcmUgdGhlbiB0aG91c2FuZCBicmlnaHRuZXNzIGxldmVscyBhbmQg bG90IG9mCj4+Pj4gKHdpdGggbG93IG51bWJlcnMpIGNvbXBsZXRlbHkgdHVybiBkaXNwbGF5IG9m Zi4gQW5kIGlmCj4+Pj4gdXNlcnNwYWNlIG1hcCB0aGVzZSB0aG91c2FuZCBsZXZlbHMgaW50byA1 LTEwIGxldmVscyAoYXMKPj4+PiBub2JvZHkgd2FudCB0byBwcmVzcyBicmlnaHRuZXNzIGtleSB1 cC9kb3duIDEwMDB4KSB0d28KPj4+PiBsb3dlc3QgbGV2ZWxzIGNhdXNlIGRpc3BsYXkgb2ZmLgo+ Pj4KPj4+IE1vcmUgYW5kIG1vcmUgbGFwdG9wcyB3aWxsIG9ubHkgaGF2ZSB3b3JraW5nIGJhY2ts aWdodAo+Pj4gY29udHJvbCBhdCBhbGwgd2hlbiB1c2luZyBpOTE1LCBzbyB1c2Vyc3BhY2Ugd2ls bCBuZWVkIHRvCj4+PiBsZWFybiB0byBiZXR0ZXIgZGVhbCB3aXRoIGJhY2tsaWdodCBjb250cm9s cyB3aXRoIHRoZXNlCj4+PiByYW5nZXMuIEFuZCBsb3cgcHdtIGxldmVscyB0dXJuaW5nIHRoZSBi YWNrbGlnaHQgb2YgaXMKPj4+IG5vcm1hbCBmb3IgcmF3IGludGVyZmFjZXMsIGlmIHVzZXJzcGFj ZSBkb2VzIG5vdCB3YW50IHRoaXMsCj4+PiB0aGVuIHRoZXkgc2hvdWxkIG5vdCBnbyBzbyBsb3cu Cj4+Cj4+IFNvIHRoZW4ga2VybmVsIHNob3VsZCByZXBvcnQgd2hpY2ggbG93IGxldmVscyB0dXJu IGJhY2tsaWdodAo+PiBvZmYgc28gdXNlcnNwYWNlIHdpbGwga25vdyB3aGljaCBsZXZlbHMgc2hv dWxkIGF2b2lkLiBCdXQKPj4gdGhpcyBpcyBub3QgaW1wbGVtZW50ZWQgeWV0Lgo+Pgo+Pj4gSSBz dWdnZXN0IHRoYXQgeW91IGZpbGUgYSBidWcgYWdhaW5zdCB5b3VyIGRlc2t0b3AKPj4+IGVudmly b25tZW50IHRoYXQgaXQgaXMgbm90IHVzaW5nIHRoZSBiYWNrbGlnaHQgY29udHJvbHMgaW4KPj4+ IGFuIG9wdGltYWwgbWFubmVyLCBmcm9tIHRoZSBrZXJuZWwgcG92IGV2ZXJ5dGhpbmcgaXMKPj4+ IHdvcmtpbmcgZmluZS4KPj4KPj4gT25jZSBJIHdpbGwga25vdyB3aGljaCBsZXZlbHMgc2hvdWxk IG5vdCBERSB1c2UgSSBjYW4gcmVwb3J0Cj4+IGJ1Zy4KPj4KPj4+PiBXaXRoIGFjcGkKPj4+PiB2 aWRlbyBhbmQgZGVsbC1sYXB0b3AgZHJpdmVyIGxldmVscyBhcmUgbWFwcGVkIGludG8gc21hbGwK Pj4+PiBsZXZlbCBzcGFjZSBpbiBwZXJmZWN0IHdheS4gU28gdGhpcyBpcyByZWFzb24gSSB3YW50 IHRvCj4+Pj4gdXNlIGRlbGwtbGFwdG9wIGZvciBjb250cm9sbGluZyBicmlnaHRuZXNzLgo+Pj4K Pj4+IElmIHlvdSB3YW50IHRvIHVzZSBkZWxsLWxhcHRvcCwgc3BlY2lmeQo+Pj4gYWNwaV9iYWNr bGlnaHQ9dmVuZG9yIG9uIHRoZSBrZXJuZWwgY29tbWFuZGxpbmUsIHRoYXQgd2lsbAo+Pj4gZ2l2 ZSB5b3UgZGVsbF9sYXB0b3AgKyBpbnRlbF9iYWNrbGlnaHQgYXMgYmFja2xpZ2h0Cj4+PiBpbnRl cmZhY2VzLCBhbmQgdXNlcnNwYWNlIHNob3VsZCBwcmVmZXIgZGVsbF9sYXB0b3AuCj4+Cj4+IFdp dGggYWNwaV9iYWNrbGlnaHQ9dmVuZG9yIGRlbGwtbGFwdG9wIGlzIG5vdCB3b3JraW5nLCBzZWUg bXkKPj4gcHJldmlvdXMgbWFpbC4gSW4gdGhpcyBjYXNlIGludGVsIGk5MTUgZHJtIGRyaXZlciBp Z25vcmUgYmlvcwo+PiBldmVudHMgZm9yIGNoYW5naW5nIGJyaWdodG5lc3MuIEFuZCB1c2Vyc3Bh Y2UgcHJlZmVyIHRvIHVzZQo+PiBkZWxsX2xhcHRvcCB3aGljaCBkbyBub3RoaW5nIQo+Pgo+IAo+ IE9rLCB0aGF0IHByb2JsZW1hdGljIGNvbW1pdCBpczoKPiAKPiBBQ1BJIC8gaTkxNTogaWdub3Jl IGZpcm13YXJlIHJlcXVlc3RzIGZvciBiYWNrbGlnaHQgY2hhbmdlCj4gMGI5ZjdkOTNjYTYxMDkw NDhhNGViMDYzMzJiNjY2YjZlMjlkZjRmZQo+IAo+IFdoZW4gSSByZXZlcnRlZCBpdCBhY3BpX2Jh Y2tsaWdodD12ZW5kb3Igc3RhcnRlZCB3b3JraW5nIGFnYWluIAo+ICh2aWEgZGVsbF9sYXB0b3Ap LiBXaXRob3V0IHJldmVydGluZyB0aGF0IGNvbW1pdCBkZWxsX2xhcHRvcCAKPiBzaW1wbHkgZG8g bm90aGluZy4KPiAKPiBUZXN0ZWQgYW5kIG9uIG15IGxhcHRvcCBEZWxsIExhdGl0dWRlIEU2NDQw IGRyaXZlciBkZWxsX2xhcHRvcCAKPiBkb2VzIG5vdCB3b3JrIHdpdGggYWJvdmUgY29tbWl0LgoK SG1tLCBpbnRlcmVzdGluZywgc28gd2hlbiBkZWxsLWxhcHRvcCByZWdpc3RlcnMgYW5kIG1ha2Vz IGEgZmV3CmNhbGxzIHVzaW5nIHRoZSBkZWxsLWxhcHRvcCBhY3BpIGludGVyZmFjZSwgdGhlbiB5 b3UgZWl0aGVyCnN0b3AgZ2V0dGluZyBrZXkgcHJlc3MgZXZlbnRzIHRocm91Z2ggdGhlIGFjcGkt dmlkZW8tYnVzLCBvcgpkZWxsLWxhcHRvcCBpcyBqdXN0IGEgc2hpbSBhcm91bmQgdGhlIGk5MTUg aW50ZXJmYWNlIHdpdGggdGhlCmZpcm13YXJlIGNhbGxpbmcgaW50byBpdHNlbGYgb24gdGhlc2Ug bW9kZWxzLiBHaXZlbiB0aGF0IGRlbGwtbGFwdG9wCmlzIGFuY2llbnQsIHRoZSBzaGltIHN0b3J5 IGlzIG5vdCB0aGF0IGZhciBmZXRjaGVkLgoKRG8geW91IHN0aWxsIGdldCBhbiBvbiBzY3JlZW4g ZGlzcGxheSBzaG93aW5nIHRoZSBicmlnaHRuZXNzIHdoZW4KdXNpbmcgYSBrZXJuZWwgd2l0aG91 dCB0aGlzIHBhdGNoICsgYWNwaV9iYWNrbGlnaHQ9dmVuZG9yID8KClJlZ2FyZHMsCgpIYW5zCl9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBt YWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMu ZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg== From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753370AbaIXME4 (ORCPT ); Wed, 24 Sep 2014 08:04:56 -0400 Received: from mx1.redhat.com ([209.132.183.28]:1420 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751076AbaIXMEy (ORCPT ); Wed, 24 Sep 2014 08:04:54 -0400 Message-ID: <5422B354.4010005@redhat.com> Date: Wed, 24 Sep 2014 14:04:36 +0200 From: Hans de Goede User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.0 MIME-Version: 1.0 To: =?UTF-8?B?UGFsaSBSb2jDoXI=?= CC: "Rafael J. Wysocki" , Zhang Rui , Len Brown , linux-acpi@vger.kernel.org, linux-kernel@vger.kernel.org, Aaron Lu , Daniel Vetter , Jani Nikula , David Airlie , intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org Subject: Re: ACPI/i915: Cannot configure display brightness on Dell Latitude E6440 References: <201409232206.02819@pali> <54227E9A.7080107@redhat.com> <201409241059.41465@pali> <201409241114.11604@pali> In-Reply-To: <201409241114.11604@pali> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi, On 09/24/2014 11:14 AM, Pali Rohár wrote: > On Wednesday 24 September 2014 10:59:41 Pali Rohár wrote: >> On Wednesday 24 September 2014 10:19:38 Hans de Goede wrote: >>> Hi, >>> >>> On 09/23/2014 10:44 PM, Pali Rohár wrote: >>>> On Tuesday 23 September 2014 22:31:31 you wrote: >>>>> Hi, >>>>> >>>>> On 09/23/2014 10:06 PM, Pali Rohár wrote: >>>>>> Hello, >>>>>> >>>>>> after big changes in acpi video/i915 code I cannot >>>>>> change display brightness on my Dell Latitude E6440 >>>>>> with kernel 3.17-rc6. With kernel 3.13 everything >>>>>> worked fine. >>>>>> >>>>>> More information about this problem: >>>>>> >>>>>> For configuring brightness on Dell laptops there are 4 >>>>>> ways: 1) via acpi video driver >>>>>> 2) via dell-laptop driver >>>>>> 3) via i915 drm driver >>>>>> 4) from userspace with special dell SMI call >>>>>> >>>>>> (e.g with program dellLcdBrightness from libsmbios >>>>>> package) >>>>>> >>>>>> Methods 2) and 4) are same, both making special SMI call >>>>>> and Bios handing this request (just 2 is from kernel and >>>>>> 4 from userspace) >>>>>> >>>>>> Method 1) via acpi video driver working, but is not >>>>>> perfect. Driver can be used to change brightness (but >>>>>> only some levels, probably this depends on acpi/DSDT >>>>>> tables), but cannot be used to retrieve current >>>>>> brightness (when BIOS/SMI change brightness acpi driver >>>>>> report old incorrect value). So I prefer dell-laptop >>>>>> driver instead acpi video. >>>>>> >>>>>> Method 3) working even with 3.17-rc6 kernel but because >>>>>> that backlight device exported by i915 is marked as raw, >>>>>> desktop programs prefer to use other devices. >>>>>> >>>>>> Moreover it looks like that methods 1) 2) and 4) just >>>>>> forward request to method 3). So in any cased brightness >>>>>> is changed by i915 drm driver. >>>>>> >>>>>> I'm not sure (correct me if I'm wrong!) but I think that >>>>>> intel i915 drm driver accept changes (file >>>>>> intel_opregion.c) only if acpi function >>>>>> acpi_video_verify_backlight_support() returns true. >>>>>> >>>>>> Function acpi_video_verify_backlight_support() returns >>>>>> true iff: function acpi_video_backlight_support() >>>>>> returns true AND at least one of these functions >>>>>> returns false: acpi_osi_is_win8() >>>>>> acpi_video_use_native_backlight() >>>>>> backlight_device_registered(BACKLIGHT_RAW) >>>>>> >>>>>> On my notebook acpi_osi_is_win8() returns true (as is >>>>>> win8 compliant), >>>>>> backlight_device_registered(BACKLIGHT_RAW) returns true >>>>>> as I'm using intel i915 drm driver with raw backlight >>>>>> device and acpi_video_use_native_backlight() returns >>>>>> true/false depending on >>>>>> "video.use_native_backlight" kernel param. Default is >>>>>> true. >>>>>> >>>>>> So if I want to have working acpi video driver with >>>>>> display brightness support I need to boot kernel with >>>>>> param: "video.use_native_backlight=0". I tested it with >>>>>> kernel 3.17-rc6 and this param really enabled display >>>>>> brightness support via acpi video driver -- which is >>>>>> good. >>>>>> >>>>>> Driver dell-laptop creating backligh device for >>>>>> brightness control only if >>>>>> acpi_video_backlight_support() returns false. There is >>>>>> complicated condition for it and when kernel is booted >>>>>> with "video.use_native_backlight=0" that function >>>>>> returns true. >>>>>> >>>>>> So conclusion is: With current code in kernel 3.17-rc6 >>>>>> it is not possible to control brightness of display >>>>>> with native driver dell-laptop on Dell Latitude E6440 >>>>>> (and probably on others too)!!! >>>>>> >>>>>> And Because laptop is win8 compliant and you create >>>>>> decision to use native driver (instead acpi one) it is >>>>>> not possible to control display brightness without >>>>>> tweeks in kernel cmdline. >>>>>> >>>>>> As I wrote I would rather to use native dell-laptop >>>>>> driver for controlling brightness, but it is not >>>>>> possible. >>>>>> >>>>>> So how to solve this problem? >>>>>> >>>>>> Quick solution would be to set use_native_backlight >>>>>> false for some Dell laptops which means, that acpi >>>>>> video will be used and in this case intel i915 driver >>>>>> will *not* drop backlight change request. >>>>>> >>>>>> Another solution could be to disable check in >>>>>> dell_laptop driver and add use_native_backlight=0 to >>>>>> hooks. But this create two backlight interfaces (which >>>>>> is not good), but only way (for now) how to make >>>>>> dell_laptop working again. >>>>>> >>>>>> Better and maybe only one proper solution would be to >>>>>> teach intel drm i915 driver to not drop backlight change >>>>>> request for Dell laptops (or all??). (This allows to >>>>>> work both acpi video and dell_laptop drivers without >>>>>> any change and with *any* value in param >>>>>> use_native_backlight). I think that problematic code is >>>>>> in function asle_set_backlight() in file >>>>>> intel_opregion.c (but I'm not sure). My idea is that >>>>>> "drop" event function it is caused by this commit >>>>>> 0b9f7d93ca6109048a4eb06332b666b6e29df4fe (but I'm not >>>>>> sure). >>>>>> >>>>>> At least something must be done as I think that I'm not >>>>>> only one who has Dell laptop and brightness >>>>>> configuration is really important... >>>>> >>>>> I don't understand your problem, the kernel is selecting >>>>> the i915 backlight driver, making that the only one >>>>> available to userspace, so the one problem you state with >>>>> the i915 driver, that it is "raw" is not an issue, as >>>>> userspace will pick it when it is the only one. >>>> >>>> It is not only one. >>> >>> Are you sure, if you do not specify any commandline >>> parameters, then neither dell-laptop nor acpi-video should >>> register a backlight interface. >>> >>> dell-laptop.c has: >>> >>> #ifdef CONFIG_ACPI >>> >>> /* In the event of an ACPI backlight being >>> available, >>> >>> don't * register the platform controller. >>> >>> */ >>> >>> if (acpi_video_backlight_support()) >>> >>> return 0; >>> >>> #endif >>> >>> And acpi_video_backlight_support() will (normally) return >>> true on acpi-backlight capable systems independent of >>> use_native_backlight. >>> >>> And drivers/acpi/video.c has this: >>> /* no warning message if acpi_backlight=vendor or a >>> >>> quirk is used */ if (!acpi_video_verify_backlight_support()) >>> >>> return; >>> >>> ... >>> >>> bool acpi_video_verify_backlight_support(void) >>> { >>> >>> if (acpi_osi_is_win8() && >>> >>> acpi_video_use_native_backlight() && >>> backlight_device_registered(BACKLIGHT_RAW)) return false; >>> >>> return acpi_video_backlight_support(); >>> >>> } >>> >>> So unlike the check in dell-laptop this one does depend on >>> the use_native_backlight setting. >> >> It depends (see my previous mail). Here is code: >> >> static bool acpi_video_use_native_backlight(void) >> { >> if (use_native_backlight_param != -1) >> return use_native_backlight_param; >> else >> return use_native_backlight_dmi; >> } Not sure what you're trying to say here, the default for this is 1, so if you don't specify anything, then this: bool acpi_video_verify_backlight_support(void) { if (acpi_osi_is_win8() && acpi_video_use_native_backlight() && backlight_device_registered(BACKLIGHT_RAW)) return false; return acpi_video_backlight_support(); } Will return false, and you won't get an acpi_video0 backlight interface, only the intel_backlight one, and everything should just work (except for the turning off on low settings). Have you tried not using any kernel commandline options? What happens? >> >>> I've just checked 3.17 on my E6430 and there this works as >>> it should, I only get the intel_backlight in >>> /sys/class/backlight >>> >>>> Also dell-laptop (or acpi video) backlight >>>> interface is created (depends on use_native_backlight >>>> param). And userspace will pick dell-laptop (or acpi >>>> video) to use (which cannot change brightness). >>>> >>>>> Why would you want to use dell-laptop despite the i915 >>>>> driver working fine ? >>>> >>>> i915 working only if I compile kernel without acpi video >>>> dell- laptop support (distributions compile kernel with >>>> these drivers) and i915 is not good for usage. First it >>>> provides more then thousand brightness levels and lot of >>>> (with low numbers) completely turn display off. And if >>>> userspace map these thousand levels into 5-10 levels (as >>>> nobody want to press brightness key up/down 1000x) two >>>> lowest levels cause display off. >>> >>> More and more laptops will only have working backlight >>> control at all when using i915, so userspace will need to >>> learn to better deal with backlight controls with these >>> ranges. And low pwm levels turning the backlight of is >>> normal for raw interfaces, if userspace does not want this, >>> then they should not go so low. >> >> So then kernel should report which low levels turn backlight >> off so userspace will know which levels should avoid. But >> this is not implemented yet. >> >>> I suggest that you file a bug against your desktop >>> environment that it is not using the backlight controls in >>> an optimal manner, from the kernel pov everything is >>> working fine. >> >> Once I will know which levels should not DE use I can report >> bug. >> >>>> With acpi >>>> video and dell-laptop driver levels are mapped into small >>>> level space in perfect way. So this is reason I want to >>>> use dell-laptop for controlling brightness. >>> >>> If you want to use dell-laptop, specify >>> acpi_backlight=vendor on the kernel commandline, that will >>> give you dell_laptop + intel_backlight as backlight >>> interfaces, and userspace should prefer dell_laptop. >> >> With acpi_backlight=vendor dell-laptop is not working, see my >> previous mail. In this case intel i915 drm driver ignore bios >> events for changing brightness. And userspace prefer to use >> dell_laptop which do nothing! >> > > Ok, that problematic commit is: > > ACPI / i915: ignore firmware requests for backlight change > 0b9f7d93ca6109048a4eb06332b666b6e29df4fe > > When I reverted it acpi_backlight=vendor started working again > (via dell_laptop). Without reverting that commit dell_laptop > simply do nothing. > > Tested and on my laptop Dell Latitude E6440 driver dell_laptop > does not work with above commit. Hmm, interesting, so when dell-laptop registers and makes a few calls using the dell-laptop acpi interface, then you either stop getting key press events through the acpi-video-bus, or dell-laptop is just a shim around the i915 interface with the firmware calling into itself on these models. Given that dell-laptop is ancient, the shim story is not that far fetched. Do you still get an on screen display showing the brightness when using a kernel without this patch + acpi_backlight=vendor ? Regards, Hans