From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [PATCH 04/15] drm/i915: Use vma->exec_entry as our double-entry placeholder Date: Thu, 16 Mar 2017 13:19:55 +0000 Message-ID: <20170316132006.7976-5-chris@chris-wilson.co.uk> References: <20170316132006.7976-1-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-wr0-x242.google.com (mail-wr0-x242.google.com [IPv6:2a00:1450:400c:c0c::242]) by gabe.freedesktop.org (Postfix) with ESMTPS id E08696EAD8 for ; Thu, 16 Mar 2017 13:20:16 +0000 (UTC) Received: by mail-wr0-x242.google.com with SMTP id u48so5914129wrc.1 for ; Thu, 16 Mar 2017 06:20:16 -0700 (PDT) In-Reply-To: <20170316132006.7976-1-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 VGhpcyBoYXMgdGhlIGJlbmVmaXQgb2Ygbm90IHJlcXVpcmluZyB1cyB0byBtYW5pcHVsYXRlIHRo ZQp2bWEtPmV4ZWNfbGluayBsaXN0IHdoZW4gdGVhcmluZyBkb3duIHRoZSBleGVjYnVmZmVyLCBh bmQgaXMgYQptYXJnaW5hbGx5IGNoZWFwZXIgdGVzdCB0byBkZXRlY3QgdGhlIHVzZXIgZXJyb3Iu CgpTaWduZWQtb2ZmLWJ5OiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51az4K LS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ldmljdC5jICAgICAgfCAxNyArKy0t LS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9leGVjYnVmZmVyLmMgfCA3NyArKysr KysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdm1h LmMgICAgICAgICAgICB8ICAxIC0KIDMgZmlsZXMgY2hhbmdlZCwgNDQgaW5zZXJ0aW9ucygrKSwg NTEgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9n ZW1fZXZpY3QuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2V2aWN0LmMKaW5kZXgg MmRhM2E5NGZjOWYzLi5lZDM0ZjU0YmFlZjkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZ2VtX2V2aWN0LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1f ZXZpY3QuYwpAQCAtNTksOSArNTksNiBAQCBtYXJrX2ZyZWUoc3RydWN0IGRybV9tbV9zY2FuICpz Y2FuLAogCWlmIChpOTE1X3ZtYV9pc19waW5uZWQodm1hKSkKIAkJcmV0dXJuIGZhbHNlOwogCi0J aWYgKFdBUk5fT04oIWxpc3RfZW1wdHkoJnZtYS0+ZXhlY19saXN0KSkpCi0JCXJldHVybiBmYWxz ZTsKLQogCWlmIChmbGFncyAmIFBJTl9OT05GQVVMVCAmJiAhbGlzdF9lbXB0eSgmdm1hLT5vYmot PnVzZXJmYXVsdF9saW5rKSkKIAkJcmV0dXJuIGZhbHNlOwogCkBAIC0xNjAsOCArMTU3LDYgQEAg aTkxNV9nZW1fZXZpY3Rfc29tZXRoaW5nKHN0cnVjdCBpOTE1X2FkZHJlc3Nfc3BhY2UgKnZtLAog CWxpc3RfZm9yX2VhY2hfZW50cnlfc2FmZSh2bWEsIG5leHQsICZldmljdGlvbl9saXN0LCBleGVj X2xpc3QpIHsKIAkJcmV0ID0gZHJtX21tX3NjYW5fcmVtb3ZlX2Jsb2NrKCZzY2FuLCAmdm1hLT5u b2RlKTsKIAkJQlVHX09OKHJldCk7Ci0KLQkJSU5JVF9MSVNUX0hFQUQoJnZtYS0+ZXhlY19saXN0 KTsKIAl9CiAKIAkvKiBDYW4gd2UgdW5waW4gc29tZSBvYmplY3RzIHN1Y2ggYXMgaWRsZSBodyBj b250ZW50cywKQEAgLTIxMCwxNyArMjA1LDEyIEBAIGk5MTVfZ2VtX2V2aWN0X3NvbWV0aGluZyhz dHJ1Y3QgaTkxNV9hZGRyZXNzX3NwYWNlICp2bSwKIAkJaWYgKGRybV9tbV9zY2FuX3JlbW92ZV9i bG9jaygmc2NhbiwgJnZtYS0+bm9kZSkpCiAJCQlfX2k5MTVfdm1hX3Bpbih2bWEpOwogCQllbHNl Ci0JCQlsaXN0X2RlbF9pbml0KCZ2bWEtPmV4ZWNfbGlzdCk7CisJCQlsaXN0X2RlbCgmdm1hLT5l eGVjX2xpc3QpOwogCX0KIAogCS8qIFVuYmluZGluZyB3aWxsIGVtaXQgYW55IHJlcXVpcmVkIGZs dXNoZXMgKi8KIAlyZXQgPSAwOwotCXdoaWxlICghbGlzdF9lbXB0eSgmZXZpY3Rpb25fbGlzdCkp IHsKLQkJdm1hID0gbGlzdF9maXJzdF9lbnRyeSgmZXZpY3Rpb25fbGlzdCwKLQkJCQkgICAgICAg c3RydWN0IGk5MTVfdm1hLAotCQkJCSAgICAgICBleGVjX2xpc3QpOwotCi0JCWxpc3RfZGVsX2lu aXQoJnZtYS0+ZXhlY19saXN0KTsKKwlsaXN0X2Zvcl9lYWNoX2VudHJ5X3NhZmUodm1hLCBuZXh0 LCAmZXZpY3Rpb25fbGlzdCwgZXhlY19saXN0KSB7CiAJCV9faTkxNV92bWFfdW5waW4odm1hKTsK IAkJaWYgKHJldCA9PSAwKQogCQkJcmV0ID0gaTkxNV92bWFfdW5iaW5kKHZtYSk7CkBAIC0zMTYs NyArMzA2LDcgQEAgaW50IGk5MTVfZ2VtX2V2aWN0X2Zvcl9ub2RlKHN0cnVjdCBpOTE1X2FkZHJl c3Nfc3BhY2UgKnZtLAogCQl9CiAKIAkJLyogT3ZlcmxhcCBvZiBvYmplY3RzIGluIHRoZSBzYW1l IGJhdGNoPyAqLwotCQlpZiAoaTkxNV92bWFfaXNfcGlubmVkKHZtYSkgfHwgIWxpc3RfZW1wdHko JnZtYS0+ZXhlY19saXN0KSkgeworCQlpZiAoaTkxNV92bWFfaXNfcGlubmVkKHZtYSkpIHsKIAkJ CXJldCA9IC1FTk9TUEM7CiAJCQlpZiAodm1hLT5leGVjX2VudHJ5ICYmCiAJCQkgICAgdm1hLT5l eGVjX2VudHJ5LT5mbGFncyAmIEVYRUNfT0JKRUNUX1BJTk5FRCkKQEAgLTMzNyw3ICszMjcsNiBA QCBpbnQgaTkxNV9nZW1fZXZpY3RfZm9yX25vZGUoc3RydWN0IGk5MTVfYWRkcmVzc19zcGFjZSAq dm0sCiAJfQogCiAJbGlzdF9mb3JfZWFjaF9lbnRyeV9zYWZlKHZtYSwgbmV4dCwgJmV2aWN0aW9u X2xpc3QsIGV4ZWNfbGlzdCkgewotCQlsaXN0X2RlbF9pbml0KCZ2bWEtPmV4ZWNfbGlzdCk7CiAJ CV9faTkxNV92bWFfdW5waW4odm1hKTsKIAkJaWYgKHJldCA9PSAwKQogCQkJcmV0ID0gaTkxNV92 bWFfdW5iaW5kKHZtYSk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dl bV9leGVjYnVmZmVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9leGVjYnVmZmVy LmMKaW5kZXggMDVlNTc5YzVjZjQ2Li5jYzYyNGUyZDc5NGQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZ2VtX2V4ZWNidWZmZXIuYworKysgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2dlbV9leGVjYnVmZmVyLmMKQEAgLTEwOSwxMyArMTA5LDQwIEBAIGViX2NyZWF0 ZShzdHJ1Y3QgaTkxNV9leGVjYnVmZmVyICplYikKIAkJZWItPmFuZCA9IC1lYi0+YXJncy0+YnVm ZmVyX2NvdW50OwogCX0KIAotCUlOSVRfTElTVF9IRUFEKCZlYi0+dm1hcyk7CiAJcmV0dXJuIDA7 CiB9CiAKK3N0YXRpYyBpbmxpbmUgdm9pZAorX19lYl91bnJlc2VydmVfdm1hKHN0cnVjdCBpOTE1 X3ZtYSAqdm1hLAorCQkgICBjb25zdCBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX2V4ZWNfb2JqZWN0MiAq ZW50cnkpCit7CisJaWYgKHVubGlrZWx5KGVudHJ5LT5mbGFncyAmIF9fRVhFQ19PQkpFQ1RfSEFT X0ZFTkNFKSkKKwkJaTkxNV92bWFfdW5waW5fZmVuY2Uodm1hKTsKKworCWlmIChlbnRyeS0+Zmxh Z3MgJiBfX0VYRUNfT0JKRUNUX0hBU19QSU4pCisJCV9faTkxNV92bWFfdW5waW4odm1hKTsKK30K Kworc3RhdGljIHZvaWQKK2ViX3VucmVzZXJ2ZV92bWEoc3RydWN0IGk5MTVfdm1hICp2bWEpCit7 CisJc3RydWN0IGRybV9pOTE1X2dlbV9leGVjX29iamVjdDIgKmVudHJ5ID0gdm1hLT5leGVjX2Vu dHJ5OworCisJX19lYl91bnJlc2VydmVfdm1hKHZtYSwgZW50cnkpOworCWVudHJ5LT5mbGFncyAm PSB+KF9fRVhFQ19PQkpFQ1RfSEFTX0ZFTkNFIHwgX19FWEVDX09CSkVDVF9IQVNfUElOKTsKK30K Kwogc3RhdGljIHZvaWQKIGViX3Jlc2V0KHN0cnVjdCBpOTE1X2V4ZWNidWZmZXIgKmViKQogewor CXN0cnVjdCBpOTE1X3ZtYSAqdm1hOworCisJbGlzdF9mb3JfZWFjaF9lbnRyeSh2bWEsICZlYi0+ dm1hcywgZXhlY19saXN0KSB7CisJCWViX3VucmVzZXJ2ZV92bWEodm1hKTsKKwkJaTkxNV92bWFf cHV0KHZtYSk7CisJCXZtYS0+ZXhlY19lbnRyeSA9IE5VTEw7CisJfQorCiAJaWYgKGViLT5hbmQg Pj0gMCkKIAkJbWVtc2V0KGViLT5idWNrZXRzLCAwLCAoZWItPmFuZCsxKSpzaXplb2Yoc3RydWN0 IGhsaXN0X2hlYWQpKTsKIH0KQEAgLTE0Nyw2ICsxNzQsOCBAQCBlYl9sb29rdXBfdm1hcyhzdHJ1 Y3QgaTkxNV9leGVjYnVmZmVyICplYikKIAlzdHJ1Y3QgbGlzdF9oZWFkIG9iamVjdHM7CiAJaW50 IGksIHJldDsKIAorCUlOSVRfTElTVF9IRUFEKCZlYi0+dm1hcyk7CisKIAlJTklUX0xJU1RfSEVB RCgmb2JqZWN0cyk7CiAJc3Bpbl9sb2NrKCZlYi0+ZmlsZS0+dGFibGVfbG9jayk7CiAJLyogR3Jh YiBhIHJlZmVyZW5jZSB0byB0aGUgb2JqZWN0IGFuZCByZWxlYXNlIHRoZSBsb2NrIHNvIHdlIGNh biBsb29rdXAKQEAgLTI1Myw0MCArMjgyLDIzIEBAIHN0YXRpYyBzdHJ1Y3QgaTkxNV92bWEgKmVi X2dldF92bWEoc3RydWN0IGk5MTVfZXhlY2J1ZmZlciAqZWIsIHVuc2lnbmVkIGxvbmcgaGFuCiAJ fQogfQogCi1zdGF0aWMgdm9pZAotZWJfdW5yZXNlcnZlX3ZtYShzdHJ1Y3QgaTkxNV92bWEgKnZt YSkKLXsKLQlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX2V4ZWNfb2JqZWN0MiAqZW50cnk7Ci0KLQlpZiAo IWRybV9tbV9ub2RlX2FsbG9jYXRlZCgmdm1hLT5ub2RlKSkKLQkJcmV0dXJuOwotCi0JZW50cnkg PSB2bWEtPmV4ZWNfZW50cnk7Ci0KLQlpZiAoZW50cnktPmZsYWdzICYgX19FWEVDX09CSkVDVF9I QVNfRkVOQ0UpCi0JCWk5MTVfdm1hX3VucGluX2ZlbmNlKHZtYSk7Ci0KLQlpZiAoZW50cnktPmZs YWdzICYgX19FWEVDX09CSkVDVF9IQVNfUElOKQotCQlfX2k5MTVfdm1hX3VucGluKHZtYSk7Ci0K LQllbnRyeS0+ZmxhZ3MgJj0gfihfX0VYRUNfT0JKRUNUX0hBU19GRU5DRSB8IF9fRVhFQ19PQkpF Q1RfSEFTX1BJTik7Ci19Ci0KIHN0YXRpYyB2b2lkIGViX2Rlc3Ryb3koc3RydWN0IGk5MTVfZXhl Y2J1ZmZlciAqZWIpCiB7Ci0JaTkxNV9nZW1fY29udGV4dF9wdXQoZWItPmN0eCk7CisJc3RydWN0 IGk5MTVfdm1hICp2bWE7CiAKLQl3aGlsZSAoIWxpc3RfZW1wdHkoJmViLT52bWFzKSkgewotCQlz dHJ1Y3QgaTkxNV92bWEgKnZtYTsKKwlsaXN0X2Zvcl9lYWNoX2VudHJ5KHZtYSwgJmViLT52bWFz LCBleGVjX2xpc3QpIHsKKwkJaWYgKCF2bWEtPmV4ZWNfZW50cnkpCisJCQljb250aW51ZTsKIAot CQl2bWEgPSBsaXN0X2ZpcnN0X2VudHJ5KCZlYi0+dm1hcywKLQkJCQkgICAgICAgc3RydWN0IGk5 MTVfdm1hLAotCQkJCSAgICAgICBleGVjX2xpc3QpOwotCQlsaXN0X2RlbF9pbml0KCZ2bWEtPmV4 ZWNfbGlzdCk7Ci0JCWViX3VucmVzZXJ2ZV92bWEodm1hKTsKKwkJX19lYl91bnJlc2VydmVfdm1h KHZtYSwgdm1hLT5leGVjX2VudHJ5KTsKIAkJdm1hLT5leGVjX2VudHJ5ID0gTlVMTDsKIAkJaTkx NV92bWFfcHV0KHZtYSk7CiAJfQorCisJaTkxNV9nZW1fY29udGV4dF9wdXQoZWItPmN0eCk7CisK KwlpZiAoZWItPmJ1Y2tldHMpCisJCWtmcmVlKGViLT5idWNrZXRzKTsKIH0KIAogc3RhdGljIGlu bGluZSBpbnQgdXNlX2NwdV9yZWxvYyhzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqKQpA QCAtOTg0LDEzICs5OTYsNyBAQCBlYl9yZWxvY2F0ZV9zbG93KHN0cnVjdCBpOTE1X2V4ZWNidWZm ZXIgKmViKQogCWludCBpLCB0b3RhbCwgcmV0OwogCiAJLyogV2UgbWF5IHByb2Nlc3MgYW5vdGhl ciBleGVjYnVmZmVyIGR1cmluZyB0aGUgdW5sb2NrLi4uICovCi0Jd2hpbGUgKCFsaXN0X2VtcHR5 KCZlYi0+dm1hcykpIHsKLQkJdm1hID0gbGlzdF9maXJzdF9lbnRyeSgmZWItPnZtYXMsIHN0cnVj dCBpOTE1X3ZtYSwgZXhlY19saXN0KTsKLQkJbGlzdF9kZWxfaW5pdCgmdm1hLT5leGVjX2xpc3Qp OwotCQllYl91bnJlc2VydmVfdm1hKHZtYSk7Ci0JCWk5MTVfdm1hX3B1dCh2bWEpOwotCX0KLQor CWViX3Jlc2V0KGViKTsKIAltdXRleF91bmxvY2soJmRldi0+c3RydWN0X211dGV4KTsKIAogCXRv dGFsID0gMDsKQEAgLTEwNTEsNyArMTA1Nyw2IEBAIGViX3JlbG9jYXRlX3Nsb3coc3RydWN0IGk5 MTVfZXhlY2J1ZmZlciAqZWIpCiAJfQogCiAJLyogcmVhY3F1aXJlIHRoZSBvYmplY3RzICovCi0J ZWJfcmVzZXQoZWIpOwogCXJldCA9IGViX2xvb2t1cF92bWFzKGViKTsKIAlpZiAocmV0KQogCQln b3RvIGVycjsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdm1hLmMgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3ZtYS5jCmluZGV4IDFhYmE0NzAyNDY1Ni4uNmNmMzJk YTY4MmVjIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3ZtYS5jCisrKyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdm1hLmMKQEAgLTg1LDcgKzg1LDYgQEAgdm1hX2Ny ZWF0ZShzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqLAogCWlmICh2bWEgPT0gTlVMTCkK IAkJcmV0dXJuIEVSUl9QVFIoLUVOT01FTSk7CiAKLQlJTklUX0xJU1RfSEVBRCgmdm1hLT5leGVj X2xpc3QpOwogCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKHZtYS0+bGFzdF9yZWFkKTsgaSsr KQogCQlpbml0X3JlcXVlc3RfYWN0aXZlKCZ2bWEtPmxhc3RfcmVhZFtpXSwgaTkxNV92bWFfcmV0 aXJlKTsKIAlpbml0X3JlcXVlc3RfYWN0aXZlKCZ2bWEtPmxhc3RfZmVuY2UsIE5VTEwpOwotLSAK Mi4xMS4wCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJ bnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0 cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK