From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville Syrjala Subject: [PATCH v4 3/8] drm/i915/selftests: Add live vma selftest Date: Thu, 24 Jan 2019 21:11:57 +0200 Message-ID: <20190124191157.28989-1-ville.syrjala@linux.intel.com> References: <20190118152720.24643-4-ville.syrjala@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by gabe.freedesktop.org (Postfix) with ESMTPS id 8909089CF3 for ; Thu, 24 Jan 2019 19:12:00 +0000 (UTC) In-Reply-To: <20190118152720.24643-4-ville.syrjala@linux.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 List-Id: intel-gfx@lists.freedesktop.org RnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KCkFk ZCBhIGxpdmUgc2VsZnRlc3QgdG8gZXhjZXJjaXNlIHJvdGF0ZWQvcmVtYXBwZWQgdm1hcy4gV2Ug c2ltcGx5CndyaXRlIHRocm91Z2ggdGhlIHJvdGF0ZWQvcmVtYXBwZWQgdm1hLCBhbmQgY29uZmly bSB0aGF0IHRoZSBkYXRhCmFwcGVhcnMgaW4gdGhlIHJpZ2h0IHBhZ2Ugd2hlbiByZWFkIHRocm91 Z2ggdGhlIG5vcm1hbCB2bWEuCgpOb3Qgc3VyZSB3aGF0IHRoZSBmYWxsb3V0IG9mIG1ha2luZyBh bGwgcm90YXRlZC9yZW1hcHBlZCB2bWFzCm1hcHBhYmxlL2ZlbmNlYWJsZSB3b3VsZCBiZSwgaGVu Y2UgSSBqdXN0IGhhY2tlZCBpdCBpbiB0aGUgdGVzdC4KCnYyOiBHcmFiIHJwbSByZWZlcmVuY2Ug KENocmlzKQogICAgR0VNX0JVR19PTih2aWV3LnR5cGUgbm90IGFzIGV4cGVjdGVkKSAoQ2hyaXMp CiAgICBBbGxvdyBDQU5fRkVOQ0UgZm9yIHJvdGF0ZWQvcmVtYXBwZWQgdm1hcyAoQ2hyaXMpCiAg ICBVcGRhdGUgaW50ZWxfcGxhbmVfdXNlc19mZW5jZSgpIHRvIGFzayBmb3IgYSBmZW5jZQogICAg b25seSBmb3Igbm9ybWFsIHZtYXMgb24gZ2VuNCsKdjM6IERlYWwgd2l0aCBpbnRlbF93YWtlcmVm X3QKdjQ6IFJlYmFzZQoKQ2M6IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVr PgpTaWduZWQtb2ZmLWJ5OiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50 ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdm1hLmMgICAgICAgICAgICAg ICB8ICAgOCAtCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgICAgICAgICAg fCAgIDQgKy0KIC4uLi9kcm0vaTkxNS9zZWxmdGVzdHMvaTkxNV9saXZlX3NlbGZ0ZXN0cy5oICB8 ICAgMSArCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaTkxNV92bWEuYyAgICAgfCAx NDIgKysrKysrKysrKysrKysrKysrCiA0IGZpbGVzIGNoYW5nZWQsIDE0NiBpbnNlcnRpb25zKCsp LCA5IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf dm1hLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3ZtYS5jCmluZGV4IDlhMDM5YzM2ZGMw Yy4uODY1MjkwNzUxNjMzIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3Zt YS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdm1hLmMKQEAgLTQ2MywxNCArNDYz LDYgQEAgdm9pZCBfX2k5MTVfdm1hX3NldF9tYXBfYW5kX2ZlbmNlYWJsZShzdHJ1Y3QgaTkxNV92 bWEgKnZtYSkKIAlHRU1fQlVHX09OKCFpOTE1X3ZtYV9pc19nZ3R0KHZtYSkpOwogCUdFTV9CVUdf T04oIXZtYS0+ZmVuY2Vfc2l6ZSk7CiAKLQkvKgotCSAqIEV4cGxpY2l0bHkgZGlzYWJsZSBmb3Ig cm90YXRlZCBWTUEgc2luY2UgdGhlIGRpc3BsYXkgZG9lcyBub3QKLQkgKiBuZWVkIHRoZSBmZW5j ZSBhbmQgdGhlIFZNQSBpcyBub3QgYWNjZXNzaWJsZSB0byBvdGhlciB1c2Vycy4KLQkgKi8KLQlp ZiAodm1hLT5nZ3R0X3ZpZXcudHlwZSA9PSBJOTE1X0dHVFRfVklFV19ST1RBVEVEIHx8Ci0JICAg IHZtYS0+Z2d0dF92aWV3LnR5cGUgPT0gSTkxNV9HR1RUX1ZJRVdfUkVNQVBQRUQpCi0JCXJldHVy bjsKLQogCWZlbmNlYWJsZSA9ICh2bWEtPm5vZGUuc2l6ZSA+PSB2bWEtPmZlbmNlX3NpemUgJiYK IAkJICAgICBJU19BTElHTkVEKHZtYS0+bm9kZS5zdGFydCwgdm1hLT5mZW5jZV9hbGlnbm1lbnQp KTsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCmluZGV4IDg0ZWZiZjg5MmM2NS4u MTdjN2VkZWU5NTg0IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNw bGF5LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCkBAIC0yMDI3 LDcgKzIwMjcsOSBAQCBzdGF0aWMgYm9vbCBpbnRlbF9wbGFuZV91c2VzX2ZlbmNlKGNvbnN0IHN0 cnVjdCBpbnRlbF9wbGFuZV9zdGF0ZSAqcGxhbmVfc3RhdGUpCiAJc3RydWN0IGludGVsX3BsYW5l ICpwbGFuZSA9IHRvX2ludGVsX3BsYW5lKHBsYW5lX3N0YXRlLT5iYXNlLnBsYW5lKTsKIAlzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KHBsYW5lLT5iYXNlLmRldik7 CiAKLQlyZXR1cm4gSU5URUxfR0VOKGRldl9wcml2KSA8IDQgfHwgcGxhbmUtPmhhc19mYmM7CisJ cmV0dXJuIElOVEVMX0dFTihkZXZfcHJpdikgPCA0IHx8CisJCShwbGFuZS0+aGFzX2ZiYyAmJgor CQkgcGxhbmVfc3RhdGUtPnZpZXcudHlwZSA9PSBJOTE1X0dHVFRfVklFV19OT1JNQUwpOwogfQog CiBzdHJ1Y3QgaTkxNV92bWEgKgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2Vs ZnRlc3RzL2k5MTVfbGl2ZV9zZWxmdGVzdHMuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0 ZXN0cy9pOTE1X2xpdmVfc2VsZnRlc3RzLmgKaW5kZXggYTE1NzEzY2FlM2IzLi4wOTVlMjVlOTJh MzYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pOTE1X2xpdmVf c2VsZnRlc3RzLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2k5MTVfbGl2 ZV9zZWxmdGVzdHMuaApAQCAtMTUsNiArMTUsNyBAQCBzZWxmdGVzdCh3b3JrYXJvdW5kcywgaW50 ZWxfd29ya2Fyb3VuZHNfbGl2ZV9zZWxmdGVzdHMpCiBzZWxmdGVzdChyZXF1ZXN0cywgaTkxNV9y ZXF1ZXN0X2xpdmVfc2VsZnRlc3RzKQogc2VsZnRlc3Qob2JqZWN0cywgaTkxNV9nZW1fb2JqZWN0 X2xpdmVfc2VsZnRlc3RzKQogc2VsZnRlc3QoZG1hYnVmLCBpOTE1X2dlbV9kbWFidWZfbGl2ZV9z ZWxmdGVzdHMpCitzZWxmdGVzdCh2bWEsIGk5MTVfdm1hX2xpdmVfc2VsZnRlc3RzKQogc2VsZnRl c3QoY29oZXJlbmN5LCBpOTE1X2dlbV9jb2hlcmVuY3lfbGl2ZV9zZWxmdGVzdHMpCiBzZWxmdGVz dChndHQsIGk5MTVfZ2VtX2d0dF9saXZlX3NlbGZ0ZXN0cykKIHNlbGZ0ZXN0KGdlbSwgaTkxNV9n ZW1fbGl2ZV9zZWxmdGVzdHMpCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxm dGVzdHMvaTkxNV92bWEuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pOTE1X3Zt YS5jCmluZGV4IDY1M2E5YjZjNTE0ZS4uZDhmYTE2OWUyNzc1IDEwMDY0NAotLS0gYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaTkxNV92bWEuYworKysgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9zZWxmdGVzdHMvaTkxNV92bWEuYwpAQCAtODI4LDMgKzgyOCwxNDUgQEAgaW50IGk5MTVf dm1hX21vY2tfc2VsZnRlc3RzKHZvaWQpCiAKIAlyZXR1cm4gZXJyOwogfQorCitzdGF0aWMgaW50 IGlndF92bWFfcmVtYXBwZWRfZ3R0KHZvaWQgKmFyZykKK3sKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqaTkxNSA9IGFyZzsKKwljb25zdCBzdHJ1Y3QgaW50ZWxfcmVtYXBwZWRfcGxhbmVfaW5m byBwbGFuZXNbXSA9IHsKKwkJeyAud2lkdGggPSAxLCAuaGVpZ2h0ID0gMSwgLnN0cmlkZSA9IDEg fSwKKwkJeyAud2lkdGggPSAyLCAuaGVpZ2h0ID0gMiwgLnN0cmlkZSA9IDIgfSwKKwkJeyAud2lk dGggPSA0LCAuaGVpZ2h0ID0gNCwgLnN0cmlkZSA9IDQgfSwKKwkJeyAud2lkdGggPSA4LCAuaGVp Z2h0ID0gOCwgLnN0cmlkZSA9IDggfSwKKworCQl7IC53aWR0aCA9IDMsIC5oZWlnaHQgPSA1LCAu c3RyaWRlID0gMyB9LAorCQl7IC53aWR0aCA9IDMsIC5oZWlnaHQgPSA1LCAuc3RyaWRlID0gNCB9 LAorCQl7IC53aWR0aCA9IDMsIC5oZWlnaHQgPSA1LCAuc3RyaWRlID0gNSB9LAorCisJCXsgLndp ZHRoID0gNSwgLmhlaWdodCA9IDMsIC5zdHJpZGUgPSA1IH0sCisJCXsgLndpZHRoID0gNSwgLmhl aWdodCA9IDMsIC5zdHJpZGUgPSA3IH0sCisJCXsgLndpZHRoID0gNSwgLmhlaWdodCA9IDMsIC5z dHJpZGUgPSA5IH0sCisKKwkJeyAud2lkdGggPSA0LCAuaGVpZ2h0ID0gNiwgLnN0cmlkZSA9IDYg fSwKKwkJeyAud2lkdGggPSA2LCAuaGVpZ2h0ID0gNCwgLnN0cmlkZSA9IDYgfSwKKwkJeyB9CisJ fSwgKnA7CisJZW51bSBpOTE1X2dndHRfdmlld190eXBlIHR5cGVzW10gPSB7CisJCUk5MTVfR0dU VF9WSUVXX1JPVEFURUQsCisJCUk5MTVfR0dUVF9WSUVXX1JFTUFQUEVELAorCQkwLAorCX0sICp0 OworCXN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmo7CisJaW50ZWxfd2FrZXJlZl90IHdh a2VyZWY7CisJaW50IGVyciA9IDA7CisKKwlvYmogPSBpOTE1X2dlbV9vYmplY3RfY3JlYXRlX2lu dGVybmFsKGk5MTUsIDEwICogMTAgKiBQQUdFX1NJWkUpOworCWlmIChJU19FUlIob2JqKSkKKwkJ cmV0dXJuIFBUUl9FUlIob2JqKTsKKworCW11dGV4X2xvY2soJmk5MTUtPmRybS5zdHJ1Y3RfbXV0 ZXgpOworCisJd2FrZXJlZiA9IGludGVsX3J1bnRpbWVfcG1fZ2V0KGk5MTUpOworCisJZm9yICh0 ID0gdHlwZXM7ICp0OyB0KyspIHsKKwkJZm9yIChwID0gcGxhbmVzOyBwLT53aWR0aDsgcCsrKSB7 CisJCQlzdHJ1Y3QgaTkxNV9nZ3R0X3ZpZXcgdmlldyA9IHsKKwkJCQkudHlwZSA9ICp0LAorCQkJ CS5yb3RhdGVkLnBsYW5lWzBdID0gKnAsCisJCQl9OworCQkJc3RydWN0IGk5MTVfdm1hICp2bWE7 CisJCQl1MzIgX19pb21lbSAqbWFwOworCQkJdW5zaWduZWQgaW50IHgsIHk7CisJCQlpbnQgZXJy OworCisJCQllcnIgPSBpOTE1X2dlbV9vYmplY3Rfc2V0X3RvX2d0dF9kb21haW4ob2JqLCB0cnVl KTsKKwkJCWlmIChlcnIpCisJCQkJZ290byBvdXQ7CisKKwkJCXZtYSA9IGk5MTVfZ2VtX29iamVj dF9nZ3R0X3BpbihvYmosICZ2aWV3LCAwLCAwLCBQSU5fTUFQUEFCTEUpOworCQkJaWYgKElTX0VS Uih2bWEpKSB7CisJCQkJZXJyID0gUFRSX0VSUih2bWEpOworCQkJCWdvdG8gb3V0OworCQkJfQor CisJCQlHRU1fQlVHX09OKHZtYS0+Z2d0dF92aWV3LnR5cGUgIT0gKnQpOworCisJCQltYXAgPSBp OTE1X3ZtYV9waW5faW9tYXAodm1hKTsKKwkJCWk5MTVfdm1hX3VucGluKHZtYSk7CisJCQlpZiAo SVNfRVJSKG1hcCkpIHsKKwkJCQllcnIgPSBQVFJfRVJSKG1hcCk7CisJCQkJZ290byBvdXQ7CisJ CQl9CisKKwkJCWZvciAoeSA9IDAgOyB5IDwgcC0+aGVpZ2h0OyB5KyspIHsKKwkJCQlmb3IgKHgg PSAwIDsgeCA8IHAtPndpZHRoOyB4KyspIHsKKwkJCQkJdW5zaWduZWQgaW50IG9mZnNldDsKKwkJ CQkJdTMyIHZhbCA9IHkgPDwgMTYgfCB4OworCisJCQkJCWlmICgqdCA9PSBJOTE1X0dHVFRfVklF V19ST1RBVEVEKQorCQkJCQkJb2Zmc2V0ID0gKHggKiBwLT5oZWlnaHQgKyB5KSAqIFBBR0VfU0la RTsKKwkJCQkJZWxzZQorCQkJCQkJb2Zmc2V0ID0gKHkgKiBwLT53aWR0aCArIHgpICogUEFHRV9T SVpFOworCisJCQkJCWlvd3JpdGUzMih2YWwsICZtYXBbb2Zmc2V0IC8gc2l6ZW9mKCptYXApXSk7 CisJCQkJfQorCQkJfQorCisJCQlpOTE1X3ZtYV91bnBpbl9pb21hcCh2bWEpOworCisJCQl2bWEg PSBpOTE1X2dlbV9vYmplY3RfZ2d0dF9waW4ob2JqLCBOVUxMLCAwLCAwLCBQSU5fTUFQUEFCTEUp OworCQkJaWYgKElTX0VSUih2bWEpKSB7CisJCQkJZXJyID0gUFRSX0VSUih2bWEpOworCQkJCWdv dG8gb3V0OworCQkJfQorCisJCQlHRU1fQlVHX09OKHZtYS0+Z2d0dF92aWV3LnR5cGUgIT0gSTkx NV9HR1RUX1ZJRVdfTk9STUFMKTsKKworCQkJbWFwID0gaTkxNV92bWFfcGluX2lvbWFwKHZtYSk7 CisJCQlpOTE1X3ZtYV91bnBpbih2bWEpOworCQkJaWYgKElTX0VSUihtYXApKSB7CisJCQkJZXJy ID0gUFRSX0VSUihtYXApOworCQkJCWdvdG8gb3V0OworCQkJfQorCisJCQlmb3IgKHkgPSAwIDsg eSA8IHAtPmhlaWdodDsgeSsrKSB7CisJCQkJZm9yICh4ID0gMCA7IHggPCBwLT53aWR0aDsgeCsr KSB7CisJCQkJCXVuc2lnbmVkIGludCBvZmZzZXQsIHNyY19pZHg7CisJCQkJCXUzMiBleHAgPSB5 IDw8IDE2IHwgeDsKKwkJCQkJdTMyIHZhbDsKKworCQkJCQlpZiAoKnQgPT0gSTkxNV9HR1RUX1ZJ RVdfUk9UQVRFRCkKKwkJCQkJCXNyY19pZHggPSByb3RhdGVkX2luZGV4KCZ2aWV3LnJvdGF0ZWQs IDAsIHgsIHkpOworCQkJCQllbHNlCisJCQkJCQlzcmNfaWR4ID0gcmVtYXBwZWRfaW5kZXgoJnZp ZXcucmVtYXBwZWQsIDAsIHgsIHkpOworCQkJCQlvZmZzZXQgPSBzcmNfaWR4ICogUEFHRV9TSVpF OworCisJCQkJCXZhbCA9IGlvcmVhZDMyKCZtYXBbb2Zmc2V0IC8gc2l6ZW9mKCptYXApXSk7CisJ CQkJCWlmICh2YWwgIT0gZXhwKSB7CisJCQkJCQlwcl9lcnIoIiVzIFZNQSB3cml0ZSB0ZXN0IGZh aWxlZCwgZXhwZWN0ZWQgMHgleCwgZm91bmQgMHgleFxuIiwKKwkJCQkJCSAgICAgICAqdCA9PSBJ OTE1X0dHVFRfVklFV19ST1RBVEVEID8gIlJvdGF0ZWQiIDogIlJlbWFwcGVkIiwKKwkJCQkJCSAg ICAgICB2YWwsIGV4cCk7CisJCQkJCQlpOTE1X3ZtYV91bnBpbl9pb21hcCh2bWEpOworCQkJCQkJ Z290byBvdXQ7CisJCQkJCX0KKwkJCQl9CisJCQl9CisJCQlpOTE1X3ZtYV91bnBpbl9pb21hcCh2 bWEpOworCQl9CisJfQorCitvdXQ6CisJaW50ZWxfcnVudGltZV9wbV9wdXQoaTkxNSwgd2FrZXJl Zik7CisJbXV0ZXhfdW5sb2NrKCZpOTE1LT5kcm0uc3RydWN0X211dGV4KTsKKwlpOTE1X2dlbV9v YmplY3RfcHV0KG9iaik7CisKKwlyZXR1cm4gZXJyOworfQorCitpbnQgaTkxNV92bWFfbGl2ZV9z ZWxmdGVzdHMoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUpCit7CisJc3RhdGljIGNvbnN0 IHN0cnVjdCBpOTE1X3N1YnRlc3QgdGVzdHNbXSA9IHsKKwkJU1VCVEVTVChpZ3Rfdm1hX3JlbWFw cGVkX2d0dCksCisJfTsKKworCXJldHVybiBpOTE1X3N1YnRlc3RzKHRlc3RzLCBpOTE1KTsKK30K LS0gCjIuMTkuMgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3Jn Cmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4 Cg==