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 10:19:38 +0200 Message-ID: <54227E9A.7080107@redhat.com> References: <201409232206.02819@pali> <5421D8A3.3090502@redhat.com> <201409232244.19104@pali> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <201409232244.19104@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 SGksCgpPbiAwOS8yMy8yMDE0IDEwOjQ0IFBNLCBQYWxpIFJvaMOhciB3cm90ZToKPiBPbiBUdWVz ZGF5IDIzIFNlcHRlbWJlciAyMDE0IDIyOjMxOjMxIHlvdSB3cm90ZToKPj4gSGksCj4+Cj4+IE9u IDA5LzIzLzIwMTQgMTA6MDYgUE0sIFBhbGkgUm9ow6FyIHdyb3RlOgo+Pj4gSGVsbG8sCj4+Pgo+ Pj4gYWZ0ZXIgYmlnIGNoYW5nZXMgaW4gYWNwaSB2aWRlby9pOTE1IGNvZGUgSSBjYW5ub3QgY2hh bmdlCj4+PiBkaXNwbGF5IGJyaWdodG5lc3Mgb24gbXkgRGVsbCBMYXRpdHVkZSBFNjQ0MCB3aXRo IGtlcm5lbAo+Pj4gMy4xNy1yYzYuIFdpdGgga2VybmVsIDMuMTMgZXZlcnl0aGluZyB3b3JrZWQg ZmluZS4KPj4+Cj4+PiBNb3JlIGluZm9ybWF0aW9uIGFib3V0IHRoaXMgcHJvYmxlbToKPj4+Cj4+ PiBGb3IgY29uZmlndXJpbmcgYnJpZ2h0bmVzcyBvbiBEZWxsIGxhcHRvcHMgdGhlcmUgYXJlIDQg d2F5czoKPj4+IDEpIHZpYSBhY3BpIHZpZGVvIGRyaXZlcgo+Pj4gMikgdmlhIGRlbGwtbGFwdG9w IGRyaXZlcgo+Pj4gMykgdmlhIGk5MTUgZHJtIGRyaXZlcgo+Pj4gNCkgZnJvbSB1c2Vyc3BhY2Ug d2l0aCBzcGVjaWFsIGRlbGwgU01JIGNhbGwKPj4+Cj4+PiAgICAgKGUuZyB3aXRoIHByb2dyYW0g ZGVsbExjZEJyaWdodG5lc3MgZnJvbSBsaWJzbWJpb3MKPj4+ICAgICBwYWNrYWdlKQo+Pj4KPj4+ IE1ldGhvZHMgMikgYW5kIDQpIGFyZSBzYW1lLCBib3RoIG1ha2luZyBzcGVjaWFsIFNNSSBjYWxs IGFuZAo+Pj4gQmlvcyBoYW5kaW5nIHRoaXMgcmVxdWVzdCAoanVzdCAyIGlzIGZyb20ga2VybmVs IGFuZCA0IGZyb20KPj4+IHVzZXJzcGFjZSkKPj4+Cj4+PiBNZXRob2QgMSkgdmlhIGFjcGkgdmlk ZW8gZHJpdmVyIHdvcmtpbmcsIGJ1dCBpcyBub3QgcGVyZmVjdC4KPj4+IERyaXZlciBjYW4gYmUg dXNlZCB0byBjaGFuZ2UgYnJpZ2h0bmVzcyAoYnV0IG9ubHkgc29tZQo+Pj4gbGV2ZWxzLCBwcm9i YWJseSB0aGlzIGRlcGVuZHMgb24gYWNwaS9EU0RUIHRhYmxlcyksIGJ1dAo+Pj4gY2Fubm90IGJl IHVzZWQgdG8gcmV0cmlldmUgY3VycmVudCBicmlnaHRuZXNzICh3aGVuCj4+PiBCSU9TL1NNSSBj aGFuZ2UgYnJpZ2h0bmVzcyBhY3BpIGRyaXZlciByZXBvcnQgb2xkIGluY29ycmVjdAo+Pj4gdmFs dWUpLiBTbyBJIHByZWZlciBkZWxsLWxhcHRvcCBkcml2ZXIgaW5zdGVhZCBhY3BpIHZpZGVvLgo+ Pj4KPj4+IE1ldGhvZCAzKSB3b3JraW5nIGV2ZW4gd2l0aCAzLjE3LXJjNiBrZXJuZWwgYnV0IGJl Y2F1c2UgdGhhdAo+Pj4gYmFja2xpZ2h0IGRldmljZSBleHBvcnRlZCBieSBpOTE1IGlzIG1hcmtl ZCBhcyByYXcsIGRlc2t0b3AKPj4+IHByb2dyYW1zIHByZWZlciB0byB1c2Ugb3RoZXIgZGV2aWNl cy4KPj4+Cj4+PiBNb3Jlb3ZlciBpdCBsb29rcyBsaWtlIHRoYXQgbWV0aG9kcyAxKSAyKSBhbmQg NCkganVzdAo+Pj4gZm9yd2FyZCByZXF1ZXN0IHRvIG1ldGhvZCAzKS4gU28gaW4gYW55IGNhc2Vk IGJyaWdodG5lc3MgaXMKPj4+IGNoYW5nZWQgYnkgaTkxNSBkcm0gZHJpdmVyLgo+Pj4KPj4+IEkn bSBub3Qgc3VyZSAoY29ycmVjdCBtZSBpZiBJJ20gd3JvbmchKSBidXQgSSB0aGluayB0aGF0Cj4+ PiBpbnRlbCBpOTE1IGRybSBkcml2ZXIgYWNjZXB0IGNoYW5nZXMgKGZpbGUKPj4+IGludGVsX29w cmVnaW9uLmMpIG9ubHkgaWYgYWNwaSBmdW5jdGlvbgo+Pj4gYWNwaV92aWRlb192ZXJpZnlfYmFj a2xpZ2h0X3N1cHBvcnQoKSByZXR1cm5zIHRydWUuCj4+Pgo+Pj4gRnVuY3Rpb24gYWNwaV92aWRl b192ZXJpZnlfYmFja2xpZ2h0X3N1cHBvcnQoKSByZXR1cm5zIHRydWUKPj4+IGlmZjogZnVuY3Rp b24gYWNwaV92aWRlb19iYWNrbGlnaHRfc3VwcG9ydCgpIHJldHVybnMgdHJ1ZQo+Pj4gQU5EIGF0 IGxlYXN0IG9uZSBvZiB0aGVzZSBmdW5jdGlvbnMgcmV0dXJucyBmYWxzZToKPj4+IGFjcGlfb3Np X2lzX3dpbjgoKQo+Pj4gYWNwaV92aWRlb191c2VfbmF0aXZlX2JhY2tsaWdodCgpCj4+PiBiYWNr bGlnaHRfZGV2aWNlX3JlZ2lzdGVyZWQoQkFDS0xJR0hUX1JBVykKPj4+Cj4+PiBPbiBteSBub3Rl Ym9vayBhY3BpX29zaV9pc193aW44KCkgcmV0dXJucyB0cnVlIChhcyBpcyB3aW44Cj4+PiBjb21w bGlhbnQpLCBiYWNrbGlnaHRfZGV2aWNlX3JlZ2lzdGVyZWQoQkFDS0xJR0hUX1JBVykKPj4+IHJl dHVybnMgdHJ1ZSBhcyBJJ20gdXNpbmcgaW50ZWwgaTkxNSBkcm0gZHJpdmVyIHdpdGggcmF3Cj4+ PiBiYWNrbGlnaHQgZGV2aWNlIGFuZCBhY3BpX3ZpZGVvX3VzZV9uYXRpdmVfYmFja2xpZ2h0KCkK Pj4+IHJldHVybnMgdHJ1ZS9mYWxzZSBkZXBlbmRpbmcgb24KPj4+ICJ2aWRlby51c2VfbmF0aXZl X2JhY2tsaWdodCIga2VybmVsIHBhcmFtLiBEZWZhdWx0IGlzIHRydWUuCj4+Pgo+Pj4gU28gaWYg SSB3YW50IHRvIGhhdmUgd29ya2luZyBhY3BpIHZpZGVvIGRyaXZlciB3aXRoIGRpc3BsYXkKPj4+ IGJyaWdodG5lc3Mgc3VwcG9ydCBJIG5lZWQgdG8gYm9vdCBrZXJuZWwgd2l0aCBwYXJhbToKPj4+ ICJ2aWRlby51c2VfbmF0aXZlX2JhY2tsaWdodD0wIi4gSSB0ZXN0ZWQgaXQgd2l0aCBrZXJuZWwK Pj4+IDMuMTctcmM2IGFuZCB0aGlzIHBhcmFtIHJlYWxseSBlbmFibGVkIGRpc3BsYXkgYnJpZ2h0 bmVzcwo+Pj4gc3VwcG9ydCB2aWEgYWNwaSB2aWRlbyBkcml2ZXIgLS0gd2hpY2ggaXMgZ29vZC4K Pj4+Cj4+PiBEcml2ZXIgZGVsbC1sYXB0b3AgY3JlYXRpbmcgYmFja2xpZ2ggZGV2aWNlIGZvciBi cmlnaHRuZXNzCj4+PiBjb250cm9sIG9ubHkgaWYgYWNwaV92aWRlb19iYWNrbGlnaHRfc3VwcG9y dCgpIHJldHVybnMKPj4+IGZhbHNlLiBUaGVyZSBpcyBjb21wbGljYXRlZCBjb25kaXRpb24gZm9y IGl0IGFuZCB3aGVuCj4+PiBrZXJuZWwgaXMgYm9vdGVkIHdpdGggInZpZGVvLnVzZV9uYXRpdmVf YmFja2xpZ2h0PTAiIHRoYXQKPj4+IGZ1bmN0aW9uIHJldHVybnMgdHJ1ZS4KPj4+Cj4+PiBTbyBj b25jbHVzaW9uIGlzOiBXaXRoIGN1cnJlbnQgY29kZSBpbiBrZXJuZWwgMy4xNy1yYzYgaXQgaXMK Pj4+IG5vdCBwb3NzaWJsZSB0byBjb250cm9sIGJyaWdodG5lc3Mgb2YgZGlzcGxheSB3aXRoIG5h dGl2ZQo+Pj4gZHJpdmVyIGRlbGwtbGFwdG9wIG9uIERlbGwgTGF0aXR1ZGUgRTY0NDAgKGFuZCBw cm9iYWJseSBvbgo+Pj4gb3RoZXJzIHRvbykhISEKPj4+Cj4+PiBBbmQgQmVjYXVzZSBsYXB0b3Ag aXMgd2luOCBjb21wbGlhbnQgYW5kIHlvdSBjcmVhdGUgZGVjaXNpb24KPj4+IHRvIHVzZSBuYXRp dmUgZHJpdmVyIChpbnN0ZWFkIGFjcGkgb25lKSBpdCBpcyBub3QgcG9zc2libGUKPj4+IHRvIGNv bnRyb2wgZGlzcGxheSBicmlnaHRuZXNzIHdpdGhvdXQgdHdlZWtzIGluIGtlcm5lbAo+Pj4gY21k bGluZS4KPj4+Cj4+PiBBcyBJIHdyb3RlIEkgd291bGQgcmF0aGVyIHRvIHVzZSBuYXRpdmUgZGVs bC1sYXB0b3AgZHJpdmVyCj4+PiBmb3IgY29udHJvbGxpbmcgYnJpZ2h0bmVzcywgYnV0IGl0IGlz IG5vdCBwb3NzaWJsZS4KPj4+Cj4+PiBTbyBob3cgdG8gc29sdmUgdGhpcyBwcm9ibGVtPwo+Pj4K Pj4+IFF1aWNrIHNvbHV0aW9uIHdvdWxkIGJlIHRvIHNldCB1c2VfbmF0aXZlX2JhY2tsaWdodCBm YWxzZQo+Pj4gZm9yIHNvbWUgRGVsbCBsYXB0b3BzIHdoaWNoIG1lYW5zLCB0aGF0IGFjcGkgdmlk ZW8gd2lsbCBiZQo+Pj4gdXNlZCBhbmQgaW4gdGhpcyBjYXNlIGludGVsIGk5MTUgZHJpdmVyIHdp bGwgKm5vdCogZHJvcAo+Pj4gYmFja2xpZ2h0IGNoYW5nZSByZXF1ZXN0Lgo+Pj4KPj4+IEFub3Ro ZXIgc29sdXRpb24gY291bGQgYmUgdG8gZGlzYWJsZSBjaGVjayBpbiBkZWxsX2xhcHRvcAo+Pj4g ZHJpdmVyIGFuZCBhZGQgdXNlX25hdGl2ZV9iYWNrbGlnaHQ9MCB0byBob29rcy4gQnV0IHRoaXMK Pj4+IGNyZWF0ZSB0d28gYmFja2xpZ2h0IGludGVyZmFjZXMgKHdoaWNoIGlzIG5vdCBnb29kKSwg YnV0Cj4+PiBvbmx5IHdheSAoZm9yIG5vdykgaG93IHRvIG1ha2UgZGVsbF9sYXB0b3Agd29ya2lu ZyBhZ2Fpbi4KPj4+Cj4+PiBCZXR0ZXIgYW5kIG1heWJlIG9ubHkgb25lIHByb3BlciBzb2x1dGlv biB3b3VsZCBiZSB0byB0ZWFjaAo+Pj4gaW50ZWwgZHJtIGk5MTUgZHJpdmVyIHRvIG5vdCBkcm9w IGJhY2tsaWdodCBjaGFuZ2UgcmVxdWVzdAo+Pj4gZm9yIERlbGwgbGFwdG9wcyAob3IgYWxsPz8p LiAoVGhpcyBhbGxvd3MgdG8gd29yayBib3RoIGFjcGkKPj4+IHZpZGVvIGFuZCBkZWxsX2xhcHRv cCBkcml2ZXJzIHdpdGhvdXQgYW55IGNoYW5nZSBhbmQgd2l0aAo+Pj4gKmFueSogdmFsdWUgaW4g cGFyYW0gdXNlX25hdGl2ZV9iYWNrbGlnaHQpLiBJIHRoaW5rIHRoYXQKPj4+IHByb2JsZW1hdGlj IGNvZGUgaXMgaW4gZnVuY3Rpb24gYXNsZV9zZXRfYmFja2xpZ2h0KCkgaW4KPj4+IGZpbGUgaW50 ZWxfb3ByZWdpb24uYyAoYnV0IEknbSBub3Qgc3VyZSkuIE15IGlkZWEgaXMgdGhhdAo+Pj4gImRy b3AiIGV2ZW50IGZ1bmN0aW9uIGl0IGlzIGNhdXNlZCBieSB0aGlzIGNvbW1pdAo+Pj4gMGI5Zjdk OTNjYTYxMDkwNDhhNGViMDYzMzJiNjY2YjZlMjlkZjRmZSAoYnV0IEknbSBub3QKPj4+IHN1cmUp Lgo+Pj4KPj4+IEF0IGxlYXN0IHNvbWV0aGluZyBtdXN0IGJlIGRvbmUgYXMgSSB0aGluayB0aGF0 IEknbSBub3Qgb25seQo+Pj4gb25lIHdobyBoYXMgRGVsbCBsYXB0b3AgYW5kIGJyaWdodG5lc3Mg Y29uZmlndXJhdGlvbiBpcwo+Pj4gcmVhbGx5IGltcG9ydGFudC4uLgo+Pgo+PiBJIGRvbid0IHVu ZGVyc3RhbmQgeW91ciBwcm9ibGVtLCB0aGUga2VybmVsIGlzIHNlbGVjdGluZyB0aGUKPj4gaTkx NSBiYWNrbGlnaHQgZHJpdmVyLCBtYWtpbmcgdGhhdCB0aGUgb25seSBvbmUgYXZhaWxhYmxlIHRv Cj4+IHVzZXJzcGFjZSwgc28gdGhlIG9uZSBwcm9ibGVtIHlvdSBzdGF0ZSB3aXRoIHRoZSBpOTE1 IGRyaXZlciwKPj4gdGhhdCBpdCBpcyAicmF3IiBpcyBub3QgYW4gaXNzdWUsIGFzIHVzZXJzcGFj ZSB3aWxsIHBpY2sgaXQKPj4gd2hlbiBpdCBpcyB0aGUgb25seSBvbmUuCj4+Cj4gCj4gSXQgaXMg bm90IG9ubHkgb25lLgoKQXJlIHlvdSBzdXJlLCBpZiB5b3UgZG8gbm90IHNwZWNpZnkgYW55IGNv bW1hbmRsaW5lIHBhcmFtZXRlcnMsIHRoZW4KbmVpdGhlciBkZWxsLWxhcHRvcCBub3IgYWNwaS12 aWRlbyBzaG91bGQgcmVnaXN0ZXIgYSBiYWNrbGlnaHQgaW50ZXJmYWNlLgoKZGVsbC1sYXB0b3Au YyBoYXM6CgojaWZkZWYgQ09ORklHX0FDUEkKICAgICAgICAvKiBJbiB0aGUgZXZlbnQgb2YgYW4g QUNQSSBiYWNrbGlnaHQgYmVpbmcgYXZhaWxhYmxlLCBkb24ndAogICAgICAgICAqIHJlZ2lzdGVy IHRoZSBwbGF0Zm9ybSBjb250cm9sbGVyLgogICAgICAgICAqLwogICAgICAgIGlmIChhY3BpX3Zp ZGVvX2JhY2tsaWdodF9zdXBwb3J0KCkpCiAgICAgICAgICAgICAgICByZXR1cm4gMDsKI2VuZGlm CgpBbmQgYWNwaV92aWRlb19iYWNrbGlnaHRfc3VwcG9ydCgpIHdpbGwgKG5vcm1hbGx5KSByZXR1 cm4gdHJ1ZSBvbgphY3BpLWJhY2tsaWdodCBjYXBhYmxlIHN5c3RlbXMgaW5kZXBlbmRlbnQgb2Yg dXNlX25hdGl2ZV9iYWNrbGlnaHQuCgpBbmQgZHJpdmVycy9hY3BpL3ZpZGVvLmMgaGFzIHRoaXM6 CgogICAgICAgIC8qIG5vIHdhcm5pbmcgbWVzc2FnZSBpZiBhY3BpX2JhY2tsaWdodD12ZW5kb3Ig b3IgYSBxdWlyayBpcyB1c2VkICovCiAgICAgICAgaWYgKCFhY3BpX3ZpZGVvX3ZlcmlmeV9iYWNr bGlnaHRfc3VwcG9ydCgpKQogICAgICAgICAgICAgICAgcmV0dXJuOwoKLi4uCgpib29sIGFjcGlf dmlkZW9fdmVyaWZ5X2JhY2tsaWdodF9zdXBwb3J0KHZvaWQpCnsKICAgICAgICBpZiAoYWNwaV9v c2lfaXNfd2luOCgpICYmIGFjcGlfdmlkZW9fdXNlX25hdGl2ZV9iYWNrbGlnaHQoKSAmJgogICAg ICAgICAgICBiYWNrbGlnaHRfZGV2aWNlX3JlZ2lzdGVyZWQoQkFDS0xJR0hUX1JBVykpCiAgICAg ICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgcmV0dXJuIGFjcGlfdmlkZW9fYmFja2xp Z2h0X3N1cHBvcnQoKTsKfQoKU28gdW5saWtlIHRoZSBjaGVjayBpbiBkZWxsLWxhcHRvcCB0aGlz IG9uZSBkb2VzIGRlcGVuZCBvbiB0aGUKdXNlX25hdGl2ZV9iYWNrbGlnaHQgc2V0dGluZy4KCkkn dmUganVzdCBjaGVja2VkIDMuMTcgb24gbXkgRTY0MzAgYW5kIHRoZXJlIHRoaXMgd29ya3MgYXMg aXQgc2hvdWxkLApJIG9ubHkgZ2V0IHRoZSBpbnRlbF9iYWNrbGlnaHQgaW4gL3N5cy9jbGFzcy9i YWNrbGlnaHQKCj4gQWxzbyBkZWxsLWxhcHRvcCAob3IgYWNwaSB2aWRlbykgYmFja2xpZ2h0IAo+ IGludGVyZmFjZSBpcyBjcmVhdGVkIChkZXBlbmRzIG9uIHVzZV9uYXRpdmVfYmFja2xpZ2h0IHBh cmFtKS4gQW5kIAo+IHVzZXJzcGFjZSB3aWxsIHBpY2sgZGVsbC1sYXB0b3AgKG9yIGFjcGkgdmlk ZW8pIHRvIHVzZSAod2hpY2ggCj4gY2Fubm90IGNoYW5nZSBicmlnaHRuZXNzKS4KPiAKPj4gV2h5 IHdvdWxkIHlvdSB3YW50IHRvIHVzZSBkZWxsLWxhcHRvcCBkZXNwaXRlIHRoZSBpOTE1IGRyaXZl cgo+PiB3b3JraW5nIGZpbmUgPwo+Pgo+IAo+IGk5MTUgd29ya2luZyBvbmx5IGlmIEkgY29tcGls ZSBrZXJuZWwgd2l0aG91dCBhY3BpIHZpZGVvIGRlbGwtCj4gbGFwdG9wIHN1cHBvcnQgKGRpc3Ry aWJ1dGlvbnMgY29tcGlsZSBrZXJuZWwgd2l0aCB0aGVzZSBkcml2ZXJzKSAKPiBhbmQgaTkxNSBp cyBub3QgZ29vZCBmb3IgdXNhZ2UuIEZpcnN0IGl0IHByb3ZpZGVzIG1vcmUgdGhlbiAKPiB0aG91 c2FuZCBicmlnaHRuZXNzIGxldmVscyBhbmQgbG90IG9mICh3aXRoIGxvdyBudW1iZXJzKSAKPiBj b21wbGV0ZWx5IHR1cm4gZGlzcGxheSBvZmYuIEFuZCBpZiB1c2Vyc3BhY2UgbWFwIHRoZXNlIHRo b3VzYW5kIAo+IGxldmVscyBpbnRvIDUtMTAgbGV2ZWxzIChhcyBub2JvZHkgd2FudCB0byBwcmVz cyBicmlnaHRuZXNzIGtleSAKPiB1cC9kb3duIDEwMDB4KSB0d28gbG93ZXN0IGxldmVscyBjYXVz ZSBkaXNwbGF5IG9mZi4KCk1vcmUgYW5kIG1vcmUgbGFwdG9wcyB3aWxsIG9ubHkgaGF2ZSB3b3Jr aW5nIGJhY2tsaWdodCBjb250cm9sIGF0IGFsbAp3aGVuIHVzaW5nIGk5MTUsIHNvIHVzZXJzcGFj ZSB3aWxsIG5lZWQgdG8gbGVhcm4gdG8gYmV0dGVyIGRlYWwgd2l0aApiYWNrbGlnaHQgY29udHJv bHMgd2l0aCB0aGVzZSByYW5nZXMuIEFuZCBsb3cgcHdtIGxldmVscyB0dXJuaW5nCnRoZSBiYWNr bGlnaHQgb2YgaXMgbm9ybWFsIGZvciByYXcgaW50ZXJmYWNlcywgaWYgdXNlcnNwYWNlIGRvZXMK bm90IHdhbnQgdGhpcywgdGhlbiB0aGV5IHNob3VsZCBub3QgZ28gc28gbG93LgoKSSBzdWdnZXN0 IHRoYXQgeW91IGZpbGUgYSBidWcgYWdhaW5zdCB5b3VyIGRlc2t0b3AgZW52aXJvbm1lbnQKdGhh dCBpdCBpcyBub3QgdXNpbmcgdGhlIGJhY2tsaWdodCBjb250cm9scyBpbiBhbiBvcHRpbWFsIG1h bm5lciwKZnJvbSB0aGUga2VybmVsIHBvdiBldmVyeXRoaW5nIGlzIHdvcmtpbmcgZmluZS4KCj4g V2l0aCBhY3BpIAo+IHZpZGVvIGFuZCBkZWxsLWxhcHRvcCBkcml2ZXIgbGV2ZWxzIGFyZSBtYXBw ZWQgaW50byBzbWFsbCBsZXZlbCAKPiBzcGFjZSBpbiBwZXJmZWN0IHdheS4gU28gdGhpcyBpcyBy ZWFzb24gSSB3YW50IHRvIHVzZSBkZWxsLWxhcHRvcCAKPiBmb3IgY29udHJvbGxpbmcgYnJpZ2h0 bmVzcy4KCklmIHlvdSB3YW50IHRvIHVzZSBkZWxsLWxhcHRvcCwgc3BlY2lmeSBhY3BpX2JhY2ts aWdodD12ZW5kb3Igb24KdGhlIGtlcm5lbCBjb21tYW5kbGluZSwgdGhhdCB3aWxsIGdpdmUgeW91 IGRlbGxfbGFwdG9wICsKaW50ZWxfYmFja2xpZ2h0IGFzIGJhY2tsaWdodCBpbnRlcmZhY2VzLCBh bmQgdXNlcnNwYWNlIHNob3VsZCBwcmVmZXIKZGVsbF9sYXB0b3AuIEJ1dCBJTUhPIGl0IHdvdWxk IGJlIGJldHRlciB0byBmaWxlIGEgYnVnIHdpdGggeW91cgpkZXNrdG9wIGVudmlyb25tZW50LCBh bmQgZ2V0IHRoYXQgZml4ZWQgdG8gd29yayBwcm9wZXJseSB3aXRoCmludGVsX2JhY2tsaWdodCAo b3Igd2l0aCByYXcgYmFja2xpZ2h0IGludGVyZmFjZXMgaW4gZ2VuZXJhbCkuCgpSZWdhcmRzLAoK SGFucwoKCgo+IAo+PiBSZWdhcmRzLAo+Pgo+PiBIYW5zCj4gCl9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwt Z2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21h aWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg== From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754333AbaIXIT5 (ORCPT ); Wed, 24 Sep 2014 04:19:57 -0400 Received: from mx1.redhat.com ([209.132.183.28]:34282 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753890AbaIXITx (ORCPT ); Wed, 24 Sep 2014 04:19:53 -0400 Message-ID: <54227E9A.7080107@redhat.com> Date: Wed, 24 Sep 2014 10:19:38 +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> <5421D8A3.3090502@redhat.com> <201409232244.19104@pali> In-Reply-To: <201409232244.19104@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/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. 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. 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. > 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. But IMHO it would be better to file a bug with your desktop environment, and get that fixed to work properly with intel_backlight (or with raw backlight interfaces in general). Regards, Hans > >> Regards, >> >> Hans >