From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jason Ekstrand Subject: [PATCH 5/10] drm/syncobj: Add a callback mechanism for replace_fence (v3) Date: Mon, 28 Aug 2017 07:39:25 -0700 Message-ID: <1503931165-24131-1-git-send-email-jason.ekstrand@intel.com> References: <1503683548-23548-5-git-send-email-jason.ekstrand@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-pg0-x243.google.com (mail-pg0-x243.google.com [IPv6:2607:f8b0:400e:c05::243]) by gabe.freedesktop.org (Postfix) with ESMTPS id E3A6A6E069 for ; Mon, 28 Aug 2017 14:39:34 +0000 (UTC) Received: by mail-pg0-x243.google.com with SMTP id 83so510259pgb.3 for ; Mon, 28 Aug 2017 07:39:34 -0700 (PDT) In-Reply-To: <1503683548-23548-5-git-send-email-jason.ekstrand@intel.com> 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: Jason Ekstrand , Jason Ekstrand List-Id: dri-devel@lists.freedesktop.org SXQgaXMgdXNlZnVsIGluIGNlcnRhaW4gY2lyY3Vtc3RhbmNlcyB0byBrbm93IHdoZW4gdGhlIGZl bmNlIGlzIHJlcGxhY2VkCmluIGEgc3luY29iai4gIFNwZWNpZmljYWxseSwgaXQgbWF5IGJlIHVz ZWZ1bCB0byBrbm93IHdoZW4gdGhlIGZlbmNlCmdvZXMgZnJvbSBOVUxMIHRvIHNvbWV0aGluZyB2 YWxpZC4gIFRoaXMgZG9lcyBtYWtlIHN5bmNvYmpfcmVwbGFjZV9mZW5jZQphIGxpdHRsZSBtb3Jl IGV4cGVuc2l2ZSBiZWNhdXNlIGl0IGhhcyB0byB0YWtlIGEgbG9jayBidXQsIGluIHRoZSBjb21t b24KY2FzZSB3aGVyZSB0aGVyZSBpcyBubyBjYWxsYmFjayBsaXN0LCBpdCBzcGVuZHMgYSB2ZXJ5 IHNob3J0IGFtb3VudCBvZgp0aW1lIGluc2lkZSB0aGUgbG9jay4KCnYyOgogLSBEb24ndCBsb2Nr IGluIGRybV9zeW5jb2JqX2ZlbmNlX2dldC4gIFdlIG9ubHkgcmVhbGx5IG5lZWQgdG8gbG9jawog ICBhcm91bmQgZmVuY2VfcmVwbGFjZSB0byBtYWtlIHRoZSBjYWxsYmFjayB3b3JrLgp2MzoKIC0g Rml4IHRoZSBjYl9saXN0IGNvbW1lbnQgdG8gbWFrZSBrYnVpbGQgaGFwcHkKClNpZ25lZC1vZmYt Ynk6IEphc29uIEVrc3RyYW5kIDxqYXNvbkBqbGVrc3RyYW5kLm5ldD4KLS0tCiBkcml2ZXJzL2dw dS9kcm0vZHJtX3N5bmNvYmouYyB8IDYwICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrLS0KIGluY2x1ZGUvZHJtL2RybV9zeW5jb2JqLmggICAgIHwgMzkgKysrKysrKysr KysrKysrKysrKysrKysrKysrKwogMiBmaWxlcyBjaGFuZ2VkLCA5NyBpbnNlcnRpb25zKCspLCAy IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fc3luY29iai5j IGIvZHJpdmVycy9ncHUvZHJtL2RybV9zeW5jb2JqLmMKaW5kZXggNGU4NTYzYy4uYmFkZTQ5NyAx MDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9zeW5jb2JqLmMKKysrIGIvZHJpdmVycy9n cHUvZHJtL2RybV9zeW5jb2JqLmMKQEAgLTgwLDYgKzgwLDQ2IEBAIHN0cnVjdCBkcm1fc3luY29i aiAqZHJtX3N5bmNvYmpfZmluZChzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGVfcHJpdmF0ZSwKIH0KIEVY UE9SVF9TWU1CT0woZHJtX3N5bmNvYmpfZmluZCk7CiAKK3N0YXRpYyB2b2lkIGRybV9zeW5jb2Jq X2FkZF9jYWxsYmFja19sb2NrZWQoc3RydWN0IGRybV9zeW5jb2JqICpzeW5jb2JqLAorCQkJCQkg ICAgc3RydWN0IGRybV9zeW5jb2JqX2NiICpjYiwKKwkJCQkJICAgIGRybV9zeW5jb2JqX2Z1bmNf dCBmdW5jKQoreworCWNiLT5mdW5jID0gZnVuYzsKKwlsaXN0X2FkZF90YWlsKCZjYi0+bm9kZSwg JnN5bmNvYmotPmNiX2xpc3QpOworfQorCisvKioKKyAqIGRybV9zeW5jb2JqX2FkZF9jYWxsYmFj ayAtIGFkZHMgYSBjYWxsYmFjayB0byBzeW5jb2JqOjpjYl9saXN0CisgKiBAc3luY29iajogU3lu YyBvYmplY3QgdG8gd2hpY2ggdG8gYWRkIHRoZSBjYWxsYmFjaworICogQGNiOiBDYWxsYmFjayB0 byBhZGQKKyAqIEBmdW5jOiBGdW5jIHRvIHVzZSB3aGVuIGluaXRpYWxpemluZyB0aGUgZHJtX3N5 bmNvYmpfY2Igc3RydWN0CisgKgorICogVGhpcyBhZGRzIGEgY2FsbGJhY2sgdG8gYmUgY2FsbGVk IG5leHQgdGltZSB0aGUgZmVuY2UgaXMgcmVwbGFjZWQKKyAqLwordm9pZCBkcm1fc3luY29ial9h ZGRfY2FsbGJhY2soc3RydWN0IGRybV9zeW5jb2JqICpzeW5jb2JqLAorCQkJICAgICAgc3RydWN0 IGRybV9zeW5jb2JqX2NiICpjYiwKKwkJCSAgICAgIGRybV9zeW5jb2JqX2Z1bmNfdCBmdW5jKQor eworCXNwaW5fbG9jaygmc3luY29iai0+bG9jayk7CisJZHJtX3N5bmNvYmpfYWRkX2NhbGxiYWNr X2xvY2tlZChzeW5jb2JqLCBjYiwgZnVuYyk7CisJc3Bpbl91bmxvY2soJnN5bmNvYmotPmxvY2sp OworfQorRVhQT1JUX1NZTUJPTChkcm1fc3luY29ial9hZGRfY2FsbGJhY2spOworCisvKioKKyAq IGRybV9zeW5jb2JqX2FkZF9jYWxsYmFjayAtIHJlbW92ZXMgYSBjYWxsYmFjayB0byBzeW5jb2Jq OjpjYl9saXN0CisgKiBAc3luY29iajogU3luYyBvYmplY3QgZnJvbSB3aGljaCB0byByZW1vdmUg dGhlIGNhbGxiYWNrCisgKiBAY2I6IENhbGxiYWNrIHRvIHJlbW92ZQorICovCit2b2lkIGRybV9z eW5jb2JqX3JlbW92ZV9jYWxsYmFjayhzdHJ1Y3QgZHJtX3N5bmNvYmogKnN5bmNvYmosCisJCQkJ IHN0cnVjdCBkcm1fc3luY29ial9jYiAqY2IpCit7CisJc3Bpbl9sb2NrKCZzeW5jb2JqLT5sb2Nr KTsKKwlsaXN0X2RlbF9pbml0KCZjYi0+bm9kZSk7CisJc3Bpbl91bmxvY2soJnN5bmNvYmotPmxv Y2spOworfQorRVhQT1JUX1NZTUJPTChkcm1fc3luY29ial9yZW1vdmVfY2FsbGJhY2spOworCiAv KioKICAqIGRybV9zeW5jb2JqX3JlcGxhY2VfZmVuY2UgLSByZXBsYWNlIGZlbmNlIGluIGEgc3lu YyBvYmplY3QuCiAgKiBAc3luY29iajogU3luYyBvYmplY3QgdG8gcmVwbGFjZSBmZW5jZSBpbgpA QCAtOTEsMTAgKzEzMSwyNCBAQCB2b2lkIGRybV9zeW5jb2JqX3JlcGxhY2VfZmVuY2Uoc3RydWN0 IGRybV9zeW5jb2JqICpzeW5jb2JqLAogCQkJICAgICAgIHN0cnVjdCBkbWFfZmVuY2UgKmZlbmNl KQogewogCXN0cnVjdCBkbWFfZmVuY2UgKm9sZF9mZW5jZTsKKwlzdHJ1Y3QgZHJtX3N5bmNvYmpf Y2IgKmN1ciwgKnRtcDsKIAogCWlmIChmZW5jZSkKIAkJZG1hX2ZlbmNlX2dldChmZW5jZSk7Ci0J b2xkX2ZlbmNlID0geGNoZygmc3luY29iai0+ZmVuY2UsIGZlbmNlKTsKKworCXNwaW5fbG9jaygm c3luY29iai0+bG9jayk7CisKKwlvbGRfZmVuY2UgPSBzeW5jb2JqLT5mZW5jZTsKKwlzeW5jb2Jq LT5mZW5jZSA9IGZlbmNlOworCisJaWYgKGZlbmNlICE9IG9sZF9mZW5jZSkgeworCQlsaXN0X2Zv cl9lYWNoX2VudHJ5X3NhZmUoY3VyLCB0bXAsICZzeW5jb2JqLT5jYl9saXN0LCBub2RlKSB7CisJ CQlsaXN0X2RlbF9pbml0KCZjdXItPm5vZGUpOworCQkJY3VyLT5mdW5jKHN5bmNvYmosIGN1cik7 CisJCX0KKwl9CisKKwlzcGluX3VubG9jaygmc3luY29iai0+bG9jayk7CiAKIAlkbWFfZmVuY2Vf cHV0KG9sZF9mZW5jZSk7CiB9CkBAIC0xMzAsNyArMTg0LDcgQEAgdm9pZCBkcm1fc3luY29ial9m cmVlKHN0cnVjdCBrcmVmICprcmVmKQogCXN0cnVjdCBkcm1fc3luY29iaiAqc3luY29iaiA9IGNv bnRhaW5lcl9vZihrcmVmLAogCQkJCQkJICAgc3RydWN0IGRybV9zeW5jb2JqLAogCQkJCQkJICAg cmVmY291bnQpOwotCWRtYV9mZW5jZV9wdXQoc3luY29iai0+ZmVuY2UpOworCWRybV9zeW5jb2Jq X3JlcGxhY2VfZmVuY2Uoc3luY29iaiwgTlVMTCk7CiAJa2ZyZWUoc3luY29iaik7CiB9CiBFWFBP UlRfU1lNQk9MKGRybV9zeW5jb2JqX2ZyZWUpOwpAQCAtMTQ2LDYgKzIwMCw4IEBAIHN0YXRpYyBp bnQgZHJtX3N5bmNvYmpfY3JlYXRlKHN0cnVjdCBkcm1fZmlsZSAqZmlsZV9wcml2YXRlLAogCQly ZXR1cm4gLUVOT01FTTsKIAogCWtyZWZfaW5pdCgmc3luY29iai0+cmVmY291bnQpOworCUlOSVRf TElTVF9IRUFEKCZzeW5jb2JqLT5jYl9saXN0KTsKKwlzcGluX2xvY2tfaW5pdCgmc3luY29iai0+ bG9jayk7CiAKIAlpZHJfcHJlbG9hZChHRlBfS0VSTkVMKTsKIAlzcGluX2xvY2soJmZpbGVfcHJp dmF0ZS0+c3luY29ial90YWJsZV9sb2NrKTsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2RybV9z eW5jb2JqLmggYi9pbmNsdWRlL2RybS9kcm1fc3luY29iai5oCmluZGV4IGNlOTRkMTQuLmMwMGZl ZTUgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvZHJtL2RybV9zeW5jb2JqLmgKKysrIGIvaW5jbHVkZS9k cm0vZHJtX3N5bmNvYmouaApAQCAtMjgsNiArMjgsOCBAQAogCiAjaW5jbHVkZSAibGludXgvZG1h LWZlbmNlLmgiCiAKK3N0cnVjdCBkcm1fc3luY29ial9jYjsKKwogLyoqCiAgKiBzdHJ1Y3QgZHJt X3N5bmNvYmogLSBzeW5jIG9iamVjdC4KICAqCkBAIC00MywxNSArNDUsNDcgQEAgc3RydWN0IGRy bV9zeW5jb2JqIHsKIAkvKioKIAkgKiBAZmVuY2U6CiAJICogTlVMTCBvciBhIHBvaW50ZXIgdG8g dGhlIGZlbmNlIGJvdW5kIHRvIHRoaXMgb2JqZWN0LgorCSAqCisJICogVGhpcyBmaWVsZCBzaG91 bGQgbm90IGJlIHVzZWQgZGlyZWN0bHkuICBVc2UgZHJtX3N5bmNvYmpfZmVuY2VfZ2V0CisJICog YW5kIGRybV9zeW5jb2JqX3JlcGxhY2VfZmVuY2UgaW5zdGVhZC4KIAkgKi8KIAlzdHJ1Y3QgZG1h X2ZlbmNlICpmZW5jZTsKIAkvKioKKwkgKiBAY2JfbGlzdDoKKwkgKiBMaXN0IG9mIGNhbGxiYWNr cyB0byBjYWxsIHdoZW4gdGhlIGZlbmNlIGdldHMgcmVwbGFjZWQKKwkgKi8KKwlzdHJ1Y3QgbGlz dF9oZWFkIGNiX2xpc3Q7CisJLyoqCisJICogQGxvY2s6CisJICogbG9ja3MgY2JfbGlzdCBhbmQg d3JpdGUtbG9ja3MgZmVuY2UuCisJICovCisJc3BpbmxvY2tfdCBsb2NrOworCS8qKgogCSAqIEBm aWxlOgogCSAqIGEgZmlsZSBiYWNraW5nIGZvciB0aGlzIHN5bmNvYmouCiAJICovCiAJc3RydWN0 IGZpbGUgKmZpbGU7CiB9OwogCit0eXBlZGVmIHZvaWQgKCpkcm1fc3luY29ial9mdW5jX3QpKHN0 cnVjdCBkcm1fc3luY29iaiAqc3luY29iaiwKKwkJCQkgICBzdHJ1Y3QgZHJtX3N5bmNvYmpfY2Ig KmNiKTsKKworLyoqCisgKiBzdHJ1Y3QgZHJtX3N5bmNvYmpfY2IgLSBjYWxsYmFjayBmb3IgZHJt X3N5bmNvYmpfYWRkX2NhbGxiYWNrCisgKiBAbm9kZTogdXNlZCBieSBkcm1fc3luY29iX2FkZF9j YWxsYmFjayB0byBhcHBlbmQgdGhpcyBzdHJ1Y3QgdG8KKyAqCSAgc3luY29iajo6Y2JfbGlzdAor ICogQGZ1bmM6IGRybV9zeW5jb2JqX2Z1bmNfdCB0byBjYWxsCisgKgorICogVGhpcyBzdHJ1Y3Qg d2lsbCBiZSBpbml0aWFsaXplZCBieSBkcm1fc3luY29ial9hZGRfY2FsbGJhY2ssIGFkZGl0aW9u YWwKKyAqIGRhdGEgY2FuIGJlIHBhc3NlZCBhbG9uZyBieSBlbWJlZGRpbmcgZHJtX3N5bmNvYmpf Y2IgaW4gYW5vdGhlciBzdHJ1Y3QuCisgKiBUaGUgY2FsbGJhY2sgd2lsbCBnZXQgY2FsbGVkIHRo ZSBuZXh0IHRpbWUgZHJtX3N5bmNvYmpfcmVwbGFjZV9mZW5jZSBpcworICogY2FsbGVkLgorICov CitzdHJ1Y3QgZHJtX3N5bmNvYmpfY2IgeworCXN0cnVjdCBsaXN0X2hlYWQgbm9kZTsKKwlkcm1f c3luY29ial9mdW5jX3QgZnVuYzsKK307CisKIHZvaWQgZHJtX3N5bmNvYmpfZnJlZShzdHJ1Y3Qg a3JlZiAqa3JlZik7CiAKIC8qKgpAQCAtOTEsNiArMTI1LDExIEBAIGRybV9zeW5jb2JqX2ZlbmNl X2dldChzdHJ1Y3QgZHJtX3N5bmNvYmogKnN5bmNvYmopCiAKIHN0cnVjdCBkcm1fc3luY29iaiAq ZHJtX3N5bmNvYmpfZmluZChzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGVfcHJpdmF0ZSwKIAkJCQkgICAg IHUzMiBoYW5kbGUpOwordm9pZCBkcm1fc3luY29ial9hZGRfY2FsbGJhY2soc3RydWN0IGRybV9z eW5jb2JqICpzeW5jb2JqLAorCQkJICAgICAgc3RydWN0IGRybV9zeW5jb2JqX2NiICpjYiwKKwkJ CSAgICAgIGRybV9zeW5jb2JqX2Z1bmNfdCBmdW5jKTsKK3ZvaWQgZHJtX3N5bmNvYmpfcmVtb3Zl X2NhbGxiYWNrKHN0cnVjdCBkcm1fc3luY29iaiAqc3luY29iaiwKKwkJCQkgc3RydWN0IGRybV9z eW5jb2JqX2NiICpjYik7CiB2b2lkIGRybV9zeW5jb2JqX3JlcGxhY2VfZmVuY2Uoc3RydWN0IGRy bV9zeW5jb2JqICpzeW5jb2JqLAogCQkJICAgICAgIHN0cnVjdCBkbWFfZmVuY2UgKmZlbmNlKTsK IGludCBkcm1fc3luY29ial9maW5kX2ZlbmNlKHN0cnVjdCBkcm1fZmlsZSAqZmlsZV9wcml2YXRl LAotLSAKMi41LjAuNDAwLmdmZjg2ZmFmCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5m cmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0 aW5mby9kcmktZGV2ZWwK