From mboxrd@z Thu Jan 1 00:00:00 1970 From: John.C.Harrison@Intel.com Subject: [RFC 1/9] staging/android/sync: Support sync points created from dma-fences Date: Wed, 13 Jan 2016 17:57:27 +0000 Message-ID: <1452707855-9791-2-git-send-email-John.C.Harrison@Intel.com> References: <1452707855-9791-1-git-send-email-John.C.Harrison@Intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTP id 296196E033 for ; Wed, 13 Jan 2016 09:57:38 -0800 (PST) In-Reply-To: <1452707855-9791-1-git-send-email-John.C.Harrison@Intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Intel-GFX@Lists.FreeDesktop.Org Cc: devel@driverdev.osuosl.org, Greg Kroah-Hartman , =?UTF-8?q?Arve=20Hj=C3=B8nnev=C3=A5g?= , Riley Andrews , Maarten Lankhorst , Gustavo Padovan List-Id: intel-gfx@lists.freedesktop.org RnJvbTogTWFhcnRlbiBMYW5raG9yc3QgPG1hYXJ0ZW4ubGFua2hvcnN0QGNhbm9uaWNhbC5jb20+ CgpEZWJ1ZyBvdXRwdXQgYXNzdW1lcyBhbGwgc3luYyBwb2ludHMgYXJlIGJ1aWx0IG9uIHRvcCBv ZiBBbmRyb2lkIHN5bmMKcG9pbnRzIGFuZCB3aGVuIHdlIHN0YXJ0IGNyZWF0aW5nIHRoZW0gZnJv bSBkbWEtZmVuY2VzIHdpbGwgTlVMTCBwdHIgZGVyZWYKdW5sZXNzIHRhdWdodCBhYm91dCB0aGlz LgoKdjAuNDogQ29ycmVjdGVkIHBhdGNoIG93bmVyc2hpcC4KCnYwLjU6IFJlbW92ZWQgcmVkdW5k YW50IGJyYWNlcyB0byBrZWVwIHN0eWxlIGNoZWNrZXIgaGFwcHkKClNpZ25lZC1vZmYtYnk6IE1h YXJ0ZW4gTGFua2hvcnN0IDxtYWFydGVuLmxhbmtob3JzdEBjYW5vbmljYWwuY29tPgpTaWduZWQt b2ZmLWJ5OiBUdnJ0a28gVXJzdWxpbiA8dHZydGtvLnVyc3VsaW5AaW50ZWwuY29tPgpDYzogTWFh cnRlbiBMYW5raG9yc3QgPG1hYXJ0ZW4ubGFua2hvcnN0QGxpbnV4LmludGVsLmNvbT4KQ2M6IGRl dmVsQGRyaXZlcmRldi5vc3Vvc2wub3JnCkNjOiBSaWxleSBBbmRyZXdzIDxyaWFuZHJld3NAYW5k cm9pZC5jb20+CkNjOiBHcmVnIEtyb2FoLUhhcnRtYW4gPGdyZWdraEBsaW51eGZvdW5kYXRpb24u b3JnPgpDYzogQXJ2ZSBIasO4bm5ldsOlZyA8YXJ2ZUBhbmRyb2lkLmNvbT4KQ2M6IEd1c3Rhdm8g UGFkb3ZhbiA8Z3VzdGF2by5wYWRvdmFuQGNvbGxhYm9yYS5jby51az4KUmV2aWV3ZWQtYnk6IEpl c3NlIEJhcm5lcyA8amJhcm5lc0B2aXJ0dW91c2dlZWsub3JnPgotLS0KIGRyaXZlcnMvc3RhZ2lu Zy9hbmRyb2lkL3N5bmNfZGVidWcuYyB8IDQ1ICsrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0t LS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDIzIGluc2VydGlvbnMoKyksIDIyIGRlbGV0aW9ucygt KQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvc3RhZ2luZy9hbmRyb2lkL3N5bmNfZGVidWcuYyBiL2Ry aXZlcnMvc3RhZ2luZy9hbmRyb2lkL3N5bmNfZGVidWcuYwppbmRleCA5MWVkMmM0Li4wMmExNjQ5 IDEwMDY0NAotLS0gYS9kcml2ZXJzL3N0YWdpbmcvYW5kcm9pZC9zeW5jX2RlYnVnLmMKKysrIGIv ZHJpdmVycy9zdGFnaW5nL2FuZHJvaWQvc3luY19kZWJ1Zy5jCkBAIC04MiwzNiArODIsNDIgQEAg c3RhdGljIGNvbnN0IGNoYXIgKnN5bmNfc3RhdHVzX3N0cihpbnQgc3RhdHVzKQogCXJldHVybiAi ZXJyb3IiOwogfQogCi1zdGF0aWMgdm9pZCBzeW5jX3ByaW50X3B0KHN0cnVjdCBzZXFfZmlsZSAq cywgc3RydWN0IHN5bmNfcHQgKnB0LCBib29sIGZlbmNlKQorc3RhdGljIHZvaWQgc3luY19wcmlu dF9wdChzdHJ1Y3Qgc2VxX2ZpbGUgKnMsIHN0cnVjdCBmZW5jZSAqcHQsIGJvb2wgZmVuY2UpCiB7 CiAJaW50IHN0YXR1cyA9IDE7Ci0Jc3RydWN0IHN5bmNfdGltZWxpbmUgKnBhcmVudCA9IHN5bmNf cHRfcGFyZW50KHB0KTsKIAotCWlmIChmZW5jZV9pc19zaWduYWxlZF9sb2NrZWQoJnB0LT5iYXNl KSkKLQkJc3RhdHVzID0gcHQtPmJhc2Uuc3RhdHVzOworCWlmIChmZW5jZV9pc19zaWduYWxlZF9s b2NrZWQocHQpKQorCQlzdGF0dXMgPSBwdC0+c3RhdHVzOwogCiAJc2VxX3ByaW50ZihzLCAiICAl cyVzcHQgJXMiLAotCQkgICBmZW5jZSA/IHBhcmVudC0+bmFtZSA6ICIiLAorCQkgICBmZW5jZSAm JiBwdC0+b3BzLT5nZXRfdGltZWxpbmVfbmFtZSA/CisJCSAgIHB0LT5vcHMtPmdldF90aW1lbGlu ZV9uYW1lKHB0KSA6ICIiLAogCQkgICBmZW5jZSA/ICJfIiA6ICIiLAogCQkgICBzeW5jX3N0YXR1 c19zdHIoc3RhdHVzKSk7CiAKIAlpZiAoc3RhdHVzIDw9IDApIHsKIAkJc3RydWN0IHRpbWVzcGVj NjQgdHM2NCA9Ci0JCQlrdGltZV90b190aW1lc3BlYzY0KHB0LT5iYXNlLnRpbWVzdGFtcCk7CisJ CQlrdGltZV90b190aW1lc3BlYzY0KHB0LT50aW1lc3RhbXApOwogCiAJCXNlcV9wcmludGYocywg IkAlbGxkLiUwOWxkIiwgKHM2NCl0czY0LnR2X3NlYywgdHM2NC50dl9uc2VjKTsKIAl9CiAKLQlp ZiAocGFyZW50LT5vcHMtPnRpbWVsaW5lX3ZhbHVlX3N0ciAmJgotCSAgICBwYXJlbnQtPm9wcy0+ cHRfdmFsdWVfc3RyKSB7CisJaWYgKCghZmVuY2UgfHwgcHQtPm9wcy0+dGltZWxpbmVfdmFsdWVf c3RyKSAmJgorCSAgICBwdC0+b3BzLT5mZW5jZV92YWx1ZV9zdHIpIHsKIAkJY2hhciB2YWx1ZVs2 NF07CisJCWJvb2wgc3VjY2VzczsKIAotCQlwYXJlbnQtPm9wcy0+cHRfdmFsdWVfc3RyKHB0LCB2 YWx1ZSwgc2l6ZW9mKHZhbHVlKSk7Ci0JCXNlcV9wcmludGYocywgIjogJXMiLCB2YWx1ZSk7Ci0J CWlmIChmZW5jZSkgewotCQkJcGFyZW50LT5vcHMtPnRpbWVsaW5lX3ZhbHVlX3N0cihwYXJlbnQs IHZhbHVlLAotCQkJCQkJICAgIHNpemVvZih2YWx1ZSkpOwotCQkJc2VxX3ByaW50ZihzLCAiIC8g JXMiLCB2YWx1ZSk7CisJCXB0LT5vcHMtPmZlbmNlX3ZhbHVlX3N0cihwdCwgdmFsdWUsIHNpemVv Zih2YWx1ZSkpOworCQlzdWNjZXNzID0gc3RybGVuKHZhbHVlKTsKKworCQlpZiAoc3VjY2VzcykK KwkJCXNlcV9wcmludGYocywgIjogJXMiLCB2YWx1ZSk7CisKKwkJaWYgKHN1Y2Nlc3MgJiYgZmVu Y2UpIHsKKwkJCXB0LT5vcHMtPnRpbWVsaW5lX3ZhbHVlX3N0cihwdCwgdmFsdWUsIHNpemVvZih2 YWx1ZSkpOworCisJCQlpZiAoc3RybGVuKHZhbHVlKSkKKwkJCQlzZXFfcHJpbnRmKHMsICIgLyAl cyIsIHZhbHVlKTsKIAkJfQogCX0KIApAQCAtMTM4LDcgKzE0NCw3IEBAIHN0YXRpYyB2b2lkIHN5 bmNfcHJpbnRfb2JqKHN0cnVjdCBzZXFfZmlsZSAqcywgc3RydWN0IHN5bmNfdGltZWxpbmUgKm9i aikKIAlsaXN0X2Zvcl9lYWNoKHBvcywgJm9iai0+Y2hpbGRfbGlzdF9oZWFkKSB7CiAJCXN0cnVj dCBzeW5jX3B0ICpwdCA9CiAJCQljb250YWluZXJfb2YocG9zLCBzdHJ1Y3Qgc3luY19wdCwgY2hp bGRfbGlzdCk7Ci0JCXN5bmNfcHJpbnRfcHQocywgcHQsIGZhbHNlKTsKKwkJc3luY19wcmludF9w dChzLCAmcHQtPmJhc2UsIGZhbHNlKTsKIAl9CiAJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmb2Jq LT5jaGlsZF9saXN0X2xvY2ssIGZsYWdzKTsKIH0KQEAgLTE1MiwxMyArMTU4LDggQEAgc3RhdGlj IHZvaWQgc3luY19wcmludF9mZW5jZShzdHJ1Y3Qgc2VxX2ZpbGUgKnMsIHN0cnVjdCBzeW5jX2Zl bmNlICpmZW5jZSkKIAlzZXFfcHJpbnRmKHMsICJbJXBdICVzOiAlc1xuIiwgZmVuY2UsIGZlbmNl LT5uYW1lLAogCQkgICBzeW5jX3N0YXR1c19zdHIoYXRvbWljX3JlYWQoJmZlbmNlLT5zdGF0dXMp KSk7CiAKLQlmb3IgKGkgPSAwOyBpIDwgZmVuY2UtPm51bV9mZW5jZXM7ICsraSkgewotCQlzdHJ1 Y3Qgc3luY19wdCAqcHQgPQotCQkJY29udGFpbmVyX29mKGZlbmNlLT5jYnNbaV0uc3luY19wdCwK LQkJCQkgICAgIHN0cnVjdCBzeW5jX3B0LCBiYXNlKTsKLQotCQlzeW5jX3ByaW50X3B0KHMsIHB0 LCB0cnVlKTsKLQl9CisJZm9yIChpID0gMDsgaSA8IGZlbmNlLT5udW1fZmVuY2VzOyArK2kpCisJ CXN5bmNfcHJpbnRfcHQocywgZmVuY2UtPmNic1tpXS5zeW5jX3B0LCB0cnVlKTsKIAogCXNwaW5f bG9ja19pcnFzYXZlKCZmZW5jZS0+d3EubG9jaywgZmxhZ3MpOwogCWxpc3RfZm9yX2VhY2hfZW50 cnkocG9zLCAmZmVuY2UtPndxLnRhc2tfbGlzdCwgdGFza19saXN0KSB7Ci0tIAoxLjkuMQoKX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1h aWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5m cmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK