From mboxrd@z Thu Jan 1 00:00:00 1970 From: Gustavo Padovan Subject: [PATCH v12 1/3] drm/fence: add in-fences support Date: Tue, 15 Nov 2016 22:06:39 +0900 Message-ID: <1479215201-2672-2-git-send-email-gustavo@padovan.org> References: <1479215201-2672-1-git-send-email-gustavo@padovan.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-pf0-f196.google.com (mail-pf0-f196.google.com [209.85.192.196]) by gabe.freedesktop.org (Postfix) with ESMTPS id E5B456E194 for ; Tue, 15 Nov 2016 13:06:57 +0000 (UTC) Received: by mail-pf0-f196.google.com with SMTP id i88so7998473pfk.2 for ; Tue, 15 Nov 2016 05:06:57 -0800 (PST) In-Reply-To: <1479215201-2672-1-git-send-email-gustavo@padovan.org> 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 Cc: marcheu@google.com, Daniel Stone , seanpaul@google.com, Daniel Vetter , linux-kernel@vger.kernel.org, laurent.pinchart@ideasonboard.com, Gustavo Padovan , John Harrison , m.chehab@samsung.com List-Id: dri-devel@lists.freedesktop.org RnJvbTogR3VzdGF2byBQYWRvdmFuIDxndXN0YXZvLnBhZG92YW5AY29sbGFib3JhLmNvLnVrPgoK VGhlcmUgaXMgbm93IGEgbmV3IHByb3BlcnR5IGNhbGxlZCBJTl9GRU5DRV9GRCBhdHRhY2hlZCB0 byBldmVyeSBwbGFuZQpzdGF0ZSB0aGF0IHJlY2VpdmVzIHN5bmNfZmlsZSBmZHMgZnJvbSB1c2Vy c3BhY2UgdmlhIHRoZSBhdG9taWMgY29tbWl0CklPQ1RMLgoKVGhlIGZkIGlzIHRoZW4gdHJhbnNs YXRlZCB0byBhIGZlbmNlICh0aGF0IG1heSBiZSBhIGZlbmNlX2FycmF5CnN1YmNsYXNzIG9yIGp1 c3QgYSBub3JtYWwgZmVuY2UpIGFuZCB0aGVuIHVzZWQgYnkgRFJNIHRvIGZlbmNlX3dhaXQoKSBm b3IKYWxsIGZlbmNlcyBpbiB0aGUgc3luY19maWxlIHRvIHNpZ25hbC4gU28gaXQgb25seSBjb21t aXRzIHdoZW4gYWxsCmZyYW1lYnVmZmVycyBhcmUgcmVhZHkgdG8gc2Nhbm91dC4KCnYyOiBDb21t ZW50cyBieSBEYW5pZWwgVmV0dGVyOgoJLSByZW1vdmUgc2V0IHN0YXRlLT5mZW5jZSA9IE5VTEwg aW4gZGVzdHJveSBwaGFzZQoJLSBhY2NlcHQgZmVuY2UgLTEgYXMgdmFsaWQgYW5kIGp1c3QgcmV0 dXJuIDAKCS0gZG8gbm90IGNhbGwgZmVuY2VfZ2V0KCkgLSBzeW5jX2ZpbGVfZmVuY2VzX2dldCgp IGFscmVhZHkgY2FsbHMgaXQKCS0gZmVuY2VfcHV0KCkgaWYgc3RhdGUtPmZlbmNlIGlzIGFscmVh ZHkgc2V0LCBpbiBjYXNlIHVzZXJzcGFjZQoJc2V0IHRoZSBwcm9wZXJ0eSBtb3JlIHRoYW4gb25j ZS4KCnYzOiBXQVJOX09OIGlmIGZlbmNlIGlzIHNldCBidXQgc3RhdGUgaGFzIG5vIEZCCgp2NDog Q29tbWVudCBmcm9tIE1hYXJ0ZW4gTGFua2hvcnN0CgktIGFsbG93IHNldCBmZW5jZSB3aXRoIG5v IHJlbGF0ZWQgZmIKCnY1OiByZW5hbWUgRkVOQ0VfRkQgdG8gSU5fRkVOQ0VfRkQKCnY2OiBDb21t ZW50cyBieSBEYW5pZWwgVmV0dGVyOgoJLSByZW5hbWUgcGxhbmVfc3RhdGUtPmluX2ZlbmNlIGJh Y2sgdG8gImZlbmNlIgoJLSByZS1pbnRyb2R1Y2UgV0FSTl9PTiBpZiBmZW5jZSBzZXQgYnV0IG5v IGZiCgogICAgIC0gcmViYXNlIGFmdGVyIGZlbmNlIC0+IGRtYV9mZW5jZSByZW5hbWUKCnY3OiBD b21tZW50cyBieSBCcmlhbiBTdGFya2V5CgktIHNldCBzdGF0ZS0+ZmVuY2UgdG8gTlVMTCB3aGVu IGR1cGxpY2F0aW5nIHRoZSBzdGF0ZQoJLSBmYWlsIGlmIElOX0ZFTkNFX0ZEIHdhcyBhbHJlYWR5 IHNldAoKdjg6IHJlYmFzZSBhZ2FpbnN0IGxhdGVzdCBkcm0tbWlzYwoKU2lnbmVkLW9mZi1ieTog R3VzdGF2byBQYWRvdmFuIDxndXN0YXZvLnBhZG92YW5AY29sbGFib3JhLmNvLnVrPgpSZXZpZXdl ZC1ieTogQnJpYW4gU3RhcmtleSA8YnJpYW4uc3RhcmtleUBhcm0uY29tPgpSZXZpZXdlZC1ieTog U2VhbiBQYXVsIDxzZWFucGF1bEBjaHJvbWl1bS5vcmc+ClRlc3RlZC1ieTogUm9iZXJ0IEZvc3Mg PHJvYmVydC5mb3NzQGNvbGxhYm9yYS5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL0tjb25maWcg ICAgICAgICAgICAgfCAgMSArCiBkcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pYy5jICAgICAgICB8 IDE0ICsrKysrKysrKysrKysrCiBkcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY19oZWxwZXIuYyB8 ICA1ICsrKysrCiBkcml2ZXJzL2dwdS9kcm0vZHJtX2NydGMuYyAgICAgICAgICB8ICA2ICsrKysr KwogZHJpdmVycy9ncHUvZHJtL2RybV9wbGFuZS5jICAgICAgICAgfCAgMSArCiBpbmNsdWRlL2Ry bS9kcm1fY3J0Yy5oICAgICAgICAgICAgICB8ICA1ICsrKysrCiA2IGZpbGVzIGNoYW5nZWQsIDMy IGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vS2NvbmZpZyBiL2Ry aXZlcnMvZ3B1L2RybS9LY29uZmlnCmluZGV4IDg2M2NkY2EuLjk1ZmMwNDEgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvZ3B1L2RybS9LY29uZmlnCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9LY29uZmlnCkBA IC0xMiw2ICsxMiw3IEBAIG1lbnVjb25maWcgRFJNCiAJc2VsZWN0IEkyQwogCXNlbGVjdCBJMkNf QUxHT0JJVAogCXNlbGVjdCBETUFfU0hBUkVEX0JVRkZFUgorCXNlbGVjdCBTWU5DX0ZJTEUKIAlo ZWxwCiAJICBLZXJuZWwtbGV2ZWwgc3VwcG9ydCBmb3IgdGhlIERpcmVjdCBSZW5kZXJpbmcgSW5m cmFzdHJ1Y3R1cmUgKERSSSkKIAkgIGludHJvZHVjZWQgaW4gWEZyZWU4NiA0LjAuIElmIHlvdSBz YXkgWSBoZXJlLCB5b3UgbmVlZCB0byBzZWxlY3QKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9kcm1fYXRvbWljLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pYy5jCmluZGV4IDU3ZTBh NmU5Li4zYWQ3ODBhIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pYy5jCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljLmMKQEAgLTMxLDYgKzMxLDcgQEAKICNpbmNs dWRlIDxkcm0vZHJtX21vZGUuaD4KICNpbmNsdWRlIDxkcm0vZHJtX3BsYW5lX2hlbHBlci5oPgog I2luY2x1ZGUgPGRybS9kcm1fcHJpbnQuaD4KKyNpbmNsdWRlIDxsaW51eC9zeW5jX2ZpbGUuaD4K IAogI2luY2x1ZGUgImRybV9jcnRjX2ludGVybmFsLmgiCiAKQEAgLTcxMiw2ICs3MTMsMTcgQEAg aW50IGRybV9hdG9taWNfcGxhbmVfc2V0X3Byb3BlcnR5KHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5l LAogCQlkcm1fYXRvbWljX3NldF9mYl9mb3JfcGxhbmUoc3RhdGUsIGZiKTsKIAkJaWYgKGZiKQog CQkJZHJtX2ZyYW1lYnVmZmVyX3VucmVmZXJlbmNlKGZiKTsKKwl9IGVsc2UgaWYgKHByb3BlcnR5 ID09IGNvbmZpZy0+cHJvcF9pbl9mZW5jZV9mZCkgeworCQlpZiAoc3RhdGUtPmZlbmNlKQorCQkJ cmV0dXJuIC1FSU5WQUw7CisKKwkJaWYgKFU2NDJJNjQodmFsKSA9PSAtMSkKKwkJCXJldHVybiAw OworCisJCXN0YXRlLT5mZW5jZSA9IHN5bmNfZmlsZV9nZXRfZmVuY2UodmFsKTsKKwkJaWYgKCFz dGF0ZS0+ZmVuY2UpCisJCQlyZXR1cm4gLUVJTlZBTDsKKwogCX0gZWxzZSBpZiAocHJvcGVydHkg PT0gY29uZmlnLT5wcm9wX2NydGNfaWQpIHsKIAkJc3RydWN0IGRybV9jcnRjICpjcnRjID0gZHJt X2NydGNfZmluZChkZXYsIHZhbCk7CiAJCXJldHVybiBkcm1fYXRvbWljX3NldF9jcnRjX2Zvcl9w bGFuZShzdGF0ZSwgY3J0Yyk7CkBAIC03NzMsNiArNzg1LDggQEAgZHJtX2F0b21pY19wbGFuZV9n ZXRfcHJvcGVydHkoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCiAKIAlpZiAocHJvcGVydHkgPT0g Y29uZmlnLT5wcm9wX2ZiX2lkKSB7CiAJCSp2YWwgPSAoc3RhdGUtPmZiKSA/IHN0YXRlLT5mYi0+ YmFzZS5pZCA6IDA7CisJfSBlbHNlIGlmIChwcm9wZXJ0eSA9PSBjb25maWctPnByb3BfaW5fZmVu Y2VfZmQpIHsKKwkJKnZhbCA9IC0xOwogCX0gZWxzZSBpZiAocHJvcGVydHkgPT0gY29uZmlnLT5w cm9wX2NydGNfaWQpIHsKIAkJKnZhbCA9IChzdGF0ZS0+Y3J0YykgPyBzdGF0ZS0+Y3J0Yy0+YmFz ZS5pZCA6IDA7CiAJfSBlbHNlIGlmIChwcm9wZXJ0eSA9PSBjb25maWctPnByb3BfY3J0Y194KSB7 CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY19oZWxwZXIuYyBiL2RyaXZl cnMvZ3B1L2RybS9kcm1fYXRvbWljX2hlbHBlci5jCmluZGV4IDUwMDc3OTYuLjBiMTY1ODcgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX2hlbHBlci5jCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9kcm1fYXRvbWljX2hlbHBlci5jCkBAIC0zMDcyLDYgKzMwNzIsOCBAQCB2b2lk IF9fZHJtX2F0b21pY19oZWxwZXJfcGxhbmVfZHVwbGljYXRlX3N0YXRlKHN0cnVjdCBkcm1fcGxh bmUgKnBsYW5lLAogCiAJaWYgKHN0YXRlLT5mYikKIAkJZHJtX2ZyYW1lYnVmZmVyX3JlZmVyZW5j ZShzdGF0ZS0+ZmIpOworCisJc3RhdGUtPmZlbmNlID0gTlVMTDsKIH0KIEVYUE9SVF9TWU1CT0wo X19kcm1fYXRvbWljX2hlbHBlcl9wbGFuZV9kdXBsaWNhdGVfc3RhdGUpOwogCkBAIC0zMTEwLDYg KzMxMTIsOSBAQCB2b2lkIF9fZHJtX2F0b21pY19oZWxwZXJfcGxhbmVfZGVzdHJveV9zdGF0ZShz dHJ1Y3QgZHJtX3BsYW5lX3N0YXRlICpzdGF0ZSkKIHsKIAlpZiAoc3RhdGUtPmZiKQogCQlkcm1f ZnJhbWVidWZmZXJfdW5yZWZlcmVuY2Uoc3RhdGUtPmZiKTsKKworCWlmIChzdGF0ZS0+ZmVuY2Up CisJCWRtYV9mZW5jZV9wdXQoc3RhdGUtPmZlbmNlKTsKIH0KIEVYUE9SVF9TWU1CT0woX19kcm1f YXRvbWljX2hlbHBlcl9wbGFuZV9kZXN0cm95X3N0YXRlKTsKIApkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2RybV9jcnRjLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2NydGMuYwppbmRleCBi MDgyNzYzLi5jMTllY2MyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2NydGMuYwor KysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2NydGMuYwpAQCAtMzk1LDYgKzM5NSwxMiBAQCBzdGF0 aWMgaW50IGRybV9tb2RlX2NyZWF0ZV9zdGFuZGFyZF9wcm9wZXJ0aWVzKHN0cnVjdCBkcm1fZGV2 aWNlICpkZXYpCiAJCXJldHVybiAtRU5PTUVNOwogCWRldi0+bW9kZV9jb25maWcucHJvcF9mYl9p ZCA9IHByb3A7CiAKKwlwcm9wID0gZHJtX3Byb3BlcnR5X2NyZWF0ZV9zaWduZWRfcmFuZ2UoZGV2 LCBEUk1fTU9ERV9QUk9QX0FUT01JQywKKwkJCSJJTl9GRU5DRV9GRCIsIC0xLCBJTlRfTUFYKTsK KwlpZiAoIXByb3ApCisJCXJldHVybiAtRU5PTUVNOworCWRldi0+bW9kZV9jb25maWcucHJvcF9p bl9mZW5jZV9mZCA9IHByb3A7CisKIAlwcm9wID0gZHJtX3Byb3BlcnR5X2NyZWF0ZV9vYmplY3Qo ZGV2LCBEUk1fTU9ERV9QUk9QX0FUT01JQywKIAkJCSJDUlRDX0lEIiwgRFJNX01PREVfT0JKRUNU X0NSVEMpOwogCWlmICghcHJvcCkKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fcGxh bmUuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fcGxhbmUuYwppbmRleCAyYmEwYzIyLi40MTlhYzMx IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX3BsYW5lLmMKKysrIGIvZHJpdmVycy9n cHUvZHJtL2RybV9wbGFuZS5jCkBAIC0xMzcsNiArMTM3LDcgQEAgaW50IGRybV91bml2ZXJzYWxf cGxhbmVfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBzdHJ1Y3QgZHJtX3BsYW5lICpwbGFu ZSwKIAogCWlmIChkcm1fY29yZV9jaGVja19mZWF0dXJlKGRldiwgRFJJVkVSX0FUT01JQykpIHsK IAkJZHJtX29iamVjdF9hdHRhY2hfcHJvcGVydHkoJnBsYW5lLT5iYXNlLCBjb25maWctPnByb3Bf ZmJfaWQsIDApOworCQlkcm1fb2JqZWN0X2F0dGFjaF9wcm9wZXJ0eSgmcGxhbmUtPmJhc2UsIGNv bmZpZy0+cHJvcF9pbl9mZW5jZV9mZCwgLTEpOwogCQlkcm1fb2JqZWN0X2F0dGFjaF9wcm9wZXJ0 eSgmcGxhbmUtPmJhc2UsIGNvbmZpZy0+cHJvcF9jcnRjX2lkLCAwKTsKIAkJZHJtX29iamVjdF9h dHRhY2hfcHJvcGVydHkoJnBsYW5lLT5iYXNlLCBjb25maWctPnByb3BfY3J0Y194LCAwKTsKIAkJ ZHJtX29iamVjdF9hdHRhY2hfcHJvcGVydHkoJnBsYW5lLT5iYXNlLCBjb25maWctPnByb3BfY3J0 Y195LCAwKTsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2RybV9jcnRjLmggYi9pbmNsdWRlL2Ry bS9kcm1fY3J0Yy5oCmluZGV4IDhjY2EyYTguLjExNzgwYTkgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUv ZHJtL2RybV9jcnRjLmgKKysrIGIvaW5jbHVkZS9kcm0vZHJtX2NydGMuaApAQCAtMTIxNCw2ICsx MjE0LDExIEBAIHN0cnVjdCBkcm1fbW9kZV9jb25maWcgewogCSAqLwogCXN0cnVjdCBkcm1fcHJv cGVydHkgKnByb3BfZmJfaWQ7CiAJLyoqCisJICogQHByb3BfaW5fZmVuY2VfZmQ6IFN5bmMgRmls ZSBmZCByZXByZXNlbnRpbmcgdGhlIGluY29taW5nIGZlbmNlcworCSAqIGZvciBhIFBsYW5lLgor CSAqLworCXN0cnVjdCBkcm1fcHJvcGVydHkgKnByb3BfaW5fZmVuY2VfZmQ7CisJLyoqCiAJICog QHByb3BfY3J0Y19pZDogRGVmYXVsdCBhdG9taWMgcGxhbmUgcHJvcGVydHkgdG8gc3BlY2lmeSB0 aGUKIAkgKiAmZHJtX2NydGMuCiAJICovCi0tIAoyLjUuNQoKX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2 ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21h aWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==