From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753611AbaIJU4G (ORCPT ); Wed, 10 Sep 2014 16:56:06 -0400 Received: from mail-bn1bon0113.outbound.protection.outlook.com ([157.56.111.113]:31088 "EHLO na01-bn1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752065AbaIJU4B (ORCPT ); Wed, 10 Sep 2014 16:56:01 -0400 X-Greylist: delayed 901 seconds by postgrey-1.27 at vger.kernel.org; Wed, 10 Sep 2014 16:56:01 EDT From: Matthew Garrett To: "dh.herrmann@gmail.com" CC: "linux-kernel@vger.kernel.org" , "daniel.vetter@ffwll.ch" , "jg1.han@samsung.com" , "lee.jones@linaro.org" , "dri-devel@lists.freedesktop.org" , "cooloney@gmail.com" , "airlied@gmail.com" , "ajax@redhat.com" Subject: Re: [PATCH RFC 0/4] Linking DRM Connectors to Backlight Devices Thread-Topic: [PATCH RFC 0/4] Linking DRM Connectors to Backlight Devices Thread-Index: AQHPzQ+ReaAlSMa+v0aOCKHz6RNakZv61OyA Date: Wed, 10 Sep 2014 20:40:57 +0000 Message-ID: <1410381657.4117.3.camel@nebula.com> References: <1410364463-12692-1-git-send-email-dh.herrmann@gmail.com> In-Reply-To: <1410364463-12692-1-git-send-email-dh.herrmann@gmail.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-exchange-transport-fromentityheader: Hosted x-originating-ip: [208.54.5.157] x-microsoft-antispam: BCL:0;PCL:0;RULEID:;UriScan:; x-forefront-prvs: 033054F29A x-forefront-antispam-report: SFV:NSPM;SFS:(10019019)(6009001)(24454002)(189002)(377424004)(199003)(50986999)(110136001)(90102001)(106116001)(33646002)(83072002)(4396001)(85852003)(64706001)(85306004)(20776003)(106356001)(99396002)(77982001)(99286002)(103116003)(74502001)(105586002)(79102001)(46102001)(81342001)(36756003)(19580395003)(92566001)(87936001)(77096002)(76482001)(81542001)(76176999)(92726001)(83322001)(101416001)(31966008)(80022001)(97736003)(86362001)(107046002)(66066001)(2351001)(95666004)(74662001)(54356999)(21056001)(19580405001)(2501002)(2656002)(217873001);DIR:OUT;SFP:1102;SCL:1;SRVR:BN1PR05MB423;H:BN1PR05MB423.namprd05.prod.outlook.com;FPR:;MLV:sfv;PTR:InfoNoRecords;MX:1;A:1;LANG:en; Content-Type: text/plain; charset="utf-8" Content-ID: <404849167CC5C84CAD1207B1BDCF3684@namprd05.prod.outlook.com> MIME-Version: 1.0 X-OriginatorOrg: nebula.com Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from base64 to 8bit by mail.home.local id s8AKuBM0019233 On Wed, 2014-09-10 at 17:54 +0200, David Herrmann wrote: > * User-space currently has a hard-time figuring out which backlight device to > use, and which backlight device belongs to which display. So far, most > systems only provide backlight-devices for internal displays, so figuring out > the connection is easy, but that might change with more capable external > connectors. The parent device of the backlight will be the correct display, if the kernel has a meaningful way to determine that. We could do a better job in the ACPI code than we currently do, but (unfortunately) that requires us to know the ACPI IDs that each GPU vendor uses. > If multiple backlights are available, the easiest solution is to simply write > to all of them and hope at least one of them works. This obviously fails if > the devices interact badly, so it's not really a solution. There's a pretty well-defined process for that, although it sucks - if it's an LVDS or eDP display and there's a backlight of type "firmware", use it. If there's no "firmware" backlight, but there is a "platform" one, use that. Otherwise look for a "native" backlight that has the output as a parent. libbacklight does all of this for you. > * User-space needs root privileges to write to sysfs. There are no char-devs > that can be used to control access-management to the backlight API, so /sys > is the only interface available. So far, udev policy has been "/sys is > read-only for non-root" and it's not going to change. char-devs are *THE* > standard way to provide non-root user-space APIs, so use them! Yeah, this is a problem. > This series tries to solve this problem with a much simpler approach: > Instead of moving backlights into DRM, we simply link DRM properties to a > backlight device. That is, the kernel manages a link between a connector and a > backlight device (or n backlight devices) which can be modified by udev in case > the kernel got it wrong (we don't want huge board-fixup-tables in the kernel). > User-space can now use the simpl DRM API to manage backlights, and the kernel > does not need any special driver code to make it work. This doesn't really simplify userspace significantly - something's still going to have to make the same policy decision as we do right now, and the kernel isn't really the right place to do that. It does have the benefit of allowing that policy decision to be made at boot time and then allow that to be consumed by all later userspace, so there is *some* benefit, but I think the "make unprivileged userspace possible" argument is much more compelling. -- Matthew Garrett {.n++%ݶw{.n+{G{ayʇڙ,jfhz_(階ݢj"mG?&~iOzv^m ?I From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matthew Garrett Subject: Re: [PATCH RFC 0/4] Linking DRM Connectors to Backlight Devices Date: Wed, 10 Sep 2014 20:40:57 +0000 Message-ID: <1410381657.4117.3.camel@nebula.com> References: <1410364463-12692-1-git-send-email-dh.herrmann@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1410364463-12692-1-git-send-email-dh.herrmann@gmail.com> Content-Language: en-US Content-ID: <404849167CC5C84CAD1207B1BDCF3684@namprd05.prod.outlook.com> Sender: linux-kernel-owner@vger.kernel.org To: "dh.herrmann@gmail.com" Cc: "linux-kernel@vger.kernel.org" , "daniel.vetter@ffwll.ch" , "jg1.han@samsung.com" , "lee.jones@linaro.org" , "dri-devel@lists.freedesktop.org" , "cooloney@gmail.com" , "airlied@gmail.com" , "ajax@redhat.com" List-Id: dri-devel@lists.freedesktop.org T24gV2VkLCAyMDE0LTA5LTEwIGF0IDE3OjU0ICswMjAwLCBEYXZpZCBIZXJybWFubiB3cm90ZToN Cg0KPiAgKiBVc2VyLXNwYWNlIGN1cnJlbnRseSBoYXMgYSBoYXJkLXRpbWUgZmlndXJpbmcgb3V0 IHdoaWNoIGJhY2tsaWdodCBkZXZpY2UgdG8NCj4gICAgdXNlLCBhbmQgd2hpY2ggYmFja2xpZ2h0 IGRldmljZSBiZWxvbmdzIHRvIHdoaWNoIGRpc3BsYXkuIFNvIGZhciwgbW9zdA0KPiAgICBzeXN0 ZW1zIG9ubHkgcHJvdmlkZSBiYWNrbGlnaHQtZGV2aWNlcyBmb3IgaW50ZXJuYWwgZGlzcGxheXMs IHNvIGZpZ3VyaW5nIG91dA0KPiAgICB0aGUgY29ubmVjdGlvbiBpcyBlYXN5LCBidXQgdGhhdCBt aWdodCBjaGFuZ2Ugd2l0aCBtb3JlIGNhcGFibGUgZXh0ZXJuYWwNCj4gICAgY29ubmVjdG9ycy4N Cg0KVGhlIHBhcmVudCBkZXZpY2Ugb2YgdGhlIGJhY2tsaWdodCB3aWxsIGJlIHRoZSBjb3JyZWN0 IGRpc3BsYXksIGlmIHRoZQ0Ka2VybmVsIGhhcyBhIG1lYW5pbmdmdWwgd2F5IHRvIGRldGVybWlu ZSB0aGF0LiBXZSBjb3VsZCBkbyBhIGJldHRlciBqb2INCmluIHRoZSBBQ1BJIGNvZGUgdGhhbiB3 ZSBjdXJyZW50bHkgZG8sIGJ1dCAodW5mb3J0dW5hdGVseSkgdGhhdCByZXF1aXJlcw0KdXMgdG8g a25vdyB0aGUgQUNQSSBJRHMgdGhhdCBlYWNoIEdQVSB2ZW5kb3IgdXNlcy4NCg0KPiAgICBJZiBt dWx0aXBsZSBiYWNrbGlnaHRzIGFyZSBhdmFpbGFibGUsIHRoZSBlYXNpZXN0IHNvbHV0aW9uIGlz IHRvIHNpbXBseSB3cml0ZQ0KPiAgICB0byBhbGwgb2YgdGhlbSBhbmQgaG9wZSBhdCBsZWFzdCBv bmUgb2YgdGhlbSB3b3Jrcy4gVGhpcyBvYnZpb3VzbHkgZmFpbHMgaWYNCj4gICAgdGhlIGRldmlj ZXMgaW50ZXJhY3QgYmFkbHksIHNvIGl0J3Mgbm90IHJlYWxseSBhIHNvbHV0aW9uLg0KDQpUaGVy ZSdzIGEgcHJldHR5IHdlbGwtZGVmaW5lZCBwcm9jZXNzIGZvciB0aGF0LCBhbHRob3VnaCBpdCBz dWNrcyAtIGlmDQppdCdzIGFuIExWRFMgb3IgZURQIGRpc3BsYXkgYW5kIHRoZXJlJ3MgYSBiYWNr bGlnaHQgb2YgdHlwZSAiZmlybXdhcmUiLA0KdXNlIGl0LiBJZiB0aGVyZSdzIG5vICJmaXJtd2Fy ZSIgYmFja2xpZ2h0LCBidXQgdGhlcmUgaXMgYSAicGxhdGZvcm0iDQpvbmUsIHVzZSB0aGF0LiBP dGhlcndpc2UgbG9vayBmb3IgYSAibmF0aXZlIiBiYWNrbGlnaHQgdGhhdCBoYXMgdGhlDQpvdXRw dXQgYXMgYSBwYXJlbnQuIGxpYmJhY2tsaWdodCBkb2VzIGFsbCBvZiB0aGlzIGZvciB5b3UuIA0K DQo+ICAqIFVzZXItc3BhY2UgbmVlZHMgcm9vdCBwcml2aWxlZ2VzIHRvIHdyaXRlIHRvIHN5c2Zz LiBUaGVyZSBhcmUgbm8gY2hhci1kZXZzDQo+ICAgIHRoYXQgY2FuIGJlIHVzZWQgdG8gY29udHJv bCBhY2Nlc3MtbWFuYWdlbWVudCB0byB0aGUgYmFja2xpZ2h0IEFQSSwgc28gL3N5cw0KPiAgICBp cyB0aGUgb25seSBpbnRlcmZhY2UgYXZhaWxhYmxlLiBTbyBmYXIsIHVkZXYgcG9saWN5IGhhcyBi ZWVuICIvc3lzIGlzDQo+ICAgIHJlYWQtb25seSBmb3Igbm9uLXJvb3QiIGFuZCBpdCdzIG5vdCBn b2luZyB0byBjaGFuZ2UuIGNoYXItZGV2cyBhcmUgKlRIRSoNCj4gICAgc3RhbmRhcmQgd2F5IHRv IHByb3ZpZGUgbm9uLXJvb3QgdXNlci1zcGFjZSBBUElzLCBzbyB1c2UgdGhlbSENCg0KWWVhaCwg dGhpcyBpcyBhIHByb2JsZW0uDQoNCj4gVGhpcyBzZXJpZXMgdHJpZXMgdG8gc29sdmUgdGhpcyBw cm9ibGVtIHdpdGggYSBtdWNoIHNpbXBsZXIgYXBwcm9hY2g6DQo+IEluc3RlYWQgb2YgbW92aW5n IGJhY2tsaWdodHMgaW50byBEUk0sIHdlIHNpbXBseSBsaW5rIERSTSBwcm9wZXJ0aWVzIHRvIGEN Cj4gYmFja2xpZ2h0IGRldmljZS4gVGhhdCBpcywgdGhlIGtlcm5lbCBtYW5hZ2VzIGEgbGluayBi ZXR3ZWVuIGEgY29ubmVjdG9yIGFuZCBhDQo+IGJhY2tsaWdodCBkZXZpY2UgKG9yIG4gYmFja2xp Z2h0IGRldmljZXMpIHdoaWNoIGNhbiBiZSBtb2RpZmllZCBieSB1ZGV2IGluIGNhc2UNCj4gdGhl IGtlcm5lbCBnb3QgaXQgd3JvbmcgKHdlIGRvbid0IHdhbnQgaHVnZSBib2FyZC1maXh1cC10YWJs ZXMgaW4gdGhlIGtlcm5lbCkuDQo+IFVzZXItc3BhY2UgY2FuIG5vdyB1c2UgdGhlIHNpbXBsIERS TSBBUEkgdG8gbWFuYWdlIGJhY2tsaWdodHMsIGFuZCB0aGUga2VybmVsDQo+IGRvZXMgbm90IG5l ZWQgYW55IHNwZWNpYWwgZHJpdmVyIGNvZGUgdG8gbWFrZSBpdCB3b3JrLg0KDQpUaGlzIGRvZXNu J3QgcmVhbGx5IHNpbXBsaWZ5IHVzZXJzcGFjZSBzaWduaWZpY2FudGx5IC0gc29tZXRoaW5nJ3Mg c3RpbGwNCmdvaW5nIHRvIGhhdmUgdG8gbWFrZSB0aGUgc2FtZSBwb2xpY3kgZGVjaXNpb24gYXMg d2UgZG8gcmlnaHQgbm93LCBhbmQNCnRoZSBrZXJuZWwgaXNuJ3QgcmVhbGx5IHRoZSByaWdodCBw bGFjZSB0byBkbyB0aGF0LiBJdCBkb2VzIGhhdmUgdGhlDQpiZW5lZml0IG9mIGFsbG93aW5nIHRo YXQgcG9saWN5IGRlY2lzaW9uIHRvIGJlIG1hZGUgYXQgYm9vdCB0aW1lIGFuZA0KdGhlbiBhbGxv dyB0aGF0IHRvIGJlIGNvbnN1bWVkIGJ5IGFsbCBsYXRlciB1c2Vyc3BhY2UsIHNvIHRoZXJlIGlz DQoqc29tZSogYmVuZWZpdCwgYnV0IEkgdGhpbmsgdGhlICJtYWtlIHVucHJpdmlsZWdlZCB1c2Vy c3BhY2UgcG9zc2libGUiDQphcmd1bWVudCBpcyBtdWNoIG1vcmUgY29tcGVsbGluZy4NCg0KLS0g DQpNYXR0aGV3IEdhcnJldHQgPG1hdHRoZXcuZ2FycmV0dEBuZWJ1bGEuY29tPg0K