From mboxrd@z Thu Jan 1 00:00:00 1970 From: Guenter Roeck Subject: Re: [lm-sensors] hwmon API update Date: Thu, 3 Mar 2011 14:03:42 -0800 Message-ID: <1299189822.18605.35.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> <1299187158.18605.28.camel@groeck-laptop> <1299189416.2255.22.camel@workstation> Reply-To: guenter.roeck-IzeFyvvaP7pWk0Htik3J/w@public.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1299189416.2255.22.camel@workstation> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: nouveau-bounces+gcfxn-nouveau=m.gmane.org-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Errors-To: nouveau-bounces+gcfxn-nouveau=m.gmane.org-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org To: Lucas Stach Cc: Jean Delvare , nouveau , "lm-sensors-GZX6beZjE8VD60Wz+7aTrA@public.gmane.org" List-Id: nouveau.vger.kernel.org T24gVGh1LCAyMDExLTAzLTAzIGF0IDE2OjU2IC0wNTAwLCBMdWNhcyBTdGFjaCB3cm90ZToKPiBB bSBEb25uZXJzdGFnLCBkZW4gMDMuMDMuMjAxMSwgMTM6MTkgLTA4MDAgc2NocmllYiBHdWVudGVy IFJvZWNrOgo+ID4gT24gVGh1LCAyMDExLTAzLTAzIGF0IDE1OjQ4IC0wNTAwLCBMdWNhcyBTdGFj aCB3cm90ZToKPiA+ID4gQW0gRG9ubmVyc3RhZywgZGVuIDAzLjAzLjIwMTEsIDE4OjI5ICswMTAw IHNjaHJpZWIgTWFydGluIFBlcmVzOgo+ID4gPiA+IExlIDAzLzAzLzIwMTEgMTY6MjIsIEd1ZW50 ZXIgUm9lY2sgYSDDqWNyaXQgOgo+ID4gPiA+ID4gT24gVGh1LCBNYXIgMDMsIDIwMTEgYXQgMDQ6 MzY6MDlBTSAtMDUwMCwgRGF2ZSBBaXJsaWUgd3JvdGU6Cj4gPiA+ID4gPj4gT24gTW9uLCBGZWIg MTQsIDIwMTEgYXQgODowOCBBTSwgSmVhbiBEZWx2YXJlPGtoYWxpQGxpbnV4LWZyLm9yZz4gIHdy b3RlOgo+ID4gPiA+ID4+PiBPbiBTdW4sIDEzIEZlYiAyMDExIDA5OjE2OjQwIC0wODAwLCBHdWVu dGVyIFJvZWNrIHdyb3RlOgo+ID4gPiA+ID4+Pj4gT24gU3VuLCBGZWIgMTMsIDIwMTEgYXQgMDc6 MTg6NDRBTSAtMDUwMCwgTWFydGluIFBlcmVzIHdyb3RlOgo+ID4gPiA+ID4+Pj4+IEhpLAo+ID4g PiA+ID4+Pj4+Cj4gPiA+ID4gPj4+Pj4gSSBhbSB3b3JraW5nIG9uIHBvd2VyIG1hbmFnZW1lbnQg b24gdGhlIG5vdXZlYXUgZHJpdmVyIGFuZCBJIG5lZWQgYSB3YXkKPiA+ID4gPiA+Pj4+PiB0byBn ZXQgZGF0YSBvdXQgb2YgYW5kIHNlbmQgY29tbWFuZHMgdG8gdGhlIGkyYyBkcml2ZXJzIGZyb20g dGhlIGtlcm5lbAo+ID4gPiA+ID4+Pj4+IHNwYWNlLgo+ID4gPiA+ID4+IE1hcnRpbiwKPiA+ID4g PiA+Pgo+ID4gPiA+ID4+IHlvdSBwcm9iYWJseSBzaG91bGQgaGF2ZSBjYydlZCBNYXR0aGV3IHNp bmNlIGl0IHdhcyBoaXMgcGF0Y2ggeW91IGJhc2VkIHRoaXMgb24sCj4gPiA+ID4gPj4gYW5kIEkg dGhpbmsgaGUgY2FuIHByb3ZpZGUgYSBnb29kIGV4cGxhaW5hdGlvbi4KPiA+ID4gPiA+Pgo+ID4g PiA+ID4+IHRvIGNsYXJpZnkgc29tZSBwb2ludHMsCj4gPiA+ID4gPj4KPiA+ID4gPiA+PiByYWRl b24gZG9lcyBwcm9iYWJseSB3YW50IHNvbWV0aGluZyBleGFjdGx5IGxpa2UgdGhpcywgd2UganVz dCBoYXZlbid0IGdvdHRlbiB0bwo+ID4gPiA+ID4+IGl0IGNvbXBsZXRlbHkgeWV0LCBJJ2QgcmF0 aGVyIG5vdCBoYXZlIHR3byBkcml2ZXJzIGluIHRoZSBrZXJuZWwgZm9yCj4gPiA+ID4gPj4gZXhh Y3Qgc2FtZSBoYXJkd2FyZSwKPiA+ID4gPiA+PiBhbmQgSSBiZWxpZXZlIHNoYXJpbmcgdGhlIGh3 bW9uIGNvZGUgdG8gZG8gd2hhdCB3ZSB3YW50IGlzIGEgZ29vZCBwbGFuIHNpbmNlIHlvdQo+ID4g PiA+ID4+IGRvbid0IGdvIGFyb3VuZCByZWludmVudGluZyB3aGVlbHMsIGJ1dCBpZiBod21vbi9p MmMgbWFpbnRhaW5lcnMgaGF2ZQo+ID4gPiA+ID4+IG5vIGludGVyZXN0Cj4gPiA+ID4gPj4gaXQg bGVhdmVzIHdpdGggbGl0dGxlIGNob2ljZSBidXQgdG8gaW1wbGVtZW50IGFib3V0IDUtMTAgaTJj IGRyaXZlcnMKPiA+ID4gPiA+PiBhZ2FpbiBpbiBkcm0gY29kZWJhc2UuCj4gPiA+ID4gPj4KPiA+ ID4gPiA+PiBNYXliZSBod21vbi9pMmMgbWFpbnRhaW5lcnMgY291bGQgc3VnZ2VzdCBhIGNsZWFu ZXIgd2F5IHRvIGltcGxlbWVudAo+ID4gPiA+ID4+IHdoYXQgd2Ugd2FudCwKPiA+ID4gPiA+PiB3 aGljaCBJIHRoaW5rIEkgY2FuIHN1bW1hcml6ZSBhcwo+ID4gPiA+ID4+Cj4gPiA+ID4gPj4gYSkg YWNjZXNzIHRvIG1vbml0b3JlZCB2YWx1ZXMgaW4ta2VybmVsCj4gPiA+ID4gPj4gYikgbm8gdXNl cnNwYWNlIGFjY2VzcyB0byB0aGUgc2FtZSB2YWx1ZXMgZXhjZXB0IHZpYSBzYW5pdGlzZWQgdmlh IHRoZSBkcml2ZXIuCj4gPiA+ID4gPj4KPiA+ID4gPiA+IFRoaXMgaXMgbm90IGEgbWF0dGVyIG9m ICJubyBpbnRlcmVzdCIuIEludGVyZXN0IGlzIHRoZXJlLCBidXQgaWYgb25lIGRlbWFuZHMKPiA+ ID4gPiA+IHRvbyBtdWNoIG9uZSBtYXkgZ2V0IG5vdGhpbmcuCj4gPiA+ID4gPgo+ID4gPiA+ID4g UmVxdWVzdCBmb3IgYikgc28gZmFyIHdhcyAibm8gdXNlcnNwYWNlIGFjY2VzcyIsIHBlcmlvZC4g VGhpcyBpcyB1bmFjY2VwdGFibGUKPiA+ID4gPiA+IHNpbmNlIHByb3ZpZGluZyB1c2Vyc3BhY2Ug YWNjZXNzIHRvIG1vbml0b3JlZCB2YWx1ZXMgaXMgdGhlIHdob2xlIHBvaW50IG9mIGh3bW9uLgo+ ID4gPiAKPiA+ID4gQW5kIHRoYXQgaXMgd2hhdCB3ZSB3YW50IHRvIGRvLiBCdXQgaXQgd291bGQg YmUgbmljZSBpZiB0aGUgZ3JhcGhpY3MKPiA+ID4gZHJpdmVycyBjb3VsZCBwcm92aWRlIGEgX3Np bmdsZV8gaW50ZXJmYWNlIHRvIHVzZXJzcGFjZS4gTm90IGFsbCBib2FyZHMKPiA+ID4gaGF2ZSBp MmMgaGFyZHdhcmUgbW9uaXRvcmluZyBjaGlwcyBhbmQgd2l0aCBhIHNpbmdsZSBpbnRlcmZhY2Ug d2UgY291bGQKPiA+ID4gZmFsbCBiYWNrIHRvIHRoZSBpbnRlcm5hbCBncHUgc2Vuc29yLCB0cmFu c3BhcmVudGx5IGZvciB0aGUgdXNlci4KPiA+ID4gCj4gPiA+ID4gPgo+ID4gPiA+ID4gSSBjb3Vs ZCBpbWFnaW5lIGFuIEFQSSB0aGF0IGNvdmVycyBib3RoIGEpIGFuZCBiKSwgYXMgbG9uZyBhcyBi KSBmb2N1c2VzCj4gPiA+ID4gPiBvbiB0aGUgInNhbml0aXplIiBhc3BlY3QgYW5kIGRvZXNuJ3Qg dHJ5IHRvIGxpbWl0IHVzZXJzcGFjZSBhY2Nlc3MgdG8gYXR0cmlidXRlcy4KPiA+ID4gPiA+Cj4g PiA+ID4gPiBHdWVudGVyCj4gPiA+ID4gYikgd2FzIGludHJvZHVjZWQgYnkgRGF2ZSwgSSBuZXZl ciBhc2tlZCBmb3IgaXQgYmVjYXVzZSBJIGRvbid0IG1pbmQgCj4gPiA+ID4gZHVwbGljYXRpbmcg c2Vuc29yIGRhdGEgKG9uZSBod21vbiBkZXZpY2UgbmFtZWQgbm91dmVhdSBhbmQgb25lIGZvciB0 aGUgCj4gPiA+ID4gcmF3IGFjY2VzcyB0byB0aGUgaTJjIGNoaXApLgo+ID4gPiAKPiA+ID4gU29y cnkgZm9yIHRoZSBjb25mdXNpb24gTWFydGluLCBJIGJyb3VnaHQgdXAgdGhlIHBvaW50IG9mIGxp bWl0aW5nCj4gPiA+IHVzZXJzcGFjZSBhY2Nlc3MgYW5kIGRpZCBub3QgY2MgdGhlIG5vdXZlYXUg bWFpbGluZyBsaXN0LiBJIHRoaW5rIGl0IGlzCj4gPiA+IGJhZCBiZWhhdmlvdXIgdG8gZXhwb3Nl IHZhbHVlcyB0byB1c2Vyc3BhY2Ugd2hpY2ggYXJlIHRvdGFsbHkgb2ZmIHRoZQo+ID4gPiByZWFs IHZhbHVlcy4gVGhpcyBjb25mdXNlcyB1c2VycyBhbmQgc2hvdWxkIGJlIGF2b2lkZWQsIGVzcGVj aWFsbHkgc2luY2UKPiA+ID4gd2UgY2FuIHByb3ZpZGUgc2FuaXRpemVkIHZhbHVlcy4KPiA+ID4g Cj4gPiA+IFdoeSBzaG91bGQgd2UgcHVzaCB0aGUgbG9naWMgYW5kIGFwaSBmb3Igc2FuaXRpemlu ZyB0aGUgdmFsdWVzIHRvIG1hbnkKPiA+ID4gaHdtb24gZHJpdmVycyBpZiB3ZSBjb3VsZCBlYXNp bHkgZG8gdGhpcyBhdCBhIHNpbmdsZSBwb2ludCBpbiB0aGUKPiA+ID4gZ3JhcGhpY3MgZHJpdmVy LCBpZiB3ZSBwcm92aWRlIHRoZSB1c2Vyc3BhY2UgaW50ZXJmYWNlIG91cnNlbGYgYW5kIHVzZQo+ ID4gPiB0aGUgaHdtb24gZHJpdmVyIG9ubHkgdG8gaW5zdHJ1bWVudCB0aGUgbW9uaXRvcmluZyBj aGlwPwo+ID4gCj4gPiBJIGRvbid0IHRoaW5rIHRoZSBmdW5jdGlvbmFsaXR5IChub3IgdGhlIGlu dGVybmFsIEFQSSkgc2hvdWxkIGhhdmUgdG8gYmUKPiA+IGltcGxlbWVudGVkIGluIGluZGl2aWR1 YWwgZHJpdmVycy4gSW5zdGVhZCwgdGhlcmUgc2hvdWxkIGJlIGEgbmV3IEFQSQo+ID4gYmV0d2Vl biBod21vbiBkcml2ZXJzIGFuZCB0aGUgaHdtb24gY29yZS4gVXNpbmcgdGhpcyBBUEksIHRoZSBo d21vbiBjb3JlCj4gPiB3b3VsZCByZWFkL3dyaXRlIHJhdyB2YWx1ZXMgZnJvbS90byBod21vbiBk cml2ZXJzIGFuZCBtYWtlIHRob3NlIHZhbHVlcwo+ID4gYXZhaWxhYmxlIHRvIHVzZXJsYW5kIGFu ZCB0byBvdGhlciBkcml2ZXJzIChzdWNoIGFzIHRoZSBub3V2ZWF1IGRyaXZlcikuCj4gPiBUaGUg aHdtb24gY29yZSB3b3VsZCB0aGVuIGFsc28gcGVyZm9ybSBzYW5pdGl6aW5nIGlmIG5lY2Vzc2Fy eSwgaWUgY2FsbAo+ID4gcmVnaXN0ZXJlZCBzYW5pdGl6aW5nIGZ1bmN0aW9ucy4KPiA+IAo+ID4g V2l0aCB0aGlzIGFwcHJvYWNoLCBod21vbiB3b3VsZCByZXBvcnQgc2FuaXRpemVkIHZhbHVlcywg Z3JhcGhpY3MKPiA+IGRyaXZlcnMgd291bGQgbm90IGhhdmUgdG8gc3VwcG9ydC9nZW5lcmF0ZSBo d21vbiBzeXNmcyBBQkkgYXR0cmlidXRlcywKPiA+IGFuZCBod21vbiBkcml2ZXIgc3RydWN0dXJl IHdvdWxkIGJlIG11Y2ggc2ltcGxlciwgc2luY2UgZHJpdmVycyBjb3VsZAo+ID4gY29uY2VudHJh dGUgb24gZ2V0dGluZyBkYXRhIGZyb20gYW5kIHRvIGNoaXBzIGluc3RlYWQgb2YgaGF2aW5nIHRv IGRlYWwKPiA+IHdpdGggc3lzZnMgYXR0cmlidXRlcy4gVGhhdCB3b3VsZCBiZSBhIHdpbiBmb3Ig ZXZlcnlvbmUuCj4gPiAKPiA+IEd1ZW50ZXIKPiAKPiBUaGlzIGlzIGEgYmlnZ2VyIGNoYW5nZSB0 aGFuIHdlIGluaXRpYWxseSBhaW1lZCBmb3IgYW5kIEkgZGlkbid0IGRhcmUgdG8KPiBhc2sgZm9y IHN1Y2ggYSBoZWF2eSBtb2RpZmljYXRpb24sIGJ1dCBJJ20gdmVyeSBoYXBweSB3aXRoIHRoaXMg c29sdXRpb24KPiBpZiB5b3UgcHJlZmVyIGFuZCBzdXBwb3J0IGl0IHRoaXMgd2F5LgoKSWYgZG9u ZSByaWdodCwgaXQgc2hvdWxkIGJlIG11Y2ggbGVzcyBpbnZhc2l2ZSB0aGFuIHRoZSBwcmV2aW91 cwphcHByb2FjaCAtIG1lYW5pbmcgZXhpc3RpbmcgZHJpdmVycyB3b3VsZCBub3QgaGF2ZSB0byBi ZSBtb2RpZmllZCBhbmQKY2FuIGJlIGNvbnZlcnRlZCBhcyB0aW1lIHBlcm1pdHMuCgo+IHUgaGF2 ZSBubyBvYmplY3Rpb25zIEkgd2lsbCB0cnkgdG8gaGFjayBzb21ldGhpbmcgdG9nZXRoZXIgYnkg dGhpcwo+IHdlZWtlbmQgc28gd2UgY291bGQgZnVydGhlciBkaXNjdXNzIHRoZSBpc3N1ZSB3aXRo IHNvbWUgcmVhbCBjb2RlIGF0Cj4gaGFuZC4KPiAKU3VyZSwgZ28gYWhlYWQuIEkgc3RhcnRlZCBz b21ldGhpbmcgdG9vLCBidXQgSSBkb24ndCByZWFsbHkgaGF2ZSBtdWNoCnRpbWUgcmlnaHQgbm93 LgoKR3VlbnRlcgoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fCk5vdXZlYXUgbWFpbGluZyBsaXN0Ck5vdXZlYXVAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0 dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9ub3V2ZWF1Cg== From mboxrd@z Thu Jan 1 00:00:00 1970 From: Guenter Roeck Date: Thu, 03 Mar 2011 22:03:42 +0000 Subject: Re: [lm-sensors] [Nouveau] hwmon API update Message-Id: <1299189822.18605.35.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> <1299187158.18605.28.camel@groeck-laptop> <1299189416.2255.22.camel@workstation> In-Reply-To: <1299189416.2255.22.camel@workstation> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable To: Lucas Stach Cc: Jean Delvare , nouveau , "lm-sensors-GZX6beZjE8VD60Wz+7aTrA@public.gmane.org" On Thu, 2011-03-03 at 16:56 -0500, Lucas Stach wrote: > Am Donnerstag, den 03.03.2011, 13:19 -0800 schrieb Guenter Roeck: > > 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 wrote: > > > > >>> 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 yo= u based 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 h= aven'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 goo= d plan 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 dri= vers > > > > >> again in drm codebase. > > > > >> > > > > >> Maybe hwmon/i2c maintainers could suggest a cleaner way to imple= ment > > > > >> 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 v= ia the 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 = unacceptable > > > > > since providing userspace access to monitored values is the whole= point 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 boar= ds > > > have i2c hardware monitoring chips and with a single interface we cou= ld > > > 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) = focuses > > > > > on the "sanitize" aspect and doesn't try to limit userspace acces= s to attributes. > > > > > > > > > > Guenter > > > > b) was introduced by Dave, I never asked for it because I don't min= d=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 si= nce > > > 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? > >=20 > > 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. > >=20 > > 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. > >=20 > > Guenter >=20 > This is a bigger change than we initially aimed for and I didn't dare to > ask for such a heavy modification, but I'm very happy with this solution > if you prefer and support it this way. If done right, it should be much less invasive than the previous approach - meaning existing drivers would not have to be modified and can be converted as time permits. > u have no objections I will try to hack something together by this > weekend so we could further discuss the issue with some real code at > hand. >=20 Sure, go ahead. I started something too, but I don't really have much time right now. Guenter _______________________________________________ lm-sensors mailing list lm-sensors@lm-sensors.org http://lists.lm-sensors.org/mailman/listinfo/lm-sensors