From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: Atmel HLCDC + Atomic operations: hook for internal atomic state change Date: Thu, 5 Feb 2015 10:34:20 +0100 Message-ID: <20150205093420.GQ14009@phenom.ffwll.local> References: <20150204182315.723a4991@bbrezillon> <20150204180227.GB9152@intel.com> <20150204205840.7588468d@bbrezillon> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wg0-f48.google.com (mail-wg0-f48.google.com [74.125.82.48]) by gabe.freedesktop.org (Postfix) with ESMTP id 29B4D6E797 for ; Thu, 5 Feb 2015 01:32:58 -0800 (PST) Received: by mail-wg0-f48.google.com with SMTP id x12so6446883wgg.7 for ; Thu, 05 Feb 2015 01:32:57 -0800 (PST) Content-Disposition: inline In-Reply-To: <20150204205840.7588468d@bbrezillon> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Boris Brezillon Cc: "dri-devel@lists.freedesktop.org" List-Id: dri-devel@lists.freedesktop.org T24gV2VkLCBGZWIgMDQsIDIwMTUgYXQgMDg6NTg6NDBQTSArMDEwMCwgQm9yaXMgQnJlemlsbG9u IHdyb3RlOgo+IEhpIFZpbGxlLAo+IAo+IE9uIFdlZCwgNCBGZWIgMjAxNSAyMDowMjoyNyArMDIw MAo+IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+IHdyb3Rl Ogo+IAo+ID4gT24gV2VkLCBGZWIgMDQsIDIwMTUgYXQgMDY6MjM6MTVQTSArMDEwMCwgQm9yaXMg QnJlemlsbG9uIHdyb3RlOgo+ID4gPiBIZWxsbywKPiA+ID4gCj4gPiA+IEknbSBjdXJyZW50bHkg YWRkaW5nIHN1cHBvcnQgZm9yIGF0b21pYyBvcGVyYXRpb25zIChvciBhdG9taWMKPiA+ID4gbW9k ZXNldHRpbmcpIGluIHRoZSBBdG1lbCBITENEQyBkcml2ZXIuCj4gPiA+IEV2ZXJ5dGhpbmcgaXMg cHJldHR5IG11Y2ggaW4gcGxhY2UsIGFuZCBhbGwgdGhlIGZlYXR1cmVzIHByb3ZpZGVkIGJ5IHRo ZQo+ID4gPiBjdXJyZW50IGRyaXZlciBhcmUgd29ya2luZyBhcyBleHBlY3RlZC4KPiA+ID4gSG93 ZXZlciwgdGhlcmUncyBvbmUgZmVhdHVyZSBJJ2QgbGlrZSB0byBhZGQgKGFjdHVhbGx5IEkgd2Fz IGhvcGluZwo+ID4gPiBhdG9taWMgc3VwcG9ydCBjb3VsZCBoZWxwIG1lIGRlYWwgd2l0aCB0aGlz IGZlYXR1cmUpLCBhbmQgSSBub3Qgc3VyZQo+ID4gPiBob3cgdG8gZG8gaXQuCj4gPiA+IAo+ID4g PiBUaGUgSExDREMgSVAgcHJvdmlkZXMgYSB3YXkgdG8gZGlzY2FyZCBhIHNwZWNpZmljIGFyZWEg b24gdGhlIHByaW1hcnkKPiA+ID4gcGxhbmUgKGluIGNhc2UgYXQgbGVhc3Qgb25lIG9mIHRoZSBv dmVybGF5IGlzIGFjdGl2YXRlZCBhbmQgYWxwaGEKPiA+ID4gYmxlbmRpbmcgaXMgZGlzYWJsZWQp Lgo+ID4gPiBEb2luZyB0aGlzIHdpbGwgcmVkdWNlIHRoZSBhbW91bnQgb2YgZGF0YSB0byB0cmFu c2ZlciBmcm9tIHRoZSBtYWluCj4gPiA+IG1lbW9yeSB0byB0aGUgRGlzcGxheSBDb250cm9sbGVy LCBhbmQgdGh1cyBhbGxldmlhdGUgdGhlIGxvYWQgb24gdGhlCj4gPiA+IG1lbW9yeSBidXMgKHNp bmNlIHRoaXMgbGluayBpcyBxdWl0ZSBsaW1pdGVkIG9uIHN1Y2ggaGFyZHdhcmUsCj4gPiA+IHRo aXMga2luZCBvZiBvcHRpbWl6YXRpb24gaXMgcmVhbGx5IGltcG9ydGFudCkuCj4gPiA+IAo+ID4g PiBNeSBwcm9ibGVtIGhlcmUgaXMgdGhhdCB0aGVyZSBpcyBubyB3YXksIGluIHRoZSBjdXJyZW50 IGF0b21pYwo+ID4gPiBpbXBsZW1lbnRhdGlvbiwgdG8gaW50ZXJuYWxseSBhc2sgZm9yIGEgcGxh bmUgc3RhdGUgbW9kaWZpY2F0aW9uLgo+ID4gPiAKPiA+ID4gSXMgdGhlcmUgYSBwbGFuIHRvIGFk ZCBzdWNoIGhvb2tzIHRoYXQgd291bGQgYmUgY2FsbGVkIGFmdGVyIHRoZQo+ID4gPiByZXF1ZXN0 ZWQgc3RhdGUgbW9kaWZpY2F0aW9ucyAoaS5lLiBvcGVyYXRpb25zIGRvbmUgYmVmb3JlIHRoZQo+ ID4gPiBkcm1fYXRvbWljX2NvbW1pdCBjYWxsIGluIGFsbCBoZWxwZXIgZnVuY3Rpb25zKSwgYnV0 IGJlZm9yZSB0aGUgYXRvbWljCj4gPiA+IGNoZWNrcyBiZWdpbiAoaS5lLiBjYWxsIHRvIGRybV9h dG9taWNfY2hlY2tfb25seSkgPwo+ID4gPiBTdWNoIGhvb2tzIHdvdWxkIGxldCBtZSBhc2sgZm9y IGEgcHJpbWFyeSBwbGFuZSB1cGRhdGUgKG1vZGlmeWluZyB0aGUKPiA+ID4gZGlzY2FyZCBhcmVh IHByb3BlcnR5KSBpZiBuZWVkZWQuCj4gPiA+IAo+ID4gPiBNYXliZSBJJ20gdG90YWxseSBtaXN0 YWtlbiBpbiBteSBhcHByb2FjaCB0byBzb2x2ZSB0aGlzIHByb2JsZW0sIHNvCj4gPiA+IHBsZWFz ZSBsZXQgbWUga25vdyBpZiB5b3Ugc2VlIG90aGVyIHNvbHV0aW9ucy4KPiA+IAo+ID4gU28gdGhp cyBsb29rcyBwcmV0dHkgbXVjaCBleGFjdGx5IGxpa2UgdGhlIG92ZXJsYXkgb3B0aW1pemF0aW9u IGZlYXR1cmUKPiA+IGluIE9NQVBzLiBJIGRvbid0IHJlYWxseSBzZWUgd2h5IHlvdSBuZWVkIHRv IHRyZWF0IGlzIGFzIHNvbWUga2luZCBvZgo+ID4gcGxhbmUgcHJvcGVydHkuIEl0J3MganVzdCBh biBpbnRlcm5hbCBpbXBsZW1lbnRhdGlvbiBkZXRhaWwgc28gY2FuJ3QgeW91Cj4gPiBqdXN0IGNv bXB1dGUgdGhlIGRpc2NhcmQgYXJlYSBhdCBjb21taXQoKSB0aW1lIGJhc2VkIG9uIHdoYXQgcGxh bmVzIGFyZQo+ID4gZ29pbmcgdG8gYmUgYWN0aXZlPyBPciBpZiB5b3Ugd2FudCB0byB0YWtlIGl0 IGludG8gYWNjb3VudCBpbiBzb21lCj4gPiBiYW5kd2lkdGggY2FsY3VsYXRpb24geW91IGNhbiBj b21wdXRlIGl0IGFscmVhZHkgYXQgY2hlY2soKSB0aW1lLgo+ID4gCj4gCj4gT2theSwgSSdsbCBo YXZlIGEgbG9vayBhdCB0aGUgT01BUCBkcml2ZXIsIGJ1dCBJJ2QgcmVhbGx5IGxpa2UgdG8KPiBh cHBseSB0aGUgZGlzY2FyZCBhcmVhIHNldHRpbmcgYXMgcGFydCBvZiB0aGUgcHJpbWFyeSBwbGFu ZQo+IGF0b21pY191cGRhdGUgZnVuY3Rpb24gKHRoZSBkaXNjYXJkIGFyZWEgcmVnaXN0ZXJzIGFy ZSBwYXJ0IG9mIHRoZQo+IHByaW1hcnkgcGxhbmUgcmVnaXN0ZXJzLCBhbmQgcGxhbmUgc2V0dGlu Z3MgYXJlIHVwZGF0ZWQgYnkgc2V0dGluZyBhCj4gc3BlY2lmaWMgYml0IHRvIDEpLgo+IAo+IEkg dHJpZWQgdG8gdXBkYXRlIHRoZSBwcmltYXJ5IHBsYW5lIGRpc2NhcmQgc2V0dGluZ3MgYXMgcGFy dCBvZiB0aGUKPiBhdG9taWNfdXBkYXRlLCBidXQgd2hlbiBub3RoaW5nIHRvdWNoZXMgdGhlIHBy aW1hcnkgcGxhbmUgKGFuCj4gdXBkYXRlX3BsYW5lIG9uIG9uZSBvZiB0aGUgb3ZlcmxheSBwbGFu ZXMpLCB0aGUgcHJpbWFyeSBwbGFuZSBpcyBrZXB0Cj4gdW5jaGFuZ2VkLCBhbmQgdGh1cyB0aGUg bmV3IHByaW1hcnkgc2V0dGluZ3MgYXJlIG5ldmVyIGFwcGxpZWQuCgpTbyBJJ20gbm90IHN1cmUg d2hldGhlciBJIHVuZGVyc3RhbmQgdGhpcyBjb3JyZWN0bHksIHNvIGxldCBtZSBqdXN0IGludmVu dApzb21lIGZha2UgaHcgbW9kZWwgYW5kIGV4cGxhaW4gd2l0aCB0aGF0IDstKSBQbGVhc2UgYWRq dXN0IGluIHlvdXIgcmVwbHkuCgpBc3N1bXB0aW9uOiBXZSBoYXZlIDEgY3J0YyBhbmQgMiBwbGFu ZXMsIGEgcHJpbWFyeSBhbmQgYW4gb3ZlcmxheSBvbiB0b3AuCk91ciBmYW5jeSBodyBoYXMgYW4g b3B0aW9uYWwgcmVjdCB3aXRoaW4gdGhlIHByaW1hcnkgcGxhbmUgd2hpY2ggd2UgY2FuCnRlbGwg aXQgbm90IHRvIHNjYW4gb3V0LiBUaGUgaWRlYSBpcyB0aGF0IHRoYXQgcmVjdCBwZXJmZWN0bHkg bWF0Y2hlcyB0aGUKcGxhY2VtZW50IG9mIHRoZSAybmQgb3ZlcmxheSBwbGFuZS4KClN0ZXAgMTog V2UgbmVlZCB0byBzdG9yZSB0aGlzIHN0YXRlIHNvbWV3aGVyZSBvZiB0aGlzIHNwZWNpYWwgcmVj dC4gU28KbGV0J3MgY3JlYXRlIGEgZGVyaXZlZCBwbGFuZSBzdGF0ZSBmb3IgdGhlIHByaW1hcnkg cGxhbmUuCgpzdHJ1Y3QgZmh3X3ByaW1hcnlfcGxhbmVfc3RhdGUgewoJc3RydWN0IGRybV9wbGFu ZV9zdGF0ZSBiYXNlOwoKCWJvb2wgZW5hYmxlX3B1bmNob3V0OwoJaW50IHB1bmNob3V0X3gvX3kv X2gvX3c7Cn07Cgp0ZWdyYSBpcyBhIG5pY2UgZXhhbXBsZSBvZiB3aGF0IHlvdSBhbGwgbmVlZCB0 byBkbyB3aGVuIHlvdXIgZHJpdmVyIG5lZWRzCmRlcml2ZWQgc3RhdGUgb2JqZWN0cy4KClN0ZXAg MjogV2UgbmVlZCB0byB1cGRhdGUgdGhlIHN0YXRlIG9mIHRoZSBfcHJpbWFyeV8gcGxhbmUgZXZl cnkgdGltZSB0aGUKX292ZXJsYXlfIHBsYW5lIG1vdmVzIGFyb3VuZCBvciBnZXRzIGVuYWJsZWQv ZGlzYWJsZS4gVGhhdCBtdXN0IGJlIGRvbmUKaW50IHRoZSBhdG9taWNfY2hlY2sgaG9vayBwcm92 aWRlZCBieSBjcnRjIGhlbHBlcnMuIFBzZXVkby1jb2RlIG9mIHRoYXQKZnVuY3Rpb25zIGZvbGxv d3Mgd2l0aCBjb21tZW50cyBpbmxpbmUKCmZod19vdmVybGF5X3BsYW5lX2F0b21pY19jaGVjayhz dHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwgc3RydWN0IGRybV9wbGFuZV9zdGF0ZSAqc3RhdGUpCnsK CS8qIEZpcnN0IHdlIG5lZWQgdG8gZ2V0IGF0IHRoZSBzdGF0ZSBvZiB0aGUgcHJpbWFyeSBwbGFu ZS4KCSAqIEdyYWJiaW5nIGFkZGl0aW9uYWwgc3RhdGUgb2JqZWN0cyBhcyBuZWVkZWQgaXMgb2Zm aWNpYWxseSBob3cKCSAqIC0+YXRvbWljX2NoZWNrIGlzIHN1cHBvc2VkIHRvIHdvcmsuIFRoZSBs b2NraW5nIHdpbGwgbWFnaWNhbGx5CgkgKiB3b3JrIG91dCwgYXMgbG9uZyBhcyB5b3UganVzdCBk dXRpZnVsbHkgcGFzcyB0aGUgdW5jaGFuZ2VkCgkgKiBlcnJubyBzbyB0aGF0IGRlYWRsb2NrIGhh bmRsaW5nIGlzIHN0aWxsIG9rLiAqLwoJCglwcmltYXJfcGxhbmUgPSAvKiBleGVyY2lzZSBmb3Ig dGhlIHJlYWRlciAqLwoJcHJpbWFyeV9wbGFuZV9zdGF0ZSA9IGRybV9hdG9taWNfZ2V0X3BsYW5l X3N0YXRlKHN0YXRlLT5zdGF0ZSwKCQkJCQkJCSBwcmltYXJ5X3BsYW5lKTsKCWlmIChJU19FUlIo cHJpbWFyeV9wbGFuZV9zdGF0ZSkpCgkJcmV0dXJuIFBUUl9FUlIocHJpbWFyeV9wbGFuZV9zdGF0 ZSk7CgoJZmh3X3ByaW1hcnlfcGxhbmVfc3RhdGUgPSB1cGNhc3QocHJpbWFyeV9wbGFuZV9zdGF0 ZSk7CgoJLyogVXBkYXRlIHB1bmNob3V0LCBvbmx5IGVuYWJsZSB3aGVuIG92ZXJsYXkgaXMgb24u ICovCglmaHdfcHJpbWFyeV9wbGFuZV9zdGF0ZS5lbmFiZWxfcHVuY2hvdXQgPSAhIXN0YXRlLT5j cnRjOwoJZmh3X3ByaW1hcnlfcGxhbmVfc3RhdGUucHVuY2hvdXRfeCA9IHN0YXRlLT5jcnRjX3g7 CgkuLi4KCglyZXR1cm4gMDsKfQoKU3RlcCAzOiBJbiB5b3VyIGF0b21pY19wbGFuZV9jb21taXQg Zm9yIHRoZSBfcHJpbWFyeV8gcGxhbmUgd3JpdGUgdGhlCnB1bmNob3V0IHJlY3QgcGx1cyBlbmFi bGUgYml0IGludG8gaHcuIEF0b21pYyBoZWxwZXJzIHdpbGwgdGFrZSBjYXJlIG9mCmV2ZXJ5dGhp bmcgZm9yIHlvdS4gVGhlIGFzc3VtcHRpb24gaXMgdGhhdCBwdXJlIHBsYW5lIHVwZGF0ZXMgYXJl IGNoZWFwLApzbyB0aGVyZSB3b24ndCBiZSBhbnkgb3B0aW1pemF0aW9uIGZvciBuby1vcCB1cGRh dGVzLiBXZSBjb3VsZCBhZGQgdGhpcwpsYXRlciBvbi4KClN1bW1hcnk6IFlvdSBuZWVkIHRocmVl IHBpZWNlcyBmb3IgZmFuY3kgc3RhdGU6Ci0gWW91ciBvd24gc3RhdGUgc3RydWN0dXJlKHMpLgot IENvbXB1dGUgdGhhdCBkZXJpdmVkIHN0YXRlIGF0IGF0b21pY19jaGVjayB0aW1lICh0b3RhbGx5 IG9rIHRvIGdyYWIKICBvdGhlciBzdGF0ZXMgdG8gZG8gdGhpcyBpZiBuZWVkZWQsIHRoaXMgaXMg aG93IGl0J3MgZGVzaWduZWQpLgotIEJhc2ggeW91ciBzcGVjaWFsIHN0YXRlIGludG8gaHcgYXQg Y29tbWl0IHRpbWUuCgpDaGVlcnMsIERhbmllbAotLSAKRGFuaWVsIFZldHRlcgpTb2Z0d2FyZSBF bmdpbmVlciwgSW50ZWwgQ29ycG9yYXRpb24KKzQxICgwKSA3OSAzNjUgNTcgNDggLSBodHRwOi8v YmxvZy5mZndsbC5jaApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5v cmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZl bAo=