From mboxrd@z Thu Jan 1 00:00:00 1970 From: Boris Brezillon Subject: Re: Atmel HLCDC + Atomic operations: hook for internal atomic state change Date: Thu, 5 Feb 2015 10:56:30 +0100 Message-ID: <20150205105630.7d7af154@bbrezillon> References: <20150204182315.723a4991@bbrezillon> <20150204180227.GB9152@intel.com> <20150204205840.7588468d@bbrezillon> <20150205093420.GQ14009@phenom.ffwll.local> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail.free-electrons.com (down.free-electrons.com [37.187.137.238]) by gabe.freedesktop.org (Postfix) with ESMTP id EF7436E209 for ; Thu, 5 Feb 2015 01:56:36 -0800 (PST) In-Reply-To: <20150205093420.GQ14009@phenom.ffwll.local> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Daniel Vetter Cc: "dri-devel@lists.freedesktop.org" List-Id: dri-devel@lists.freedesktop.org SGkgRGFuaWVsLAoKT24gVGh1LCA1IEZlYiAyMDE1IDEwOjM0OjIwICswMTAwCkRhbmllbCBWZXR0 ZXIgPGRhbmllbEBmZndsbC5jaD4gd3JvdGU6Cgo+IE9uIFdlZCwgRmViIDA0LCAyMDE1IGF0IDA4 OjU4OjQwUE0gKzAxMDAsIEJvcmlzIEJyZXppbGxvbiB3cm90ZToKPiA+IEhpIFZpbGxlLAo+ID4g Cj4gPiBPbiBXZWQsIDQgRmViIDIwMTUgMjA6MDI6MjcgKzAyMDAKPiA+IFZpbGxlIFN5cmrDpGzD pCA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+IHdyb3RlOgo+ID4gCj4gPiA+IE9uIFdl ZCwgRmViIDA0LCAyMDE1IGF0IDA2OjIzOjE1UE0gKzAxMDAsIEJvcmlzIEJyZXppbGxvbiB3cm90 ZToKPiA+ID4gPiBIZWxsbywKPiA+ID4gPiAKPiA+ID4gPiBJJ20gY3VycmVudGx5IGFkZGluZyBz dXBwb3J0IGZvciBhdG9taWMgb3BlcmF0aW9ucyAob3IgYXRvbWljCj4gPiA+ID4gbW9kZXNldHRp bmcpIGluIHRoZSBBdG1lbCBITENEQyBkcml2ZXIuCj4gPiA+ID4gRXZlcnl0aGluZyBpcyBwcmV0 dHkgbXVjaCBpbiBwbGFjZSwgYW5kIGFsbCB0aGUgZmVhdHVyZXMgcHJvdmlkZWQgYnkgdGhlCj4g PiA+ID4gY3VycmVudCBkcml2ZXIgYXJlIHdvcmtpbmcgYXMgZXhwZWN0ZWQuCj4gPiA+ID4gSG93 ZXZlciwgdGhlcmUncyBvbmUgZmVhdHVyZSBJJ2QgbGlrZSB0byBhZGQgKGFjdHVhbGx5IEkgd2Fz IGhvcGluZwo+ID4gPiA+IGF0b21pYyBzdXBwb3J0IGNvdWxkIGhlbHAgbWUgZGVhbCB3aXRoIHRo aXMgZmVhdHVyZSksIGFuZCBJIG5vdCBzdXJlCj4gPiA+ID4gaG93IHRvIGRvIGl0Lgo+ID4gPiA+ IAo+ID4gPiA+IFRoZSBITENEQyBJUCBwcm92aWRlcyBhIHdheSB0byBkaXNjYXJkIGEgc3BlY2lm aWMgYXJlYSBvbiB0aGUgcHJpbWFyeQo+ID4gPiA+IHBsYW5lIChpbiBjYXNlIGF0IGxlYXN0IG9u ZSBvZiB0aGUgb3ZlcmxheSBpcyBhY3RpdmF0ZWQgYW5kIGFscGhhCj4gPiA+ID4gYmxlbmRpbmcg aXMgZGlzYWJsZWQpLgo+ID4gPiA+IERvaW5nIHRoaXMgd2lsbCByZWR1Y2UgdGhlIGFtb3VudCBv ZiBkYXRhIHRvIHRyYW5zZmVyIGZyb20gdGhlIG1haW4KPiA+ID4gPiBtZW1vcnkgdG8gdGhlIERp c3BsYXkgQ29udHJvbGxlciwgYW5kIHRodXMgYWxsZXZpYXRlIHRoZSBsb2FkIG9uIHRoZQo+ID4g PiA+IG1lbW9yeSBidXMgKHNpbmNlIHRoaXMgbGluayBpcyBxdWl0ZSBsaW1pdGVkIG9uIHN1Y2gg aGFyZHdhcmUsCj4gPiA+ID4gdGhpcyBraW5kIG9mIG9wdGltaXphdGlvbiBpcyByZWFsbHkgaW1w b3J0YW50KS4KPiA+ID4gPiAKPiA+ID4gPiBNeSBwcm9ibGVtIGhlcmUgaXMgdGhhdCB0aGVyZSBp cyBubyB3YXksIGluIHRoZSBjdXJyZW50IGF0b21pYwo+ID4gPiA+IGltcGxlbWVudGF0aW9uLCB0 byBpbnRlcm5hbGx5IGFzayBmb3IgYSBwbGFuZSBzdGF0ZSBtb2RpZmljYXRpb24uCj4gPiA+ID4g Cj4gPiA+ID4gSXMgdGhlcmUgYSBwbGFuIHRvIGFkZCBzdWNoIGhvb2tzIHRoYXQgd291bGQgYmUg Y2FsbGVkIGFmdGVyIHRoZQo+ID4gPiA+IHJlcXVlc3RlZCBzdGF0ZSBtb2RpZmljYXRpb25zIChp LmUuIG9wZXJhdGlvbnMgZG9uZSBiZWZvcmUgdGhlCj4gPiA+ID4gZHJtX2F0b21pY19jb21taXQg Y2FsbCBpbiBhbGwgaGVscGVyIGZ1bmN0aW9ucyksIGJ1dCBiZWZvcmUgdGhlIGF0b21pYwo+ID4g PiA+IGNoZWNrcyBiZWdpbiAoaS5lLiBjYWxsIHRvIGRybV9hdG9taWNfY2hlY2tfb25seSkgPwo+ ID4gPiA+IFN1Y2ggaG9va3Mgd291bGQgbGV0IG1lIGFzayBmb3IgYSBwcmltYXJ5IHBsYW5lIHVw ZGF0ZSAobW9kaWZ5aW5nIHRoZQo+ID4gPiA+IGRpc2NhcmQgYXJlYSBwcm9wZXJ0eSkgaWYgbmVl ZGVkLgo+ID4gPiA+IAo+ID4gPiA+IE1heWJlIEknbSB0b3RhbGx5IG1pc3Rha2VuIGluIG15IGFw cHJvYWNoIHRvIHNvbHZlIHRoaXMgcHJvYmxlbSwgc28KPiA+ID4gPiBwbGVhc2UgbGV0IG1lIGtu b3cgaWYgeW91IHNlZSBvdGhlciBzb2x1dGlvbnMuCj4gPiA+IAo+ID4gPiBTbyB0aGlzIGxvb2tz IHByZXR0eSBtdWNoIGV4YWN0bHkgbGlrZSB0aGUgb3ZlcmxheSBvcHRpbWl6YXRpb24gZmVhdHVy ZQo+ID4gPiBpbiBPTUFQcy4gSSBkb24ndCByZWFsbHkgc2VlIHdoeSB5b3UgbmVlZCB0byB0cmVh dCBpcyBhcyBzb21lIGtpbmQgb2YKPiA+ID4gcGxhbmUgcHJvcGVydHkuIEl0J3MganVzdCBhbiBp bnRlcm5hbCBpbXBsZW1lbnRhdGlvbiBkZXRhaWwgc28gY2FuJ3QgeW91Cj4gPiA+IGp1c3QgY29t cHV0ZSB0aGUgZGlzY2FyZCBhcmVhIGF0IGNvbW1pdCgpIHRpbWUgYmFzZWQgb24gd2hhdCBwbGFu ZXMgYXJlCj4gPiA+IGdvaW5nIHRvIGJlIGFjdGl2ZT8gT3IgaWYgeW91IHdhbnQgdG8gdGFrZSBp dCBpbnRvIGFjY291bnQgaW4gc29tZQo+ID4gPiBiYW5kd2lkdGggY2FsY3VsYXRpb24geW91IGNh biBjb21wdXRlIGl0IGFscmVhZHkgYXQgY2hlY2soKSB0aW1lLgo+ID4gPiAKPiA+IAo+ID4gT2th eSwgSSdsbCBoYXZlIGEgbG9vayBhdCB0aGUgT01BUCBkcml2ZXIsIGJ1dCBJJ2QgcmVhbGx5IGxp a2UgdG8KPiA+IGFwcGx5IHRoZSBkaXNjYXJkIGFyZWEgc2V0dGluZyBhcyBwYXJ0IG9mIHRoZSBw cmltYXJ5IHBsYW5lCj4gPiBhdG9taWNfdXBkYXRlIGZ1bmN0aW9uICh0aGUgZGlzY2FyZCBhcmVh IHJlZ2lzdGVycyBhcmUgcGFydCBvZiB0aGUKPiA+IHByaW1hcnkgcGxhbmUgcmVnaXN0ZXJzLCBh bmQgcGxhbmUgc2V0dGluZ3MgYXJlIHVwZGF0ZWQgYnkgc2V0dGluZyBhCj4gPiBzcGVjaWZpYyBi aXQgdG8gMSkuCj4gPiAKPiA+IEkgdHJpZWQgdG8gdXBkYXRlIHRoZSBwcmltYXJ5IHBsYW5lIGRp c2NhcmQgc2V0dGluZ3MgYXMgcGFydCBvZiB0aGUKPiA+IGF0b21pY191cGRhdGUsIGJ1dCB3aGVu IG5vdGhpbmcgdG91Y2hlcyB0aGUgcHJpbWFyeSBwbGFuZSAoYW4KPiA+IHVwZGF0ZV9wbGFuZSBv biBvbmUgb2YgdGhlIG92ZXJsYXkgcGxhbmVzKSwgdGhlIHByaW1hcnkgcGxhbmUgaXMga2VwdAo+ ID4gdW5jaGFuZ2VkLCBhbmQgdGh1cyB0aGUgbmV3IHByaW1hcnkgc2V0dGluZ3MgYXJlIG5ldmVy IGFwcGxpZWQuCj4gCj4gU28gSSdtIG5vdCBzdXJlIHdoZXRoZXIgSSB1bmRlcnN0YW5kIHRoaXMg Y29ycmVjdGx5LCBzbyBsZXQgbWUganVzdCBpbnZlbnQKPiBzb21lIGZha2UgaHcgbW9kZWwgYW5k IGV4cGxhaW4gd2l0aCB0aGF0IDstKSBQbGVhc2UgYWRqdXN0IGluIHlvdXIgcmVwbHkuCj4gCj4g QXNzdW1wdGlvbjogV2UgaGF2ZSAxIGNydGMgYW5kIDIgcGxhbmVzLCBhIHByaW1hcnkgYW5kIGFu IG92ZXJsYXkgb24gdG9wLgo+IE91ciBmYW5jeSBodyBoYXMgYW4gb3B0aW9uYWwgcmVjdCB3aXRo aW4gdGhlIHByaW1hcnkgcGxhbmUgd2hpY2ggd2UgY2FuCj4gdGVsbCBpdCBub3QgdG8gc2NhbiBv dXQuIFRoZSBpZGVhIGlzIHRoYXQgdGhhdCByZWN0IHBlcmZlY3RseSBtYXRjaGVzIHRoZQo+IHBs YWNlbWVudCBvZiB0aGUgMm5kIG92ZXJsYXkgcGxhbmUuCj4gCj4gU3RlcCAxOiBXZSBuZWVkIHRv IHN0b3JlIHRoaXMgc3RhdGUgc29tZXdoZXJlIG9mIHRoaXMgc3BlY2lhbCByZWN0LiBTbwo+IGxl dCdzIGNyZWF0ZSBhIGRlcml2ZWQgcGxhbmUgc3RhdGUgZm9yIHRoZSBwcmltYXJ5IHBsYW5lLgo+ IAo+IHN0cnVjdCBmaHdfcHJpbWFyeV9wbGFuZV9zdGF0ZSB7Cj4gCXN0cnVjdCBkcm1fcGxhbmVf c3RhdGUgYmFzZTsKPiAKPiAJYm9vbCBlbmFibGVfcHVuY2hvdXQ7Cj4gCWludCBwdW5jaG91dF94 L195L19oL193Owo+IH07Cj4gCj4gdGVncmEgaXMgYSBuaWNlIGV4YW1wbGUgb2Ygd2hhdCB5b3Ug YWxsIG5lZWQgdG8gZG8gd2hlbiB5b3VyIGRyaXZlciBuZWVkcwo+IGRlcml2ZWQgc3RhdGUgb2Jq ZWN0cy4KClllcCwgYWxyZWFkeSBjcmVhdGVkIG15IG93biBzdGF0ZSB3aGVuIGFkZGluZyBzdXBw b3J0IGZvciBhdG9taWMKbW9kZS1zZXR0aW5nIChzZWUgWzFdKSwgYW5kIHRoYXQncyBleGFjdGx5 IHdoYXQgSSB3YXMgcGxhbm5pbmcgdG8gZG8KKGFkZCBkaXNjX3gveS93L2ggZmllbGRzIGluIG15 IHBsYW5lIHN0YXRlKSA7LSkuCgo+IAo+IFN0ZXAgMjogV2UgbmVlZCB0byB1cGRhdGUgdGhlIHN0 YXRlIG9mIHRoZSBfcHJpbWFyeV8gcGxhbmUgZXZlcnkgdGltZSB0aGUKPiBfb3ZlcmxheV8gcGxh bmUgbW92ZXMgYXJvdW5kIG9yIGdldHMgZW5hYmxlZC9kaXNhYmxlLiBUaGF0IG11c3QgYmUgZG9u ZQo+IGludCB0aGUgYXRvbWljX2NoZWNrIGhvb2sgcHJvdmlkZWQgYnkgY3J0YyBoZWxwZXJzLiBQ c2V1ZG8tY29kZSBvZiB0aGF0Cj4gZnVuY3Rpb25zIGZvbGxvd3Mgd2l0aCBjb21tZW50cyBpbmxp bmUKClRoYXQncyB3aGVyZSBJIHdhcyBoZXNpdGFudCwgc28gdGhpcyBzaG91bGQgYmUgZG9uZSBp biB0aGUgYXRvbWljX2NoZWNrLgoKPiAKPiBmaHdfb3ZlcmxheV9wbGFuZV9hdG9taWNfY2hlY2so c3RydWN0IGRybV9wbGFuZSAqcGxhbmUsIHN0cnVjdCBkcm1fcGxhbmVfc3RhdGUgKnN0YXRlKQo+ IHsKPiAJLyogRmlyc3Qgd2UgbmVlZCB0byBnZXQgYXQgdGhlIHN0YXRlIG9mIHRoZSBwcmltYXJ5 IHBsYW5lLgo+IAkgKiBHcmFiYmluZyBhZGRpdGlvbmFsIHN0YXRlIG9iamVjdHMgYXMgbmVlZGVk IGlzIG9mZmljaWFsbHkgaG93Cj4gCSAqIC0+YXRvbWljX2NoZWNrIGlzIHN1cHBvc2VkIHRvIHdv cmsuIFRoZSBsb2NraW5nIHdpbGwgbWFnaWNhbGx5Cj4gCSAqIHdvcmsgb3V0LCBhcyBsb25nIGFz IHlvdSBqdXN0IGR1dGlmdWxseSBwYXNzIHRoZSB1bmNoYW5nZWQKPiAJICogZXJybm8gc28gdGhh dCBkZWFkbG9jayBoYW5kbGluZyBpcyBzdGlsbCBvay4gKi8KPiAJCj4gCXByaW1hcl9wbGFuZSA9 IC8qIGV4ZXJjaXNlIGZvciB0aGUgcmVhZGVyICovCglwcmltYXJfcGxhbmUgPSBzdGF0ZS0+Y3J0 Yy0+cHJpbWFyeTsKCglTaG91bGQgd29yaywgaXNuJ3QgaXQgPwoKPiAJcHJpbWFyeV9wbGFuZV9z dGF0ZSA9IGRybV9hdG9taWNfZ2V0X3BsYW5lX3N0YXRlKHN0YXRlLT5zdGF0ZSwKPiAJCQkJCQkJ IHByaW1hcnlfcGxhbmUpOwo+IAlpZiAoSVNfRVJSKHByaW1hcnlfcGxhbmVfc3RhdGUpKQo+IAkJ cmV0dXJuIFBUUl9FUlIocHJpbWFyeV9wbGFuZV9zdGF0ZSk7Cj4gCj4gCWZod19wcmltYXJ5X3Bs YW5lX3N0YXRlID0gdXBjYXN0KHByaW1hcnlfcGxhbmVfc3RhdGUpOwo+IAo+IAkvKiBVcGRhdGUg cHVuY2hvdXQsIG9ubHkgZW5hYmxlIHdoZW4gb3ZlcmxheSBpcyBvbi4gKi8KPiAJZmh3X3ByaW1h cnlfcGxhbmVfc3RhdGUuZW5hYmVsX3B1bmNob3V0ID0gISFzdGF0ZS0+Y3J0YzsKPiAJZmh3X3By aW1hcnlfcGxhbmVfc3RhdGUucHVuY2hvdXRfeCA9IHN0YXRlLT5jcnRjX3g7Cj4gCS4uLgo+IAo+ IAlyZXR1cm4gMDsKPiB9CgpUaGF0J3MgZXhhY3RseSB3aGF0IEkgd2FzIHBsYW5uaW5nIHRvIGRv LCBqdXN0IHdhc24ndCBzdXJlIGlmIEkgd2FzCmFsbG93ZWQgdG8gbW9kaWZ5IG9uZSBvZiB0aGUg c3RhdGUgd2hlbiBpbiB0aGUgYXRvbWljX2NoZWNrIGNhbGxiYWNrCih0aGUgcHJpbWFyeSBwbGFu ZSBtaWdodCBoYXZlIGFscmVhZHkgYmVlbiBjaGVja2VkLCBhbmQgaGVyZSwgd2UncmUKbW9kaWZ5 aW5nIGl0IGFmdGVyd2FyZCkuCgo+IAo+IFN0ZXAgMzogSW4geW91ciBhdG9taWNfcGxhbmVfY29t bWl0IGZvciB0aGUgX3ByaW1hcnlfIHBsYW5lIHdyaXRlIHRoZQo+IHB1bmNob3V0IHJlY3QgcGx1 cyBlbmFibGUgYml0IGludG8gaHcuIEF0b21pYyBoZWxwZXJzIHdpbGwgdGFrZSBjYXJlIG9mCj4g ZXZlcnl0aGluZyBmb3IgeW91LiBUaGUgYXNzdW1wdGlvbiBpcyB0aGF0IHB1cmUgcGxhbmUgdXBk YXRlcyBhcmUgY2hlYXAsCj4gc28gdGhlcmUgd29uJ3QgYmUgYW55IG9wdGltaXphdGlvbiBmb3Ig bm8tb3AgdXBkYXRlcy4gV2UgY291bGQgYWRkIHRoaXMKPiBsYXRlciBvbi4KClllcC4KCj4gCj4g U3VtbWFyeTogWW91IG5lZWQgdGhyZWUgcGllY2VzIGZvciBmYW5jeSBzdGF0ZToKPiAtIFlvdXIg b3duIHN0YXRlIHN0cnVjdHVyZShzKS4KPiAtIENvbXB1dGUgdGhhdCBkZXJpdmVkIHN0YXRlIGF0 IGF0b21pY19jaGVjayB0aW1lICh0b3RhbGx5IG9rIHRvIGdyYWIKPiAgIG90aGVyIHN0YXRlcyB0 byBkbyB0aGlzIGlmIG5lZWRlZCwgdGhpcyBpcyBob3cgaXQncyBkZXNpZ25lZCkuCj4gLSBCYXNo IHlvdXIgc3BlY2lhbCBzdGF0ZSBpbnRvIGh3IGF0IGNvbW1pdCB0aW1lLgoKVGhhbmtzIGZvciB0 aGlzIGRldGFpbGVkIGFuc3dlci4KCkJlc3QgUmVnYXJkcywKCkJvcmlzCgotLSAKQm9yaXMgQnJl emlsbG9uLCBGcmVlIEVsZWN0cm9ucwpFbWJlZGRlZCBMaW51eCBhbmQgS2VybmVsIGVuZ2luZWVy aW5nCmh0dHA6Ly9mcmVlLWVsZWN0cm9ucy5jb20KX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlz dHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9s aXN0aW5mby9kcmktZGV2ZWwK