From mboxrd@z Thu Jan 1 00:00:00 1970 From: Guenter Roeck Subject: Re: [Nouveau] hwmon API update Date: Thu, 3 Mar 2011 13:19:18 -0800 Message-ID: <1299187158.18605.28.camel@groeck-laptop> References: <4D57CC24.1040306@free.fr> <20110213171640.GB13323@ericsson.com> <20110213230833.0ee2ff16@endymion.delvare> <20110303152216.GA21667@ericsson.com> <4D6FCFF2.7040604@free.fr> <1299185295.2255.13.camel@workstation> Reply-To: guenter.roeck@ericsson.com Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1299185295.2255.13.camel@workstation> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: lm-sensors-bounces@lm-sensors.org Errors-To: lm-sensors-bounces@lm-sensors.org To: Lucas Stach Cc: nouveau , Martin Peres , "lm-sensors@lm-sensors.org" List-Id: nouveau.vger.kernel.org T24gVGh1LCAyMDExLTAzLTAzIGF0IDE1OjQ4IC0wNTAwLCBMdWNhcyBTdGFjaCB3cm90ZToKPiBB bSBEb25uZXJzdGFnLCBkZW4gMDMuMDMuMjAxMSwgMTg6MjkgKzAxMDAgc2NocmllYiBNYXJ0aW4g UGVyZXM6Cj4gPiBMZSAwMy8wMy8yMDExIDE2OjIyLCBHdWVudGVyIFJvZWNrIGEgw6ljcml0IDoK PiA+ID4gT24gVGh1LCBNYXIgMDMsIDIwMTEgYXQgMDQ6MzY6MDlBTSAtMDUwMCwgRGF2ZSBBaXJs aWUgd3JvdGU6Cj4gPiA+PiBPbiBNb24sIEZlYiAxNCwgMjAxMSBhdCA4OjA4IEFNLCBKZWFuIERl bHZhcmU8a2hhbGlAbGludXgtZnIub3JnPiAgd3JvdGU6Cj4gPiA+Pj4gT24gU3VuLCAxMyBGZWIg MjAxMSAwOToxNjo0MCAtMDgwMCwgR3VlbnRlciBSb2VjayB3cm90ZToKPiA+ID4+Pj4gT24gU3Vu LCBGZWIgMTMsIDIwMTEgYXQgMDc6MTg6NDRBTSAtMDUwMCwgTWFydGluIFBlcmVzIHdyb3RlOgo+ ID4gPj4+Pj4gSGksCj4gPiA+Pj4+Pgo+ID4gPj4+Pj4gSSBhbSB3b3JraW5nIG9uIHBvd2VyIG1h bmFnZW1lbnQgb24gdGhlIG5vdXZlYXUgZHJpdmVyIGFuZCBJIG5lZWQgYSB3YXkKPiA+ID4+Pj4+ IHRvIGdldCBkYXRhIG91dCBvZiBhbmQgc2VuZCBjb21tYW5kcyB0byB0aGUgaTJjIGRyaXZlcnMg ZnJvbSB0aGUga2VybmVsCj4gPiA+Pj4+PiBzcGFjZS4KPiA+ID4+IE1hcnRpbiwKPiA+ID4+Cj4g PiA+PiB5b3UgcHJvYmFibHkgc2hvdWxkIGhhdmUgY2MnZWQgTWF0dGhldyBzaW5jZSBpdCB3YXMg aGlzIHBhdGNoIHlvdSBiYXNlZCB0aGlzIG9uLAo+ID4gPj4gYW5kIEkgdGhpbmsgaGUgY2FuIHBy b3ZpZGUgYSBnb29kIGV4cGxhaW5hdGlvbi4KPiA+ID4+Cj4gPiA+PiB0byBjbGFyaWZ5IHNvbWUg cG9pbnRzLAo+ID4gPj4KPiA+ID4+IHJhZGVvbiBkb2VzIHByb2JhYmx5IHdhbnQgc29tZXRoaW5n IGV4YWN0bHkgbGlrZSB0aGlzLCB3ZSBqdXN0IGhhdmVuJ3QgZ290dGVuIHRvCj4gPiA+PiBpdCBj b21wbGV0ZWx5IHlldCwgSSdkIHJhdGhlciBub3QgaGF2ZSB0d28gZHJpdmVycyBpbiB0aGUga2Vy bmVsIGZvcgo+ID4gPj4gZXhhY3Qgc2FtZSBoYXJkd2FyZSwKPiA+ID4+IGFuZCBJIGJlbGlldmUg c2hhcmluZyB0aGUgaHdtb24gY29kZSB0byBkbyB3aGF0IHdlIHdhbnQgaXMgYSBnb29kIHBsYW4g c2luY2UgeW91Cj4gPiA+PiBkb24ndCBnbyBhcm91bmQgcmVpbnZlbnRpbmcgd2hlZWxzLCBidXQg aWYgaHdtb24vaTJjIG1haW50YWluZXJzIGhhdmUKPiA+ID4+IG5vIGludGVyZXN0Cj4gPiA+PiBp dCBsZWF2ZXMgd2l0aCBsaXR0bGUgY2hvaWNlIGJ1dCB0byBpbXBsZW1lbnQgYWJvdXQgNS0xMCBp MmMgZHJpdmVycwo+ID4gPj4gYWdhaW4gaW4gZHJtIGNvZGViYXNlLgo+ID4gPj4KPiA+ID4+IE1h eWJlIGh3bW9uL2kyYyBtYWludGFpbmVycyBjb3VsZCBzdWdnZXN0IGEgY2xlYW5lciB3YXkgdG8g aW1wbGVtZW50Cj4gPiA+PiB3aGF0IHdlIHdhbnQsCj4gPiA+PiB3aGljaCBJIHRoaW5rIEkgY2Fu IHN1bW1hcml6ZSBhcwo+ID4gPj4KPiA+ID4+IGEpIGFjY2VzcyB0byBtb25pdG9yZWQgdmFsdWVz IGluLWtlcm5lbAo+ID4gPj4gYikgbm8gdXNlcnNwYWNlIGFjY2VzcyB0byB0aGUgc2FtZSB2YWx1 ZXMgZXhjZXB0IHZpYSBzYW5pdGlzZWQgdmlhIHRoZSBkcml2ZXIuCj4gPiA+Pgo+ID4gPiBUaGlz IGlzIG5vdCBhIG1hdHRlciBvZiAibm8gaW50ZXJlc3QiLiBJbnRlcmVzdCBpcyB0aGVyZSwgYnV0 IGlmIG9uZSBkZW1hbmRzCj4gPiA+IHRvbyBtdWNoIG9uZSBtYXkgZ2V0IG5vdGhpbmcuCj4gPiA+ Cj4gPiA+IFJlcXVlc3QgZm9yIGIpIHNvIGZhciB3YXMgIm5vIHVzZXJzcGFjZSBhY2Nlc3MiLCBw ZXJpb2QuIFRoaXMgaXMgdW5hY2NlcHRhYmxlCj4gPiA+IHNpbmNlIHByb3ZpZGluZyB1c2Vyc3Bh Y2UgYWNjZXNzIHRvIG1vbml0b3JlZCB2YWx1ZXMgaXMgdGhlIHdob2xlIHBvaW50IG9mIGh3bW9u Lgo+IAo+IEFuZCB0aGF0IGlzIHdoYXQgd2Ugd2FudCB0byBkby4gQnV0IGl0IHdvdWxkIGJlIG5p Y2UgaWYgdGhlIGdyYXBoaWNzCj4gZHJpdmVycyBjb3VsZCBwcm92aWRlIGEgX3NpbmdsZV8gaW50 ZXJmYWNlIHRvIHVzZXJzcGFjZS4gTm90IGFsbCBib2FyZHMKPiBoYXZlIGkyYyBoYXJkd2FyZSBt b25pdG9yaW5nIGNoaXBzIGFuZCB3aXRoIGEgc2luZ2xlIGludGVyZmFjZSB3ZSBjb3VsZAo+IGZh bGwgYmFjayB0byB0aGUgaW50ZXJuYWwgZ3B1IHNlbnNvciwgdHJhbnNwYXJlbnRseSBmb3IgdGhl IHVzZXIuCj4gCj4gPiA+Cj4gPiA+IEkgY291bGQgaW1hZ2luZSBhbiBBUEkgdGhhdCBjb3ZlcnMg Ym90aCBhKSBhbmQgYiksIGFzIGxvbmcgYXMgYikgZm9jdXNlcwo+ID4gPiBvbiB0aGUgInNhbml0 aXplIiBhc3BlY3QgYW5kIGRvZXNuJ3QgdHJ5IHRvIGxpbWl0IHVzZXJzcGFjZSBhY2Nlc3MgdG8g YXR0cmlidXRlcy4KPiA+ID4KPiA+ID4gR3VlbnRlcgo+ID4gYikgd2FzIGludHJvZHVjZWQgYnkg RGF2ZSwgSSBuZXZlciBhc2tlZCBmb3IgaXQgYmVjYXVzZSBJIGRvbid0IG1pbmQgCj4gPiBkdXBs aWNhdGluZyBzZW5zb3IgZGF0YSAob25lIGh3bW9uIGRldmljZSBuYW1lZCBub3V2ZWF1IGFuZCBv bmUgZm9yIHRoZSAKPiA+IHJhdyBhY2Nlc3MgdG8gdGhlIGkyYyBjaGlwKS4KPiAKPiBTb3JyeSBm b3IgdGhlIGNvbmZ1c2lvbiBNYXJ0aW4sIEkgYnJvdWdodCB1cCB0aGUgcG9pbnQgb2YgbGltaXRp bmcKPiB1c2Vyc3BhY2UgYWNjZXNzIGFuZCBkaWQgbm90IGNjIHRoZSBub3V2ZWF1IG1haWxpbmcg bGlzdC4gSSB0aGluayBpdCBpcwo+IGJhZCBiZWhhdmlvdXIgdG8gZXhwb3NlIHZhbHVlcyB0byB1 c2Vyc3BhY2Ugd2hpY2ggYXJlIHRvdGFsbHkgb2ZmIHRoZQo+IHJlYWwgdmFsdWVzLiBUaGlzIGNv bmZ1c2VzIHVzZXJzIGFuZCBzaG91bGQgYmUgYXZvaWRlZCwgZXNwZWNpYWxseSBzaW5jZQo+IHdl IGNhbiBwcm92aWRlIHNhbml0aXplZCB2YWx1ZXMuCj4gCj4gV2h5IHNob3VsZCB3ZSBwdXNoIHRo ZSBsb2dpYyBhbmQgYXBpIGZvciBzYW5pdGl6aW5nIHRoZSB2YWx1ZXMgdG8gbWFueQo+IGh3bW9u IGRyaXZlcnMgaWYgd2UgY291bGQgZWFzaWx5IGRvIHRoaXMgYXQgYSBzaW5nbGUgcG9pbnQgaW4g dGhlCj4gZ3JhcGhpY3MgZHJpdmVyLCBpZiB3ZSBwcm92aWRlIHRoZSB1c2Vyc3BhY2UgaW50ZXJm YWNlIG91cnNlbGYgYW5kIHVzZQo+IHRoZSBod21vbiBkcml2ZXIgb25seSB0byBpbnN0cnVtZW50 IHRoZSBtb25pdG9yaW5nIGNoaXA/CgpJIGRvbid0IHRoaW5rIHRoZSBmdW5jdGlvbmFsaXR5IChu b3IgdGhlIGludGVybmFsIEFQSSkgc2hvdWxkIGhhdmUgdG8gYmUKaW1wbGVtZW50ZWQgaW4gaW5k aXZpZHVhbCBkcml2ZXJzLiBJbnN0ZWFkLCB0aGVyZSBzaG91bGQgYmUgYSBuZXcgQVBJCmJldHdl ZW4gaHdtb24gZHJpdmVycyBhbmQgdGhlIGh3bW9uIGNvcmUuIFVzaW5nIHRoaXMgQVBJLCB0aGUg aHdtb24gY29yZQp3b3VsZCByZWFkL3dyaXRlIHJhdyB2YWx1ZXMgZnJvbS90byBod21vbiBkcml2 ZXJzIGFuZCBtYWtlIHRob3NlIHZhbHVlcwphdmFpbGFibGUgdG8gdXNlcmxhbmQgYW5kIHRvIG90 aGVyIGRyaXZlcnMgKHN1Y2ggYXMgdGhlIG5vdXZlYXUgZHJpdmVyKS4KVGhlIGh3bW9uIGNvcmUg d291bGQgdGhlbiBhbHNvIHBlcmZvcm0gc2FuaXRpemluZyBpZiBuZWNlc3NhcnksIGllIGNhbGwK cmVnaXN0ZXJlZCBzYW5pdGl6aW5nIGZ1bmN0aW9ucy4KCldpdGggdGhpcyBhcHByb2FjaCwgaHdt b24gd291bGQgcmVwb3J0IHNhbml0aXplZCB2YWx1ZXMsIGdyYXBoaWNzCmRyaXZlcnMgd291bGQg bm90IGhhdmUgdG8gc3VwcG9ydC9nZW5lcmF0ZSBod21vbiBzeXNmcyBBQkkgYXR0cmlidXRlcywK YW5kIGh3bW9uIGRyaXZlciBzdHJ1Y3R1cmUgd291bGQgYmUgbXVjaCBzaW1wbGVyLCBzaW5jZSBk cml2ZXJzIGNvdWxkCmNvbmNlbnRyYXRlIG9uIGdldHRpbmcgZGF0YSBmcm9tIGFuZCB0byBjaGlw cyBpbnN0ZWFkIG9mIGhhdmluZyB0byBkZWFsCndpdGggc3lzZnMgYXR0cmlidXRlcy4gVGhhdCB3 b3VsZCBiZSBhIHdpbiBmb3IgZXZlcnlvbmUuCgpHdWVudGVyCgoKCl9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmxtLXNlbnNvcnMgbWFpbGluZyBsaXN0Cmxt LXNlbnNvcnNAbG0tc2Vuc29ycy5vcmcKaHR0cDovL2xpc3RzLmxtLXNlbnNvcnMub3JnL21haWxt YW4vbGlzdGluZm8vbG0tc2Vuc29ycw== From mboxrd@z Thu Jan 1 00:00:00 1970 From: Guenter Roeck Date: Thu, 03 Mar 2011 21:19:18 +0000 Subject: Re: [lm-sensors] [Nouveau] hwmon API update Message-Id: <1299187158.18605.28.camel@groeck-laptop> List-Id: References: <4D57CC24.1040306@free.fr> <20110213171640.GB13323@ericsson.com> <20110213230833.0ee2ff16@endymion.delvare> <20110303152216.GA21667@ericsson.com> <4D6FCFF2.7040604@free.fr> <1299185295.2255.13.camel@workstation> In-Reply-To: <1299185295.2255.13.camel@workstation> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable To: Lucas Stach Cc: nouveau , Martin Peres , "lm-sensors@lm-sensors.org" On Thu, 2011-03-03 at 15:48 -0500, Lucas Stach wrote: > Am Donnerstag, den 03.03.2011, 18:29 +0100 schrieb Martin Peres: > > Le 03/03/2011 16:22, Guenter Roeck a =C3=A9crit : > > > On Thu, Mar 03, 2011 at 04:36:09AM -0500, Dave Airlie wrote: > > >> On Mon, Feb 14, 2011 at 8:08 AM, Jean Delvare w= rote: > > >>> On Sun, 13 Feb 2011 09:16:40 -0800, Guenter Roeck wrote: > > >>>> On Sun, Feb 13, 2011 at 07:18:44AM -0500, Martin Peres wrote: > > >>>>> Hi, > > >>>>> > > >>>>> I am working on power management on the nouveau driver and I need= a way > > >>>>> to get data out of and send commands to the i2c drivers from the = kernel > > >>>>> space. > > >> Martin, > > >> > > >> you probably should have cc'ed Matthew since it was his patch you ba= sed this on, > > >> and I think he can provide a good explaination. > > >> > > >> to clarify some points, > > >> > > >> radeon does probably want something exactly like this, we just haven= 't gotten to > > >> it completely yet, I'd rather not have two drivers in the kernel for > > >> exact same hardware, > > >> and I believe sharing the hwmon code to do what we want is a good pl= an since you > > >> don't go around reinventing wheels, but if hwmon/i2c maintainers have > > >> no interest > > >> it leaves with little choice but to implement about 5-10 i2c drivers > > >> again in drm codebase. > > >> > > >> Maybe hwmon/i2c maintainers could suggest a cleaner way to implement > > >> what we want, > > >> which I think I can summarize as > > >> > > >> a) access to monitored values in-kernel > > >> b) no userspace access to the same values except via sanitised via t= he driver. > > >> > > > This is not a matter of "no interest". Interest is there, but if one = demands > > > too much one may get nothing. > > > > > > Request for b) so far was "no userspace access", period. This is unac= ceptable > > > since providing userspace access to monitored values is the whole poi= nt of hwmon. >=20 > And that is what we want to do. But it would be nice if the graphics > drivers could provide a _single_ interface to userspace. Not all boards > have i2c hardware monitoring chips and with a single interface we could > fall back to the internal gpu sensor, transparently for the user. >=20 > > > > > > I could imagine an API that covers both a) and b), as long as b) focu= ses > > > on the "sanitize" aspect and doesn't try to limit userspace access to= attributes. > > > > > > Guenter > > b) was introduced by Dave, I never asked for it because I don't mind=20 > > duplicating sensor data (one hwmon device named nouveau and one for the= =20 > > raw access to the i2c chip). >=20 > Sorry for the confusion Martin, I brought up the point of limiting > userspace access and did not cc the nouveau mailing list. I think it is > bad behaviour to expose values to userspace which are totally off the > real values. This confuses users and should be avoided, especially since > we can provide sanitized values. >=20 > Why should we push the logic and api for sanitizing the values to many > hwmon drivers if we could easily do this at a single point in the > graphics driver, if we provide the userspace interface ourself and use > the hwmon driver only to instrument the monitoring chip? I don't think the functionality (nor the internal API) should have to be implemented in individual drivers. Instead, there should be a new API between hwmon drivers and the hwmon core. Using this API, the hwmon core would read/write raw values from/to hwmon drivers and make those values available to userland and to other drivers (such as the nouveau driver). The hwmon core would then also perform sanitizing if necessary, ie call registered sanitizing functions. With this approach, hwmon would report sanitized values, graphics drivers would not have to support/generate hwmon sysfs ABI attributes, and hwmon driver structure would be much simpler, since drivers could concentrate on getting data from and to chips instead of having to deal with sysfs attributes. That would be a win for everyone. Guenter _______________________________________________ lm-sensors mailing list lm-sensors@lm-sensors.org http://lists.lm-sensors.org/mailman/listinfo/lm-sensors