From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [PATCH 22/22] drm/i915: Export our request as a dma-buf fence on the reservation object Date: Wed, 27 Jul 2016 12:15:00 +0100 Message-ID: <1469618100-15298-23-git-send-email-chris@chris-wilson.co.uk> References: <1469618100-15298-1-git-send-email-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wm0-x242.google.com (mail-wm0-x242.google.com [IPv6:2a00:1450:400c:c09::242]) by gabe.freedesktop.org (Postfix) with ESMTPS id 8A3846E678 for ; Wed, 27 Jul 2016 11:15:56 +0000 (UTC) Received: by mail-wm0-x242.google.com with SMTP id q128so5948222wma.1 for ; Wed, 27 Jul 2016 04:15:56 -0700 (PDT) In-Reply-To: <1469618100-15298-1-git-send-email-chris@chris-wilson.co.uk> 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 List-Id: intel-gfx@lists.freedesktop.org SWYgdGhlIEdFTSBvYmplY3RzIGJlaW5nIHJlbmRlcmVkIHdpdGggaW4gdGhpcyByZXF1ZXN0IGhh dmUgYmVlbgpleHBvcnRlZCB2aWEgZG1hLWJ1ZiB0byBhIHRoaXJkIHBhcnR5LCBob29rIG91cnNl bHZlcyBpbnRvIHRoZSBkbWEtYnVmCnJlc2VydmF0aW9uIG9iamVjdCBzbyB0aGF0IHRoZSB0aGly ZCBwYXJ0eSBjYW4gc2VyaWFsaXNlIHdpdGggb3VyCnJlbmRlcmluZyB2aWEgdGhlIGRtYS1idWYg ZmVuY2VzLgoKVGVzdGNhc2U6IGlndC9wcmltZV9idXN5ClNpZ25lZC1vZmYtYnk6IENocmlzIFdp bHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVrPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZ2VtX2RtYWJ1Zi5jICAgICB8IDU2ICsrKysrKysrKysrKysrKysrKysrKysrKysrKyst LQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZXhlY2J1ZmZlci5jIHwgMzMgKysrKysr KysrKysrKysrKy0tCiAyIGZpbGVzIGNoYW5nZWQsIDgzIGluc2VydGlvbnMoKyksIDYgZGVsZXRp b25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZG1hYnVm LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9kbWFidWYuYwppbmRleCAzYTAwYWIz YWQwNmUuLmJhYjcxYmE5YzI1YSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9nZW1fZG1hYnVmLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZG1hYnVm LmMKQEAgLTIzLDkgKzIzLDEzIEBACiAgKiBBdXRob3JzOgogICoJRGF2ZSBBaXJsaWUgPGFpcmxp ZWRAcmVkaGF0LmNvbT4KICAqLworCisjaW5jbHVkZSA8bGludXgvZG1hLWJ1Zi5oPgorI2luY2x1 ZGUgPGxpbnV4L3Jlc2VydmF0aW9uLmg+CisKICNpbmNsdWRlIDxkcm0vZHJtUC5oPgorCiAjaW5j bHVkZSAiaTkxNV9kcnYuaCIKLSNpbmNsdWRlIDxsaW51eC9kbWEtYnVmLmg+CiAKIHN0YXRpYyBz dHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqZG1hX2J1Zl90b19vYmooc3RydWN0IGRtYV9idWYg KmJ1ZikKIHsKQEAgLTIxOCwyNSArMjIyLDcxIEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZG1hX2J1 Zl9vcHMgaTkxNV9kbWFidWZfb3BzID0gIHsKIAkuZW5kX2NwdV9hY2Nlc3MgPSBpOTE1X2dlbV9l bmRfY3B1X2FjY2VzcywKIH07CiAKK3N0YXRpYyB2b2lkIGV4cG9ydF9mZW5jZXMoc3RydWN0IGRy bV9pOTE1X2dlbV9vYmplY3QgKm9iaiwKKwkJCSAgc3RydWN0IGRtYV9idWYgKmRtYV9idWYpCit7 CisJc3RydWN0IHJlc2VydmF0aW9uX29iamVjdCAqcmVzdiA9IGRtYV9idWYtPnJlc3Y7CisJc3Ry dWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXE7CisJdW5zaWduZWQgbG9uZyBhY3RpdmU7CisJ aW50IGlkeDsKKworCWFjdGl2ZSA9IF9fSTkxNV9CT19BQ1RJVkUob2JqKTsKKwlpZiAoIWFjdGl2 ZSkKKwkJcmV0dXJuOworCisJLyogTWFyayB0aGUgb2JqZWN0IGZvciBmdXR1cmUgZmVuY2VzIGJl Zm9yZSByYWNpbHkgYWRkaW5nIG9sZCBmZW5jZXMgKi8KKwlvYmotPmJhc2UuZG1hX2J1ZiA9IGRt YV9idWY7CisKKwltdXRleF9sb2NrKCZyZXN2LT5sb2NrLmJhc2UpOworCisJZm9yX2VhY2hfYWN0 aXZlKGFjdGl2ZSwgaWR4KSB7CisJCXJjdV9yZWFkX2xvY2soKTsKKwkJcmVxID0gaTkxNV9nZW1f YWN0aXZlX2dldF9yY3UoJm9iai0+bGFzdF9yZWFkW2lkeF0pOworCQlyY3VfcmVhZF91bmxvY2so KTsKKwkJaWYgKCFyZXEpCisJCQljb250aW51ZTsKKworCQlpZiAocmVzZXJ2YXRpb25fb2JqZWN0 X3Jlc2VydmVfc2hhcmVkKHJlc3YpID09IDApCisJCQlyZXNlcnZhdGlvbl9vYmplY3RfYWRkX3No YXJlZF9mZW5jZShyZXN2LCAmcmVxLT5mZW5jZSk7CisKKwkJaTkxNV9nZW1fcmVxdWVzdF9wdXQo cmVxKTsKKwl9CisKKwlyY3VfcmVhZF9sb2NrKCk7CisJcmVxID0gaTkxNV9nZW1fYWN0aXZlX2dl dF9yY3UoJm9iai0+bGFzdF93cml0ZSk7CisJcmN1X3JlYWRfdW5sb2NrKCk7CisJaWYgKHJlcSkg eworCQlyZXNlcnZhdGlvbl9vYmplY3RfYWRkX2V4Y2xfZmVuY2UocmVzdiwgJnJlcS0+ZmVuY2Up OworCQlpOTE1X2dlbV9yZXF1ZXN0X3B1dChyZXEpOworCX0KKworCW11dGV4X3VubG9jaygmcmVz di0+bG9jay5iYXNlKTsKK30KKwogc3RydWN0IGRtYV9idWYgKmk5MTVfZ2VtX3ByaW1lX2V4cG9y dChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogCQkJCSAgICAgIHN0cnVjdCBkcm1fZ2VtX29iamVj dCAqZ2VtX29iaiwgaW50IGZsYWdzKQogewogCXN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpv YmogPSB0b19pbnRlbF9ibyhnZW1fb2JqKTsKIAlERUZJTkVfRE1BX0JVRl9FWFBPUlRfSU5GTyhl eHBfaW5mbyk7CisJc3RydWN0IGRtYV9idWYgKmRtYV9idWY7CiAKIAlleHBfaW5mby5vcHMgPSAm aTkxNV9kbWFidWZfb3BzOwogCWV4cF9pbmZvLnNpemUgPSBnZW1fb2JqLT5zaXplOwogCWV4cF9p bmZvLmZsYWdzID0gZmxhZ3M7CiAJZXhwX2luZm8ucHJpdiA9IGdlbV9vYmo7CiAKLQogCWlmIChv YmotPm9wcy0+ZG1hYnVmX2V4cG9ydCkgewogCQlpbnQgcmV0ID0gb2JqLT5vcHMtPmRtYWJ1Zl9l eHBvcnQob2JqKTsKIAkJaWYgKHJldCkKIAkJCXJldHVybiBFUlJfUFRSKHJldCk7CiAJfQogCi0J cmV0dXJuIGRtYV9idWZfZXhwb3J0KCZleHBfaW5mbyk7CisJZG1hX2J1ZiA9IGRtYV9idWZfZXhw b3J0KCZleHBfaW5mbyk7CisJaWYgKElTX0VSUihkbWFfYnVmKSkKKwkJcmV0dXJuIGRtYV9idWY7 CisKKwlleHBvcnRfZmVuY2VzKG9iaiwgZG1hX2J1Zik7CisJcmV0dXJuIGRtYV9idWY7CiB9CiAK IHN0YXRpYyBpbnQgaTkxNV9nZW1fb2JqZWN0X2dldF9wYWdlc19kbWFidWYoc3RydWN0IGRybV9p OTE1X2dlbV9vYmplY3QgKm9iaikKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZ2VtX2V4ZWNidWZmZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2V4ZWNi dWZmZXIuYwppbmRleCAwZDI4NzAzZDk5MWEuLmUyYWJhNDBiZjMyOCAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZXhlY2J1ZmZlci5jCisrKyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZ2VtX2V4ZWNidWZmZXIuYwpAQCAtMjYsMTMgKzI2LDE3IEBACiAgKgog ICovCiAKKyNpbmNsdWRlIDxsaW51eC9kbWFfcmVtYXBwaW5nLmg+CisjaW5jbHVkZSA8bGludXgv cmVzZXJ2YXRpb24uaD4KKyNpbmNsdWRlIDxsaW51eC91YWNjZXNzLmg+CisKICNpbmNsdWRlIDxk cm0vZHJtUC5oPgogI2luY2x1ZGUgPGRybS9pOTE1X2RybS5oPgorCiAjaW5jbHVkZSAiaTkxNV9k cnYuaCIKKyNpbmNsdWRlICJpOTE1X2dlbV9kbWFidWYuaCIKICNpbmNsdWRlICJpOTE1X3RyYWNl LmgiCiAjaW5jbHVkZSAiaW50ZWxfZHJ2LmgiCi0jaW5jbHVkZSA8bGludXgvZG1hX3JlbWFwcGlu Zy5oPgotI2luY2x1ZGUgPGxpbnV4L3VhY2Nlc3MuaD4KIAogI2RlZmluZSAgX19FWEVDX09CSkVD VF9IQVNfUElOCQkoMTw8MzEpCiAjZGVmaW5lICBfX0VYRUNfT0JKRUNUX0hBU19GRU5DRQkoMTw8 MzApCkBAIC0xMTkzLDcgKzExOTcsMjkgQEAgdm9pZCBpOTE1X3ZtYV9tb3ZlX3RvX2FjdGl2ZShz dHJ1Y3QgaTkxNV92bWEgKnZtYSwKIAlsaXN0X21vdmVfdGFpbCgmdm1hLT52bV9saW5rLCAmdm1h LT52bS0+YWN0aXZlX2xpc3QpOwogfQogCi1zdGF0aWMgdm9pZAorc3RhdGljIHZvaWQgZWJfZXhw b3J0X2ZlbmNlKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmosCisJCQkgICAgc3RydWN0 IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXEsCisJCQkgICAgdW5zaWduZWQgaW50IGZsYWdzKQor eworCXN0cnVjdCByZXNlcnZhdGlvbl9vYmplY3QgKnJlc3Y7CisKKwlyZXN2ID0gaTkxNV9nZW1f b2JqZWN0X2dldF9kbWFidWZfcmVzdihvYmopOworCWlmICghcmVzdikKKwkJcmV0dXJuOworCisJ LyogSWdub3JlIGVycm9ycyBmcm9tIGZhaWxpbmcgdG8gYWxsb2NhdGUgdGhlIG5ldyBmZW5jZSwg d2UgY2FuJ3QKKwkgKiBoYW5kbGUgYW4gZXJyb3IgcmlnaHQgbm93LiBXb3JzdCBjYXNlIHNob3Vs ZCBiZSBtaXNzZWQKKwkgKiBzeW5jaHJvbmlzYXRpb24gbGVhZGluZyB0byByZW5kZXJpbmcgY29y cnVwdGlvbi4KKwkgKi8KKwltdXRleF9sb2NrKCZyZXN2LT5sb2NrLmJhc2UpOworCWlmIChmbGFn cyAmIEVYRUNfT0JKRUNUX1dSSVRFKQorCQlyZXNlcnZhdGlvbl9vYmplY3RfYWRkX2V4Y2xfZmVu Y2UocmVzdiwgJnJlcS0+ZmVuY2UpOworCWVsc2UgaWYgKHJlc2VydmF0aW9uX29iamVjdF9yZXNl cnZlX3NoYXJlZChyZXN2KSA9PSAwKQorCQlyZXNlcnZhdGlvbl9vYmplY3RfYWRkX3NoYXJlZF9m ZW5jZShyZXN2LCAmcmVxLT5mZW5jZSk7CisJbXV0ZXhfdW5sb2NrKCZyZXN2LT5sb2NrLmJhc2Up OworfQorCit2b2lkCiBpOTE1X2dlbV9leGVjYnVmZmVyX21vdmVfdG9fYWN0aXZlKHN0cnVjdCBs aXN0X2hlYWQgKnZtYXMsCiAJCQkJICAgc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXEp CiB7CkBAIC0xMjEyLDYgKzEyMzgsNyBAQCBpOTE1X2dlbV9leGVjYnVmZmVyX21vdmVfdG9fYWN0 aXZlKHN0cnVjdCBsaXN0X2hlYWQgKnZtYXMsCiAJCW9iai0+YmFzZS5yZWFkX2RvbWFpbnMgPSBv YmotPmJhc2UucGVuZGluZ19yZWFkX2RvbWFpbnM7CiAKIAkJaTkxNV92bWFfbW92ZV90b19hY3Rp dmUodm1hLCByZXEsIHZtYS0+ZXhlY19lbnRyeS0+ZmxhZ3MpOworCQllYl9leHBvcnRfZmVuY2Uo b2JqLCByZXEsIHZtYS0+ZXhlY19lbnRyeS0+ZmxhZ3MpOwogCQl0cmFjZV9pOTE1X2dlbV9vYmpl Y3RfY2hhbmdlX2RvbWFpbihvYmosIG9sZF9yZWFkLCBvbGRfd3JpdGUpOwogCX0KIH0KLS0gCjIu OC4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRl bC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6 Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK