From mboxrd@z Thu Jan 1 00:00:00 1970 From: Gustavo Padovan Subject: Re: [RFC 8/8] drm/fence: add out-fences support Date: Fri, 15 Apr 2016 12:15:48 -0700 Message-ID: <20160415191548.GF23954@joana> References: <1460683781-22535-1-git-send-email-gustavo@padovan.org> <1460683781-22535-9-git-send-email-gustavo@padovan.org> <20160415081808.GU2510@phenom.ffwll.local> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-pa0-f46.google.com (mail-pa0-f46.google.com [209.85.220.46]) by gabe.freedesktop.org (Postfix) with ESMTPS id 969D16ECFF for ; Fri, 15 Apr 2016 19:15:50 +0000 (UTC) Received: by mail-pa0-f46.google.com with SMTP id r5so4172394pag.1 for ; Fri, 15 Apr 2016 12:15:50 -0700 (PDT) Content-Disposition: inline In-Reply-To: <20160415081808.GU2510@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: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, Daniel Stone , Arve =?iso-8859-1?B?SGr4bm5lduVn?= , Riley Andrews , Rob Clark , Greg Hackmann , John Harrison , laurent.pinchart@ideasonboard.com, seanpaul@google.com, marcheu@google.com, m.chehab@samsung.com, Maarten Lankhorst , Gustavo Padovan List-Id: dri-devel@lists.freedesktop.org MjAxNi0wNC0xNSBEYW5pZWwgVmV0dGVyIDxkYW5pZWxAZmZ3bGwuY2g+OgoKPiBPbiBUaHUsIEFw ciAxNCwgMjAxNiBhdCAwNjoyOTo0MVBNIC0wNzAwLCBHdXN0YXZvIFBhZG92YW4gd3JvdGU6Cj4g PiBGcm9tOiBHdXN0YXZvIFBhZG92YW4gPGd1c3Rhdm8ucGFkb3ZhbkBjb2xsYWJvcmEuY28udWs+ Cj4gPiAKPiA+IFN1cHBvcnQgRFJNIG91dC1mZW5jZXMgY3JlYXRpbmcgYSBzeW5jX2ZpbGUgd2l0 aCBhIGZlbmNlIGZvciBlYWNoIGNydGMKPiA+IHVwZGF0ZSB3aXRoIHRoZSBEUk1fTU9ERV9BVE9N SUNfT1VUX0ZFTkNFIGZsYWcuCj4gPiAKPiA+IFdlIHRoZW4gc2VuZCBhbiBzdHJ1Y3QgZHJtX291 dF9mZW5jZXMgYXJyYXkgd2l0aCB0aGUgb3V0LWZlbmNlcyBmZHMgYmFjayBpbgo+ID4gdGhlIGRy bV9hdG9taWNfaW9jdGwoKSBhcyBhbiBvdXQgYXJnIGluIHRoZSBvdXRfZmVuY2VzX3B0ciBmaWVs ZC4KPiA+IAo+ID4gc3RydWN0IGRybV9vdXRfZmVuY2VzIHsKPiA+IAlfX3UzMiAgIGNydGNfaWQ7 Cj4gPiAJX191MzIgICBmZDsKPiA+IH07Cj4gPiAKPiA+IFNpZ25lZC1vZmYtYnk6IEd1c3Rhdm8g UGFkb3ZhbiA8Z3VzdGF2by5wYWRvdmFuQGNvbGxhYm9yYS5jby51az4KPiA+IC0tLQo+ID4gIGRy aXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljLmMgICAgICAgIHwgMTA5ICsrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrLQo+ID4gIGRyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX2hlbHBl ci5jIHwgICAxICsKPiA+ICBpbmNsdWRlL2RybS9kcm1fY3J0Yy5oICAgICAgICAgICAgICB8ICAg MyArCj4gPiAgaW5jbHVkZS91YXBpL2RybS9kcm1fbW9kZS5oICAgICAgICAgfCAgIDcgKysrCj4g PiAgNCBmaWxlcyBjaGFuZ2VkLCAxMTkgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQo+ID4g Cj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWMuYyBiL2RyaXZlcnMv Z3B1L2RybS9kcm1fYXRvbWljLmMKPiA+IGluZGV4IDBiOTU1MjYuLmFmNmUwNTEgMTAwNjQ0Cj4g PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pYy5jCj4gPiArKysgYi9kcml2ZXJzL2dw dS9kcm0vZHJtX2F0b21pYy5jCj4gPiBAQCAtMTU2MCw2ICsxNTYwLDEwMyBAQCB2b2lkIGRybV9h dG9taWNfY2xlYW5fb2xkX2ZiKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4gPiAgfQo+ID4gIEVY UE9SVF9TWU1CT0woZHJtX2F0b21pY19jbGVhbl9vbGRfZmIpOwo+ID4gIAo+ID4gK3N0YXRpYyBp bnQgZHJtX2F0b21pY19nZXRfb3V0X2ZlbmNlcyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+ID4g KwkJCQkgICAgIHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSwKPiA+ICsJCQkJICAgICB1 aW50MzJfdCBfX3VzZXIgKm91dF9mZW5jZXNfcHRyLAo+ID4gKwkJCQkgICAgIHVpbnQ2NF90IGNv dW50X291dF9mZW5jZXMsCj4gPiArCQkJCSAgICAgdWludDY0X3QgdXNlcl9kYXRhKQo+ID4gK3sK PiA+ICsJc3RydWN0IGRybV9jcnRjICpjcnRjOwo+ID4gKwlzdHJ1Y3QgZHJtX2NydGNfc3RhdGUg KmNydGNfc3RhdGU7Cj4gPiArCXN0cnVjdCBkcm1fb3V0X2ZlbmNlcyAqb3V0X2ZlbmNlczsKPiA+ ICsJc3RydWN0IHN5bmNfZmlsZSAqKnN5bmNfZmlsZTsKPiA+ICsJaW50IG51bV9mZW5jZXMgPSAw Owo+ID4gKwlpbnQgaSwgcmV0Owo+ID4gKwo+ID4gKwlvdXRfZmVuY2VzID0ga2NhbGxvYyhjb3Vu dF9vdXRfZmVuY2VzLCBzaXplb2YoKm91dF9mZW5jZXMpLAo+ID4gKwkJCSAgICAgR0ZQX0tFUk5F TCk7Cj4gPiArCWlmICghb3V0X2ZlbmNlcykKPiA+ICsJCXJldHVybiAtRU5PTUVNOwo+ID4gKwo+ ID4gKwlzeW5jX2ZpbGUgPSBrY2FsbG9jKGNvdW50X291dF9mZW5jZXMsIHNpemVvZigqc3luY19m aWxlKSwKPiA+ICsJCQkgICAgIEdGUF9LRVJORUwpOwo+ID4gKwlpZiAoIXN5bmNfZmlsZSkgewo+ ID4gKwkJa2ZyZWUob3V0X2ZlbmNlcyk7Cj4gPiArCQlyZXR1cm4gLUVOT01FTTsKPiA+ICsJfQo+ ID4gKwo+ID4gKwlmb3JfZWFjaF9jcnRjX2luX3N0YXRlKHN0YXRlLCBjcnRjLCBjcnRjX3N0YXRl LCBpKSB7Cj4gPiArCQlzdHJ1Y3QgZHJtX3BlbmRpbmdfdmJsYW5rX2V2ZW50ICplOwo+ID4gKwkJ c3RydWN0IGZlbmNlICpmZW5jZTsKPiA+ICsJCWNoYXIgbmFtZVszMl07Cj4gPiArCQlpbnQgZmQ7 Cj4gPiArCj4gPiArCQlmZW5jZSA9IHN5bmNfdGltZWxpbmVfY3JlYXRlX2ZlbmNlKGNydGMtPnRp bWVsaW5lLAo+ID4gKwkJCQkJCSAgIGNydGMtPmZlbmNlX3NlcW5vKTsKPiA+ICsJCWlmICghZmVu Y2UpIHsKPiA+ICsJCQlyZXQgPSAtRU5PTUVNOwo+ID4gKwkJCWdvdG8gb3V0Owo+ID4gKwkJfQo+ ID4gKwo+ID4gKwkJc25wcmludGYobmFtZSwgc2l6ZW9mKG5hbWUpLCAiY3J0Yy0lZF8lbHUiLAo+ ID4gKwkJCSBkcm1fY3J0Y19pbmRleChjcnRjKSwgY3J0Yy0+ZmVuY2Vfc2Vxbm8rKyk7Cj4gPiAr Cj4gPiArCQlzeW5jX2ZpbGVbaV0gPSBzeW5jX2ZpbGVfY3JlYXRlKG5hbWUsIGZlbmNlKTsKPiA+ ICsJCWlmKCFzeW5jX2ZpbGVbaV0pIHsKPiA+ICsJCQlyZXQgPSAtRU5PTUVNOwo+ID4gKwkJCWdv dG8gb3V0Owo+ID4gKwkJfQo+ID4gKwo+ID4gKwkJZmQgPSBnZXRfdW51c2VkX2ZkX2ZsYWdzKE9f Q0xPRVhFQyk7Cj4gPiArCQlpZiAoZmQgPCAwKSB7Cj4gPiArCQkJcmV0ID0gZmQ7Cj4gPiArCQkJ Z290byBvdXQ7Cj4gPiArCQl9Cj4gPiArCj4gPiArCQlzeW5jX2ZpbGVfaW5zdGFsbChzeW5jX2Zp bGVbaV0sIGZkKTsKPiA+ICsKPiA+ICsJCWlmIChjcnRjX3N0YXRlLT5ldmVudCkgewo+ID4gKwkJ CWNydGNfc3RhdGUtPmV2ZW50LT5iYXNlLmZlbmNlID0gZmVuY2U7Cj4gPiArCQl9IGVsc2Ugewo+ ID4gKwkJCWUgPSBjcmVhdGVfdmJsYW5rX2V2ZW50KGRldiwgTlVMTCwgZmVuY2UsIHVzZXJfZGF0 YSk7Cj4gPiArCQkJaWYgKCFlKSB7Cj4gPiArCQkJCXB1dF91bnVzZWRfZmQoZmQpOwo+ID4gKwkJ CQlyZXQgPSAtRU5PTUVNOwo+ID4gKwkJCQlnb3RvIG91dDsKPiA+ICsJCQl9Cj4gPiArCj4gPiAr CQkJY3J0Y19zdGF0ZS0+ZXZlbnQgPSBlOwo+ID4gKwkJfQo+ID4gKwkJaWYgKG51bV9mZW5jZXMg PiBjb3VudF9vdXRfZmVuY2VzKSB7Cj4gPiArCQkJcHV0X3VudXNlZF9mZChmZCk7Cj4gPiArCQkJ cmV0ID0gLUVJTlZBTDsKPiA+ICsJCQlnb3RvIG91dDsKPiA+ICsJCX0KPiA+ICsKPiA+ICsJCWZl bmNlX2dldChmZW5jZSk7Cj4gPiArCj4gPiArCQlvdXRfZmVuY2VzW251bV9mZW5jZXNdLmNydGNf aWQgPSBjcnRjLT5iYXNlLmlkOwo+ID4gKwkJb3V0X2ZlbmNlc1tudW1fZmVuY2VzXS5mZCA9IGZk Owo+ID4gKwkJbnVtX2ZlbmNlcysrOwo+ID4gKwl9Cj4gPiArCj4gPiArCWlmIChjb3B5X3RvX3Vz ZXIob3V0X2ZlbmNlc19wdHIsIG91dF9mZW5jZXMsCj4gPiArCQkJIG51bV9mZW5jZXMgKiBzaXpl b2YoKm91dF9mZW5jZXMpKSkgewo+ID4gKwkJcmV0ID0gLUVGQVVMVDsKPiA+ICsJCWdvdG8gb3V0 Owo+ID4gKwl9Cj4gPiArCj4gPiArCXJldHVybiAwOwo+ID4gKwo+ID4gK291dDoKPiA+ICsJZm9y IChpID0gMCA7IGkgPCBjb3VudF9vdXRfZmVuY2VzIDsgaSsrKSB7Cj4gPiArCQlpZiAoc3luY19m aWxlW2ldKQo+ID4gKwkJCXN5bmNfZmlsZV9wdXQoc3luY19maWxlW2ldKTsKPiA+ICsJfQo+ID4g Kwo+ID4gKwlyZXR1cm4gcmV0Owo+ID4gK30KPiA+ICsKPiA+ICBpbnQgZHJtX21vZGVfYXRvbWlj X2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4gPiAgCQkJICB2b2lkICpkYXRhLCBzdHJ1 Y3QgZHJtX2ZpbGUgKmZpbGVfcHJpdikKPiA+ICB7Cj4gPiBAQCAtMTU2OCw2ICsxNjY1LDcgQEAg aW50IGRybV9tb2RlX2F0b21pY19pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+ID4gIAl1 aW50MzJfdCBfX3VzZXIgKmNvdW50X3Byb3BzX3B0ciA9ICh1aW50MzJfdCBfX3VzZXIgKikodW5z aWduZWQgbG9uZykoYXJnLT5jb3VudF9wcm9wc19wdHIpOwo+ID4gIAl1aW50MzJfdCBfX3VzZXIg KnByb3BzX3B0ciA9ICh1aW50MzJfdCBfX3VzZXIgKikodW5zaWduZWQgbG9uZykoYXJnLT5wcm9w c19wdHIpOwo+ID4gIAl1aW50NjRfdCBfX3VzZXIgKnByb3BfdmFsdWVzX3B0ciA9ICh1aW50NjRf dCBfX3VzZXIgKikodW5zaWduZWQgbG9uZykoYXJnLT5wcm9wX3ZhbHVlc19wdHIpOwo+ID4gKwl1 aW50MzJfdCBfX3VzZXIgKm91dF9mZW5jZXNfcHRyID0gKHVpbnQzMl90IF9fdXNlciAqKSh1bnNp Z25lZCBsb25nKShhcmctPm91dF9mZW5jZXNfcHRyKTsKPiA+ICAJdW5zaWduZWQgaW50IGNvcGll ZF9vYmpzLCBjb3BpZWRfcHJvcHM7Cj4gPiAgCXN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0 ZTsKPiA+ICAJc3RydWN0IGRybV9tb2Rlc2V0X2FjcXVpcmVfY3R4IGN0eDsKPiA+IEBAIC0xNjAx LDcgKzE2OTksOCBAQCBpbnQgZHJtX21vZGVfYXRvbWljX2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNl ICpkZXYsCj4gPiAgCj4gPiAgCS8qIGNhbid0IHRlc3QgYW5kIGV4cGVjdCBhbiBldmVudCBhdCB0 aGUgc2FtZSB0aW1lLiAqLwo+ID4gIAlpZiAoKGFyZy0+ZmxhZ3MgJiBEUk1fTU9ERV9BVE9NSUNf VEVTVF9PTkxZKSAmJgo+ID4gLQkJCShhcmctPmZsYWdzICYgRFJNX01PREVfUEFHRV9GTElQX0VW RU5UKSkKPiA+ICsJCQkoYXJnLT5mbGFncyAmIChEUk1fTU9ERV9QQUdFX0ZMSVBfRVZFTlQKPiA+ ICsJCQkgfCBEUk1fTU9ERV9BVE9NSUNfT1VUX0ZFTkNFKSkpCj4gPiAgCQlyZXR1cm4gLUVJTlZB TDsKPiA+ICAKPiA+ICAJZHJtX21vZGVzZXRfYWNxdWlyZV9pbml0KCZjdHgsIDApOwo+ID4gQEAg LTE2OTMsNiArMTc5MiwxNCBAQCByZXRyeToKPiA+ICAJCX0KPiA+ICAJfQo+ID4gIAo+ID4gKwlp ZiAoYXJnLT5mbGFncyAmIERSTV9NT0RFX0FUT01JQ19PVVRfRkVOQ0UpIHsKPiAKPiBPVVRfRkVO Q0UgYW5kIFRFU1RfT05MWSBwcm9iYWJseSBkb24ndCBtYWtlIHNlbnNlLCBhbmQgbmVlZCB0byBi ZQo+IHJlamVjdGVkLiBOZWVkcyBhIHRlc3RjYXNlLCB0b28uCgpJJ3ZlIGFkZGVkIHRoZSBjaGVj ayBmb3IgdGhpcyBhYm92ZS4gQnV0IGEgdGVzdCBjYXNlIGlzIHN0aWxsIG1pc3NpbmcuCgo+IAo+ ID4gKwkJcmV0ID0gZHJtX2F0b21pY19nZXRfb3V0X2ZlbmNlcyhkZXYsIHN0YXRlLCBvdXRfZmVu Y2VzX3B0ciwKPiA+ICsJCQkJCQlhcmctPmNvdW50X291dF9mZW5jZXMsCj4gPiArCQkJCQkJYXJn LT51c2VyX2RhdGEpOwo+ID4gKwkJaWYgKHJldCA8IDApCj4gPiArCQkJZ290byBvdXQ7Cj4gPiAr CX0KPiA+ICsKPiA+ICAJaWYgKGFyZy0+ZmxhZ3MgJiBEUk1fTU9ERV9BVE9NSUNfVEVTVF9PTkxZ KSB7Cj4gCj4gSWYgYW55dGhpbmcgZmFpbHMgYmVsb3cgdGhpcyBwb2ludCB3ZSBuZWVkIHRvIGNs ZWFuIHVwIHRoZSBzeW5jX2ZpbGUvZmQKPiBtZXNzLiBNaWdodCBiZSBlYXNpZXIgdG8gZmlyc3Qg Y3JlYXRlIHN5bmNfZmlsZSBvYmplY3RzIG9ubHksIGFuZCBvbmx5Cj4gaW5zdGFsbCB0aGUgZmQg b25jZSBhdG9taWMgaGFzIHN1Y2NlZWRlZC4gWW91IHByb2JhYmx5IHdhbnQgdG8gcmVzZXJ2ZSB0 aGUKPiBmZCBzbG90cyBiZWZvcmVoYW5kIHRob3VnaC4KPiAKPiBUaGF0IG1lYW5zIGEgYnVuY2gg bW9yZSBwZXItY3J0YyBzdGF0ZSBpbiBkcm1fYXRvbWljX3N0YXRlLiBXZSBzaG91bGQKPiBwcm9i YWJseSB0YWtlIGFsbCB0aGUgcGVyLWNydGMgcG9pbnRlcnMgYW5kIHRocm93IHRoZW0gaW50byBh IHNtYWxsCj4gc3RydWN0LCB0byBhdm9pZCBhbGxvY2F0aW5nIGluZGl2aWR1YWwgYXJyYXlzIGZv ciBldmVyeXRoaW5nLiBTbwo+IAo+IHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlX3Blcl9jcnRjIHsK PiAJc3RydWN0IGRybV9jcnRjICpjcnRjOwo+IAlzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKnN0YXRl Owo+IAlzdHJ1Y3Qgc3luY19maWxlICpzeW5jX2ZpbGU7Cj4gCWludCBmZDsKPiB9OwoKVGhhdCBp cyBnb29kIGlkZWEuIEkndmUgbGVmdCB0aGUgY2xlYW4gdXAgb3V0IGZvciB0aGlzIFJGQyBiZWNh dXNlIEkKZGlkbid0IGhhZCBhbnkgZ29vZCBhcHByb2FjaCBvbiBob3cgdG8gZG8gaXQuCgpUaGFu a3MgZm9yIHRoaXMgc3VnZ2VzdGlvbiBhbmQgYWxsIHRoZSBvdGhlciBjb21tZW50cyBpbiB0aGUg cGF0Y2hlcy4KVGhleSB3ZXJlIHJlYWxseSBoZWxwZnVsIHRvIGltcHJvdmUgdGhpcyB3b3JrLgoK CUd1c3Rhdm8KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K ZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0 dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==