From mboxrd@z Thu Jan 1 00:00:00 1970 From: Gustavo Padovan Subject: [PATCH v11 1/3] drm/fence: add in-fences support Date: Tue, 15 Nov 2016 10:57:34 +0900 Message-ID: <1479175056-28803-2-git-send-email-gustavo@padovan.org> References: <1479175056-28803-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-pg0-f68.google.com (mail-pg0-f68.google.com [74.125.83.68]) by gabe.freedesktop.org (Postfix) with ESMTPS id 51DE46E541 for ; Tue, 15 Nov 2016 01:57:52 +0000 (UTC) Received: by mail-pg0-f68.google.com with SMTP id x23so10360753pgx.3 for ; Mon, 14 Nov 2016 17:57:52 -0800 (PST) In-Reply-To: <1479175056-28803-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 IHNldAoKU2lnbmVkLW9mZi1ieTogR3VzdGF2byBQYWRvdmFuIDxndXN0YXZvLnBhZG92YW5AY29s bGFib3JhLmNvLnVrPgpSZXZpZXdlZC1ieTogQnJpYW4gU3RhcmtleSA8YnJpYW4uc3RhcmtleUBh cm0uY29tPgpSZXZpZXdlZC1ieTogU2VhbiBQYXVsIDxzZWFucGF1bEBjaHJvbWl1bS5vcmc+ClRl c3RlZC1ieTogUm9iZXJ0IEZvc3MgPHJvYmVydC5mb3NzQGNvbGxhYm9yYS5jb20+Ci0tLQogZHJp dmVycy9ncHUvZHJtL0tjb25maWcgICAgICAgICAgICAgfCAgMSArCiBkcml2ZXJzL2dwdS9kcm0v ZHJtX2F0b21pYy5jICAgICAgICB8IDE0ICsrKysrKysrKysrKysrCiBkcml2ZXJzL2dwdS9kcm0v ZHJtX2F0b21pY19oZWxwZXIuYyB8ICA1ICsrKysrCiBkcml2ZXJzL2dwdS9kcm0vZHJtX2NydGMu YyAgICAgICAgICB8ICA2ICsrKysrKwogZHJpdmVycy9ncHUvZHJtL2RybV9wbGFuZS5jICAgICAg ICAgfCAgMSArCiBpbmNsdWRlL2RybS9kcm1fY3J0Yy5oICAgICAgICAgICAgICB8ICA1ICsrKysr CiA2IGZpbGVzIGNoYW5nZWQsIDMyIGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vS2NvbmZpZyBiL2RyaXZlcnMvZ3B1L2RybS9LY29uZmlnCmluZGV4IDg2M2NkY2Eu Ljk1ZmMwNDEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9LY29uZmlnCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9LY29uZmlnCkBAIC0xMiw2ICsxMiw3IEBAIG1lbnVjb25maWcgRFJNCiAJc2Vs ZWN0IEkyQwogCXNlbGVjdCBJMkNfQUxHT0JJVAogCXNlbGVjdCBETUFfU0hBUkVEX0JVRkZFUgor CXNlbGVjdCBTWU5DX0ZJTEUKIAloZWxwCiAJICBLZXJuZWwtbGV2ZWwgc3VwcG9ydCBmb3IgdGhl IERpcmVjdCBSZW5kZXJpbmcgSW5mcmFzdHJ1Y3R1cmUgKERSSSkKIAkgIGludHJvZHVjZWQgaW4g WEZyZWU4NiA0LjAuIElmIHlvdSBzYXkgWSBoZXJlLCB5b3UgbmVlZCB0byBzZWxlY3QKZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJt X2F0b21pYy5jCmluZGV4IDU3ZTBhNmU5Li4zYWQ3ODBhIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dw dS9kcm0vZHJtX2F0b21pYy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljLmMKQEAg LTMxLDYgKzMxLDcgQEAKICNpbmNsdWRlIDxkcm0vZHJtX21vZGUuaD4KICNpbmNsdWRlIDxkcm0v ZHJtX3BsYW5lX2hlbHBlci5oPgogI2luY2x1ZGUgPGRybS9kcm1fcHJpbnQuaD4KKyNpbmNsdWRl IDxsaW51eC9zeW5jX2ZpbGUuaD4KIAogI2luY2x1ZGUgImRybV9jcnRjX2ludGVybmFsLmgiCiAK QEAgLTcxMiw2ICs3MTMsMTcgQEAgaW50IGRybV9hdG9taWNfcGxhbmVfc2V0X3Byb3BlcnR5KHN0 cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAogCQlkcm1fYXRvbWljX3NldF9mYl9mb3JfcGxhbmUoc3Rh dGUsIGZiKTsKIAkJaWYgKGZiKQogCQkJZHJtX2ZyYW1lYnVmZmVyX3VucmVmZXJlbmNlKGZiKTsK Kwl9IGVsc2UgaWYgKHByb3BlcnR5ID09IGNvbmZpZy0+cHJvcF9pbl9mZW5jZV9mZCkgeworCQlp ZiAoc3RhdGUtPmZlbmNlKQorCQkJcmV0dXJuIC1FSU5WQUw7CisKKwkJaWYgKFU2NDJJNjQodmFs KSA9PSAtMSkKKwkJCXJldHVybiAwOworCisJCXN0YXRlLT5mZW5jZSA9IHN5bmNfZmlsZV9nZXRf ZmVuY2UodmFsKTsKKwkJaWYgKCFzdGF0ZS0+ZmVuY2UpCisJCQlyZXR1cm4gLUVJTlZBTDsKKwog CX0gZWxzZSBpZiAocHJvcGVydHkgPT0gY29uZmlnLT5wcm9wX2NydGNfaWQpIHsKIAkJc3RydWN0 IGRybV9jcnRjICpjcnRjID0gZHJtX2NydGNfZmluZChkZXYsIHZhbCk7CiAJCXJldHVybiBkcm1f YXRvbWljX3NldF9jcnRjX2Zvcl9wbGFuZShzdGF0ZSwgY3J0Yyk7CkBAIC03NzMsNiArNzg1LDgg QEAgZHJtX2F0b21pY19wbGFuZV9nZXRfcHJvcGVydHkoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUs CiAKIAlpZiAocHJvcGVydHkgPT0gY29uZmlnLT5wcm9wX2ZiX2lkKSB7CiAJCSp2YWwgPSAoc3Rh dGUtPmZiKSA/IHN0YXRlLT5mYi0+YmFzZS5pZCA6IDA7CisJfSBlbHNlIGlmIChwcm9wZXJ0eSA9 PSBjb25maWctPnByb3BfaW5fZmVuY2VfZmQpIHsKKwkJKnZhbCA9IC0xOwogCX0gZWxzZSBpZiAo cHJvcGVydHkgPT0gY29uZmlnLT5wcm9wX2NydGNfaWQpIHsKIAkJKnZhbCA9IChzdGF0ZS0+Y3J0 YykgPyBzdGF0ZS0+Y3J0Yy0+YmFzZS5pZCA6IDA7CiAJfSBlbHNlIGlmIChwcm9wZXJ0eSA9PSBj b25maWctPnByb3BfY3J0Y194KSB7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0 b21pY19oZWxwZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX2hlbHBlci5jCmluZGV4 IDUwMDc3OTYuLjBiMTY1ODcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWlj X2hlbHBlci5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX2hlbHBlci5jCkBAIC0z MDcyLDYgKzMwNzIsOCBAQCB2b2lkIF9fZHJtX2F0b21pY19oZWxwZXJfcGxhbmVfZHVwbGljYXRl X3N0YXRlKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAogCiAJaWYgKHN0YXRlLT5mYikKIAkJZHJt X2ZyYW1lYnVmZmVyX3JlZmVyZW5jZShzdGF0ZS0+ZmIpOworCisJc3RhdGUtPmZlbmNlID0gTlVM TDsKIH0KIEVYUE9SVF9TWU1CT0woX19kcm1fYXRvbWljX2hlbHBlcl9wbGFuZV9kdXBsaWNhdGVf c3RhdGUpOwogCkBAIC0zMTEwLDYgKzMxMTIsOSBAQCB2b2lkIF9fZHJtX2F0b21pY19oZWxwZXJf cGxhbmVfZGVzdHJveV9zdGF0ZShzdHJ1Y3QgZHJtX3BsYW5lX3N0YXRlICpzdGF0ZSkKIHsKIAlp ZiAoc3RhdGUtPmZiKQogCQlkcm1fZnJhbWVidWZmZXJfdW5yZWZlcmVuY2Uoc3RhdGUtPmZiKTsK KworCWlmIChzdGF0ZS0+ZmVuY2UpCisJCWRtYV9mZW5jZV9wdXQoc3RhdGUtPmZlbmNlKTsKIH0K IEVYUE9SVF9TWU1CT0woX19kcm1fYXRvbWljX2hlbHBlcl9wbGFuZV9kZXN0cm95X3N0YXRlKTsK IApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9jcnRjLmMgYi9kcml2ZXJzL2dwdS9k cm0vZHJtX2NydGMuYwppbmRleCA1NzQ1NDY0Li5mNmQxYjM4IDEwMDY0NAotLS0gYS9kcml2ZXJz L2dwdS9kcm0vZHJtX2NydGMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2NydGMuYwpAQCAt Mzk3LDYgKzM5NywxMiBAQCBzdGF0aWMgaW50IGRybV9tb2RlX2NyZWF0ZV9zdGFuZGFyZF9wcm9w ZXJ0aWVzKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCiAJCXJldHVybiAtRU5PTUVNOwogCWRldi0+ bW9kZV9jb25maWcucHJvcF9mYl9pZCA9IHByb3A7CiAKKwlwcm9wID0gZHJtX3Byb3BlcnR5X2Ny ZWF0ZV9zaWduZWRfcmFuZ2UoZGV2LCBEUk1fTU9ERV9QUk9QX0FUT01JQywKKwkJCSJJTl9GRU5D RV9GRCIsIC0xLCBJTlRfTUFYKTsKKwlpZiAoIXByb3ApCisJCXJldHVybiAtRU5PTUVNOworCWRl di0+bW9kZV9jb25maWcucHJvcF9pbl9mZW5jZV9mZCA9IHByb3A7CisKIAlwcm9wID0gZHJtX3By b3BlcnR5X2NyZWF0ZV9vYmplY3QoZGV2LCBEUk1fTU9ERV9QUk9QX0FUT01JQywKIAkJCSJDUlRD X0lEIiwgRFJNX01PREVfT0JKRUNUX0NSVEMpOwogCWlmICghcHJvcCkKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9kcm1fcGxhbmUuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fcGxhbmUuYwpp bmRleCAyYmEwYzIyLi40MTlhYzMxIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX3Bs YW5lLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9wbGFuZS5jCkBAIC0xMzcsNiArMTM3LDcg QEAgaW50IGRybV91bml2ZXJzYWxfcGxhbmVfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBz dHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKIAogCWlmIChkcm1fY29yZV9jaGVja19mZWF0dXJlKGRl diwgRFJJVkVSX0FUT01JQykpIHsKIAkJZHJtX29iamVjdF9hdHRhY2hfcHJvcGVydHkoJnBsYW5l LT5iYXNlLCBjb25maWctPnByb3BfZmJfaWQsIDApOworCQlkcm1fb2JqZWN0X2F0dGFjaF9wcm9w ZXJ0eSgmcGxhbmUtPmJhc2UsIGNvbmZpZy0+cHJvcF9pbl9mZW5jZV9mZCwgLTEpOwogCQlkcm1f b2JqZWN0X2F0dGFjaF9wcm9wZXJ0eSgmcGxhbmUtPmJhc2UsIGNvbmZpZy0+cHJvcF9jcnRjX2lk LCAwKTsKIAkJZHJtX29iamVjdF9hdHRhY2hfcHJvcGVydHkoJnBsYW5lLT5iYXNlLCBjb25maWct PnByb3BfY3J0Y194LCAwKTsKIAkJZHJtX29iamVjdF9hdHRhY2hfcHJvcGVydHkoJnBsYW5lLT5i YXNlLCBjb25maWctPnByb3BfY3J0Y195LCAwKTsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2Ry bV9jcnRjLmggYi9pbmNsdWRlL2RybS9kcm1fY3J0Yy5oCmluZGV4IDhjY2EyYTguLjExNzgwYTkg MTAwNjQ0Ci0tLSBhL2luY2x1ZGUvZHJtL2RybV9jcnRjLmgKKysrIGIvaW5jbHVkZS9kcm0vZHJt X2NydGMuaApAQCAtMTIxNCw2ICsxMjE0LDExIEBAIHN0cnVjdCBkcm1fbW9kZV9jb25maWcgewog CSAqLwogCXN0cnVjdCBkcm1fcHJvcGVydHkgKnByb3BfZmJfaWQ7CiAJLyoqCisJICogQHByb3Bf aW5fZmVuY2VfZmQ6IFN5bmMgRmlsZSBmZCByZXByZXNlbnRpbmcgdGhlIGluY29taW5nIGZlbmNl cworCSAqIGZvciBhIFBsYW5lLgorCSAqLworCXN0cnVjdCBkcm1fcHJvcGVydHkgKnByb3BfaW5f ZmVuY2VfZmQ7CisJLyoqCiAJICogQHByb3BfY3J0Y19pZDogRGVmYXVsdCBhdG9taWMgcGxhbmUg cHJvcGVydHkgdG8gc3BlY2lmeSB0aGUKIAkgKiAmZHJtX2NydGMuCiAJICovCi0tIAoyLjUuNQoK X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVs IG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlz dHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==