From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville Syrjala Subject: [PATCH v4 2/8] drm/i915/selftests: Add mock selftest for remapped vmas Date: Thu, 24 Jan 2019 20:58:02 +0200 Message-ID: <20190124185802.15527-1-ville.syrjala@linux.intel.com> References: <20190118152720.24643-3-ville.syrjala@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by gabe.freedesktop.org (Postfix) with ESMTPS id C86186E379 for ; Thu, 24 Jan 2019 18:58:05 +0000 (UTC) In-Reply-To: <20190118152720.24643-3-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 RnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KCkV4 dGVuZCB0aGUgcm90YXRlZCB2bWEgbW9jayBzZWxmdGVzdCB0byBjb3ZlciByZW1hcHBlZCB2bWFz IGFzCndlbGwuCgpUT0RPOiByZWluZGVudCB0aGUgbG9vcHMgSSBndWVzcz8gTGVmdCBsaWtlIHRo aXMgZm9yIG5vdyB0bwplYXNlIHJldmlldwoKdjI6IEluY2x1ZGUgdGhlIHZtYSB0eXBlIGluIHRo ZSBlcnJvciBtZXNzYWdlIChDaHJpcykKdjM6IERlYWwgd2l0aCB0cmltbWVkIHNnCnY0OiBEcm9w IGxlZnRvdmVyIGRlYnVncwoKQ2M6IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNv LnVrPgpTaWduZWQtb2ZmLWJ5OiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXgu aW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pOTE1X3ZtYS5j IHwgOTggKysrKysrKysrKysrKysrKysrKysrLS0KIDEgZmlsZSBjaGFuZ2VkLCA5MCBpbnNlcnRp b25zKCspLCA4IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L3NlbGZ0ZXN0cy9pOTE1X3ZtYS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2k5 MTVfdm1hLmMKaW5kZXggMDZiYmVkNzkyMGI5Li42NTNhOWI2YzUxNGUgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pOTE1X3ZtYS5jCisrKyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L3NlbGZ0ZXN0cy9pOTE1X3ZtYS5jCkBAIC01OSw3ICs1OSw3IEBAIHN0YXRpYyBi b29sIGFzc2VydF92bWEoc3RydWN0IGk5MTVfdm1hICp2bWEsCiBzdGF0aWMgc3RydWN0IGk5MTVf dm1hICoKIGNoZWNrZWRfdm1hX2luc3RhbmNlKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpv YmosCiAJCSAgICAgc3RydWN0IGk5MTVfYWRkcmVzc19zcGFjZSAqdm0sCi0JCSAgICAgc3RydWN0 IGk5MTVfZ2d0dF92aWV3ICp2aWV3KQorCQkgICAgIGNvbnN0IHN0cnVjdCBpOTE1X2dndHRfdmll dyAqdmlldykKIHsKIAlzdHJ1Y3QgaTkxNV92bWEgKnZtYTsKIAlib29sIG9rID0gdHJ1ZTsKQEAg LTM5NywxMyArMzk3LDc0IEBAIGFzc2VydF9yb3RhdGVkKHN0cnVjdCBkcm1faTkxNV9nZW1fb2Jq ZWN0ICpvYmosCiAJcmV0dXJuIHNnOwogfQogCitzdGF0aWMgdW5zaWduZWQgbG9uZyByZW1hcHBl ZF9pbmRleChjb25zdCBzdHJ1Y3QgaW50ZWxfcmVtYXBwZWRfaW5mbyAqciwKKwkJCQkgICAgdW5z aWduZWQgaW50IG4sCisJCQkJICAgIHVuc2lnbmVkIGludCB4LAorCQkJCSAgICB1bnNpZ25lZCBp bnQgeSkKK3sKKwlyZXR1cm4gKHItPnBsYW5lW25dLnN0cmlkZSAqIHkgKworCQlyLT5wbGFuZVtu XS5vZmZzZXQgKyB4KTsKK30KKworc3RhdGljIHN0cnVjdCBzY2F0dGVybGlzdCAqCithc3NlcnRf cmVtYXBwZWQoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiwKKwkJY29uc3Qgc3RydWN0 IGludGVsX3JlbWFwcGVkX2luZm8gKnIsIHVuc2lnbmVkIGludCBuLAorCQlzdHJ1Y3Qgc2NhdHRl cmxpc3QgKnNnKQoreworCXVuc2lnbmVkIGludCB4LCB5OworCXVuc2lnbmVkIGludCBsZWZ0ID0g MDsKKwl1bnNpZ25lZCBpbnQgb2Zmc2V0OworCisJZm9yICh5ID0gMDsgeSA8IHItPnBsYW5lW25d LmhlaWdodDsgeSsrKSB7CisJCWZvciAoeCA9IDA7IHggPCByLT5wbGFuZVtuXS53aWR0aDsgeCsr KSB7CisJCQl1bnNpZ25lZCBsb25nIHNyY19pZHg7CisJCQlkbWFfYWRkcl90IHNyYzsKKworCQkJ aWYgKCFzZykgeworCQkJCXByX2VycigiSW52YWxpZCBzZyB0YWJsZTogdG9vIHNob3J0IGF0IHBs YW5lICVkLCAoJWQsICVkKSFcbiIsCisJCQkJICAgICAgIG4sIHgsIHkpOworCQkJCXJldHVybiBF UlJfUFRSKC1FSU5WQUwpOworCQkJfQorCQkJaWYgKCFsZWZ0KSB7CisJCQkJb2Zmc2V0ID0gMDsK KwkJCQlsZWZ0ID0gc2dfZG1hX2xlbihzZyk7CisJCQl9CisKKwkJCXNyY19pZHggPSByZW1hcHBl ZF9pbmRleChyLCBuLCB4LCB5KTsKKwkJCXNyYyA9IGk5MTVfZ2VtX29iamVjdF9nZXRfZG1hX2Fk ZHJlc3Mob2JqLCBzcmNfaWR4KTsKKworCQkJaWYgKGxlZnQgPCBQQUdFX1NJWkUgfHwgbGVmdCAm IChQQUdFX1NJWkUtMSkpIHsKKwkJCQlwcl9lcnIoIkludmFsaWQgc2cubGVuZ3RoLCBmb3VuZCAl ZCwgZXhwZWN0ZWQgJWx1IGZvciByZW1hcHBlZCBwYWdlICglZCwgJWQpIFtzcmMgaW5kZXggJWx1 XVxuIiwKKwkJCQkgICAgICAgc2dfZG1hX2xlbihzZyksIFBBR0VfU0laRSwKKwkJCQkgICAgICAg eCwgeSwgc3JjX2lkeCk7CisJCQkJcmV0dXJuIEVSUl9QVFIoLUVJTlZBTCk7CisJCQl9CisKKwkJ CWlmIChzZ19kbWFfYWRkcmVzcyhzZykgKyBvZmZzZXQgIT0gc3JjKSB7CisJCQkJcHJfZXJyKCJJ bnZhbGlkIGFkZHJlc3MgZm9yIHJlbWFwcGVkIHBhZ2UgKCVkLCAlZCkgW3NyYyBpbmRleCAlbHVd XG4iLAorCQkJCSAgICAgICB4LCB5LCBzcmNfaWR4KTsKKwkJCQlyZXR1cm4gRVJSX1BUUigtRUlO VkFMKTsKKwkJCX0KKworCQkJbGVmdCAtPSBQQUdFX1NJWkU7CisJCQlvZmZzZXQgKz0gUEFHRV9T SVpFOworCisKKwkJCWlmICghbGVmdCkKKwkJCQlzZyA9IHNnX25leHQoc2cpOworCQl9CisJfQor CisJcmV0dXJuIHNnOworfQorCiBzdGF0aWMgdW5zaWduZWQgaW50IHJvdGF0ZWRfc2l6ZShjb25z dCBzdHJ1Y3QgaW50ZWxfcmVtYXBwZWRfcGxhbmVfaW5mbyAqYSwKIAkJCQkgY29uc3Qgc3RydWN0 IGludGVsX3JlbWFwcGVkX3BsYW5lX2luZm8gKmIpCiB7CiAJcmV0dXJuIGEtPndpZHRoICogYS0+ aGVpZ2h0ICsgYi0+d2lkdGggKiBiLT5oZWlnaHQ7CiB9CiAKLXN0YXRpYyBpbnQgaWd0X3ZtYV9y b3RhdGUodm9pZCAqYXJnKQorc3RhdGljIGludCBpZ3Rfdm1hX3JvdGF0ZV9yZW1hcCh2b2lkICph cmcpCiB7CiAJc3RydWN0IGk5MTVfZ2d0dCAqZ2d0dCA9IGFyZzsKIAlzdHJ1Y3QgaTkxNV9hZGRy ZXNzX3NwYWNlICp2bSA9ICZnZ3R0LT52bTsKQEAgLTQyNiw2ICs0ODcsMTEgQEAgc3RhdGljIGlu dCBpZ3Rfdm1hX3JvdGF0ZSh2b2lkICphcmcpCiAJCXsgLndpZHRoID0gNiwgLmhlaWdodCA9IDQs IC5zdHJpZGUgPSA2IH0sCiAJCXsgfQogCX0sICphLCAqYjsKKwllbnVtIGk5MTVfZ2d0dF92aWV3 X3R5cGUgdHlwZXNbXSA9IHsKKwkJSTkxNV9HR1RUX1ZJRVdfUk9UQVRFRCwKKwkJSTkxNV9HR1RU X1ZJRVdfUkVNQVBQRUQsCisJCTAsCisJfSwgKnQ7CiAJY29uc3QgdW5zaWduZWQgaW50IG1heF9w YWdlcyA9IDY0OwogCWludCBlcnIgPSAtRU5PTUVNOwogCkBAIC00MzcsNiArNTAzLDcgQEAgc3Rh dGljIGludCBpZ3Rfdm1hX3JvdGF0ZSh2b2lkICphcmcpCiAJaWYgKElTX0VSUihvYmopKQogCQln b3RvIG91dDsKIAorCWZvciAodCA9IHR5cGVzOyAqdDsgdCsrKSB7CiAJZm9yIChhID0gcGxhbmVz OyBhLT53aWR0aDsgYSsrKSB7CiAJCWZvciAoYiA9IHBsYW5lcyArIEFSUkFZX1NJWkUocGxhbmVz KTsgYi0tICE9IHBsYW5lczsgKSB7CiAJCQlzdHJ1Y3QgaTkxNV9nZ3R0X3ZpZXcgdmlldzsKQEAg LTQ0Nyw3ICs1MTQsNyBAQCBzdGF0aWMgaW50IGlndF92bWFfcm90YXRlKHZvaWQgKmFyZykKIAkJ CUdFTV9CVUdfT04obWF4X29mZnNldCA+IG1heF9wYWdlcyk7CiAJCQltYXhfb2Zmc2V0ID0gbWF4 X3BhZ2VzIC0gbWF4X29mZnNldDsKIAotCQkJdmlldy50eXBlID0gSTkxNV9HR1RUX1ZJRVdfUk9U QVRFRDsKKwkJCXZpZXcudHlwZSA9ICp0OwogCQkJdmlldy5yb3RhdGVkLnBsYW5lWzBdID0gKmE7 CiAJCQl2aWV3LnJvdGF0ZWQucGxhbmVbMV0gPSAqYjsKIApAQCAtNDY4LDE0ICs1MzUsMjMgQEAg c3RhdGljIGludCBpZ3Rfdm1hX3JvdGF0ZSh2b2lkICphcmcpCiAJCQkJCQlnb3RvIG91dF9vYmpl Y3Q7CiAJCQkJCX0KIAotCQkJCQlpZiAodm1hLT5zaXplICE9IHJvdGF0ZWRfc2l6ZShhLCBiKSAq IFBBR0VfU0laRSkgeworCQkJCQlpZiAodmlldy50eXBlID09IEk5MTVfR0dUVF9WSUVXX1JPVEFU RUQgJiYKKwkJCQkJICAgIHZtYS0+c2l6ZSAhPSByb3RhdGVkX3NpemUoYSwgYikgKiBQQUdFX1NJ WkUpIHsKIAkJCQkJCXByX2VycigiVk1BIGlzIHdyb25nIHNpemUsIGV4cGVjdGVkICVsdSwgZm91 bmQgJWxsdVxuIiwKIAkJCQkJCSAgICAgICBQQUdFX1NJWkUgKiByb3RhdGVkX3NpemUoYSwgYiks IHZtYS0+c2l6ZSk7CiAJCQkJCQllcnIgPSAtRUlOVkFMOwogCQkJCQkJZ290byBvdXRfb2JqZWN0 OwogCQkJCQl9CiAKLQkJCQkJaWYgKHZtYS0+cGFnZXMtPm5lbnRzICE9IHJvdGF0ZWRfc2l6ZShh LCBiKSkgeworCQkJCQlpZiAodmlldy50eXBlID09IEk5MTVfR0dUVF9WSUVXX1JFTUFQUEVEICYm CisJCQkJCSAgICB2bWEtPnNpemUgPiByb3RhdGVkX3NpemUoYSwgYikgKiBQQUdFX1NJWkUpIHsK KwkJCQkJCXByX2VycigiVk1BIGlzIHdyb25nIHNpemUsIGV4cGVjdGVkICVsdSwgZm91bmQgJWxs dVxuIiwKKwkJCQkJCSAgICAgICBQQUdFX1NJWkUgKiByb3RhdGVkX3NpemUoYSwgYiksIHZtYS0+ c2l6ZSk7CisJCQkJCQllcnIgPSAtRUlOVkFMOworCQkJCQkJZ290byBvdXRfb2JqZWN0OworCQkJ CQl9CisKKwkJCQkJaWYgKHZtYS0+cGFnZXMtPm5lbnRzID4gcm90YXRlZF9zaXplKGEsIGIpKSB7 CiAJCQkJCQlwcl9lcnIoInNnIHRhYmxlIGlzIHdyb25nIHNpemVvLCBleHBlY3RlZCAldSwgZm91 bmQgJXUgbmVudHNcbiIsCiAJCQkJCQkgICAgICAgcm90YXRlZF9zaXplKGEsIGIpLCB2bWEtPnBh Z2VzLT5uZW50cyk7CiAJCQkJCQllcnIgPSAtRUlOVkFMOwpAQCAtNDk3LDkgKzU3MywxNCBAQCBz dGF0aWMgaW50IGlndF92bWFfcm90YXRlKHZvaWQgKmFyZykKIAogCQkJCQlzZyA9IHZtYS0+cGFn ZXMtPnNnbDsKIAkJCQkJZm9yIChuID0gMDsgbiA8IEFSUkFZX1NJWkUodmlldy5yb3RhdGVkLnBs YW5lKTsgbisrKSB7Ci0JCQkJCQlzZyA9IGFzc2VydF9yb3RhdGVkKG9iaiwgJnZpZXcucm90YXRl ZCwgbiwgc2cpOworCQkJCQkJaWYgKHZpZXcudHlwZSA9PSBJOTE1X0dHVFRfVklFV19ST1RBVEVE KQorCQkJCQkJCXNnID0gYXNzZXJ0X3JvdGF0ZWQob2JqLCAmdmlldy5yb3RhdGVkLCBuLCBzZyk7 CisJCQkJCQllbHNlCisJCQkJCQkJc2cgPSBhc3NlcnRfcmVtYXBwZWQob2JqLCAmdmlldy5yZW1h cHBlZCwgbiwgc2cpOwogCQkJCQkJaWYgKElTX0VSUihzZykpIHsKLQkJCQkJCQlwcl9lcnIoIklu Y29uc2lzdGVudCBWTUEgcGFnZXMgZm9yIHBsYW5lICVkOiBbKCVkLCAlZCwgJWQsICVkKSwgKCVk LCAlZCwgJWQsICVkKV1cbiIsIG4sCisJCQkJCQkJcHJfZXJyKCJJbmNvbnNpc3RlbnQgJXMgVk1B IHBhZ2VzIGZvciBwbGFuZSAlZDogWyglZCwgJWQsICVkLCAlZCksICglZCwgJWQsICVkLCAlZCld XG4iLAorCQkJCQkJCSAgICAgICB2aWV3LnR5cGUgPT0gSTkxNV9HR1RUX1ZJRVdfUk9UQVRFRCA/ CisJCQkJCQkJICAgICAgICJyb3RhdGVkIiA6ICJyZW1hcHBlZCIsIG4sCiAJCQkJCQkJICAgICAg IHZpZXcucm90YXRlZC5wbGFuZVswXS53aWR0aCwKIAkJCQkJCQkgICAgICAgdmlldy5yb3RhdGVk LnBsYW5lWzBdLmhlaWdodCwKIAkJCQkJCQkgICAgICAgdmlldy5yb3RhdGVkLnBsYW5lWzBdLnN0 cmlkZSwKQEAgLTUxOCw2ICs1OTksNyBAQCBzdGF0aWMgaW50IGlndF92bWFfcm90YXRlKHZvaWQg KmFyZykKIAkJCX0KIAkJfQogCX0KKwl9CiAKIG91dF9vYmplY3Q6CiAJaTkxNV9nZW1fb2JqZWN0 X3B1dChvYmopOwpAQCAtNzIxLDcgKzgwMyw3IEBAIGludCBpOTE1X3ZtYV9tb2NrX3NlbGZ0ZXN0 cyh2b2lkKQogCXN0YXRpYyBjb25zdCBzdHJ1Y3QgaTkxNV9zdWJ0ZXN0IHRlc3RzW10gPSB7CiAJ CVNVQlRFU1QoaWd0X3ZtYV9jcmVhdGUpLAogCQlTVUJURVNUKGlndF92bWFfcGluMSksCi0JCVNV QlRFU1QoaWd0X3ZtYV9yb3RhdGUpLAorCQlTVUJURVNUKGlndF92bWFfcm90YXRlX3JlbWFwKSwK IAkJU1VCVEVTVChpZ3Rfdm1hX3BhcnRpYWwpLAogCX07CiAJc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmk5MTU7Ci0tIAoyLjE5LjIKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVk ZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZv L2ludGVsLWdmeAo=