From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville Syrjala Subject: [PATCH v3 4/8] drm/i915/selftests: Add mock selftest for remapped vmas Date: Tue, 25 Sep 2018 22:37:10 +0300 Message-ID: <20180925193714.25280-5-ville.syrjala@linux.intel.com> References: <20180925193714.25280-1-ville.syrjala@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by gabe.freedesktop.org (Postfix) with ESMTPS id 55629898AF for ; Tue, 25 Sep 2018 19:37:28 +0000 (UTC) In-Reply-To: <20180925193714.25280-1-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 aXMgZm9yIG5vdyB0bwplYXNlIHJldmlldwoKU2lnbmVkLW9mZi1ieTogVmlsbGUgU3lyasOkbMOk IDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkx NS9zZWxmdGVzdHMvaTkxNV92bWEuYyB8IDcwICsrKysrKysrKysrKysrKysrKysrKysrKysrKyst LS0KIDEgZmlsZSBjaGFuZ2VkLCA2NSBpbnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygtKQoKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pOTE1X3ZtYS5jIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2k5MTVfdm1hLmMKaW5kZXggNGZjNDljMjdmMTNj Li42ZTg0ZTVjYzkzYTAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0 cy9pOTE1X3ZtYS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pOTE1X3Zt YS5jCkBAIC01OCw3ICs1OCw3IEBAIHN0YXRpYyBib29sIGFzc2VydF92bWEoc3RydWN0IGk5MTVf dm1hICp2bWEsCiBzdGF0aWMgc3RydWN0IGk5MTVfdm1hICoKIGNoZWNrZWRfdm1hX2luc3RhbmNl KHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmosCiAJCSAgICAgc3RydWN0IGk5MTVfYWRk cmVzc19zcGFjZSAqdm0sCi0JCSAgICAgc3RydWN0IGk5MTVfZ2d0dF92aWV3ICp2aWV3KQorCQkg ICAgIGNvbnN0IHN0cnVjdCBpOTE1X2dndHRfdmlldyAqdmlldykKIHsKIAlzdHJ1Y3QgaTkxNV92 bWEgKnZtYTsKIAlib29sIG9rID0gdHJ1ZTsKQEAgLTM5NSwxMyArMzk1LDYzIEBAIGFzc2VydF9y b3RhdGVkKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmosCiAJcmV0dXJuIHNnOwogfQog CitzdGF0aWMgdW5zaWduZWQgbG9uZyByZW1hcHBlZF9pbmRleChjb25zdCBzdHJ1Y3QgaW50ZWxf cmVtYXBwZWRfaW5mbyAqciwKKwkJCQkgICAgdW5zaWduZWQgaW50IG4sCisJCQkJICAgIHVuc2ln bmVkIGludCB4LAorCQkJCSAgICB1bnNpZ25lZCBpbnQgeSkKK3sKKwlyZXR1cm4gKHItPnBsYW5l W25dLnN0cmlkZSAqIHkgKworCQlyLT5wbGFuZVtuXS5vZmZzZXQgKyB4KTsKK30KKworc3RhdGlj IHN0cnVjdCBzY2F0dGVybGlzdCAqCithc3NlcnRfcmVtYXBwZWQoc3RydWN0IGRybV9pOTE1X2dl bV9vYmplY3QgKm9iaiwKKwkJY29uc3Qgc3RydWN0IGludGVsX3JlbWFwcGVkX2luZm8gKnIsIHVu c2lnbmVkIGludCBuLAorCQlzdHJ1Y3Qgc2NhdHRlcmxpc3QgKnNnKQoreworCXVuc2lnbmVkIGlu dCB4LCB5OworCisJZm9yICh5ID0gMDsgeSA8IHItPnBsYW5lW25dLmhlaWdodDsgeSsrKSB7CisJ CWZvciAoeCA9IDA7IHggPCByLT5wbGFuZVtuXS53aWR0aDsgeCsrKSB7CisJCQl1bnNpZ25lZCBs b25nIHNyY19pZHg7CisJCQlkbWFfYWRkcl90IHNyYzsKKworCQkJaWYgKCFzZykgeworCQkJCXBy X2VycigiSW52YWxpZCBzZyB0YWJsZTogdG9vIHNob3J0IGF0IHBsYW5lICVkLCAoJWQsICVkKSFc biIsCisJCQkJICAgICAgIG4sIHgsIHkpOworCQkJCXJldHVybiBFUlJfUFRSKC1FSU5WQUwpOwor CQkJfQorCisJCQlzcmNfaWR4ID0gcmVtYXBwZWRfaW5kZXgociwgbiwgeCwgeSk7CisJCQlzcmMg PSBpOTE1X2dlbV9vYmplY3RfZ2V0X2RtYV9hZGRyZXNzKG9iaiwgc3JjX2lkeCk7CisKKwkJCWlm IChzZ19kbWFfbGVuKHNnKSAhPSBQQUdFX1NJWkUpIHsKKwkJCQlwcl9lcnIoIkludmFsaWQgc2cu bGVuZ3RoLCBmb3VuZCAlZCwgZXhwZWN0ZWQgJWx1IGZvciByZW1hcHBlZCBwYWdlICglZCwgJWQp IFtzcmMgaW5kZXggJWx1XVxuIiwKKwkJCQkgICAgICAgc2dfZG1hX2xlbihzZyksIFBBR0VfU0la RSwKKwkJCQkgICAgICAgeCwgeSwgc3JjX2lkeCk7CisJCQkJcmV0dXJuIEVSUl9QVFIoLUVJTlZB TCk7CisJCQl9CisKKwkJCWlmIChzZ19kbWFfYWRkcmVzcyhzZykgIT0gc3JjKSB7CisJCQkJcHJf ZXJyKCJJbnZhbGlkIGFkZHJlc3MgZm9yIHJlbWFwcGVkIHBhZ2UgKCVkLCAlZCkgW3NyYyBpbmRl eCAlbHVdXG4iLAorCQkJCSAgICAgICB4LCB5LCBzcmNfaWR4KTsKKwkJCQlyZXR1cm4gRVJSX1BU UigtRUlOVkFMKTsKKwkJCX0KKworCQkJc2cgPSBzZ19uZXh0KHNnKTsKKwkJfQorCX0KKworCXJl dHVybiBzZzsKK30KKwogc3RhdGljIHVuc2lnbmVkIGludCByb3RhdGVkX3NpemUoY29uc3Qgc3Ry dWN0IGludGVsX3JlbWFwcGVkX3BsYW5lX2luZm8gKmEsCiAJCQkJIGNvbnN0IHN0cnVjdCBpbnRl bF9yZW1hcHBlZF9wbGFuZV9pbmZvICpiKQogewogCXJldHVybiBhLT53aWR0aCAqIGEtPmhlaWdo dCArIGItPndpZHRoICogYi0+aGVpZ2h0OwogfQogCi1zdGF0aWMgaW50IGlndF92bWFfcm90YXRl KHZvaWQgKmFyZykKK3N0YXRpYyBpbnQgaWd0X3ZtYV9yb3RhdGVfcmVtYXAodm9pZCAqYXJnKQog ewogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1ID0gYXJnOwogCXN0cnVjdCBpOTE1X2Fk ZHJlc3Nfc3BhY2UgKnZtID0gJmk5MTUtPmdndHQudm07CkBAIC00MjQsNiArNDc0LDExIEBAIHN0 YXRpYyBpbnQgaWd0X3ZtYV9yb3RhdGUodm9pZCAqYXJnKQogCQl7IC53aWR0aCA9IDYsIC5oZWln aHQgPSA0LCAuc3RyaWRlID0gNiB9LAogCQl7IH0KIAl9LCAqYSwgKmI7CisJZW51bSBpOTE1X2dn dHRfdmlld190eXBlIHR5cGVzW10gPSB7CisJCUk5MTVfR0dUVF9WSUVXX1JPVEFURUQsCisJCUk5 MTVfR0dUVF9WSUVXX1JFTUFQUEVELAorCQkwLAorCX0sICp0OwogCWNvbnN0IHVuc2lnbmVkIGlu dCBtYXhfcGFnZXMgPSA2NDsKIAlpbnQgZXJyID0gLUVOT01FTTsKIApAQCAtNDM1LDYgKzQ5MCw3 IEBAIHN0YXRpYyBpbnQgaWd0X3ZtYV9yb3RhdGUodm9pZCAqYXJnKQogCWlmIChJU19FUlIob2Jq KSkKIAkJZ290byBvdXQ7CiAKKwlmb3IgKHQgPSB0eXBlczsgKnQ7IHQrKykgewogCWZvciAoYSA9 IHBsYW5lczsgYS0+d2lkdGg7IGErKykgewogCQlmb3IgKGIgPSBwbGFuZXMgKyBBUlJBWV9TSVpF KHBsYW5lcyk7IGItLSAhPSBwbGFuZXM7ICkgewogCQkJc3RydWN0IGk5MTVfZ2d0dF92aWV3IHZp ZXc7CkBAIC00NDUsNyArNTAxLDcgQEAgc3RhdGljIGludCBpZ3Rfdm1hX3JvdGF0ZSh2b2lkICph cmcpCiAJCQlHRU1fQlVHX09OKG1heF9vZmZzZXQgPiBtYXhfcGFnZXMpOwogCQkJbWF4X29mZnNl dCA9IG1heF9wYWdlcyAtIG1heF9vZmZzZXQ7CiAKLQkJCXZpZXcudHlwZSA9IEk5MTVfR0dUVF9W SUVXX1JPVEFURUQ7CisJCQl2aWV3LnR5cGUgPSAqdDsKIAkJCXZpZXcucm90YXRlZC5wbGFuZVsw XSA9ICphOwogCQkJdmlldy5yb3RhdGVkLnBsYW5lWzFdID0gKmI7CiAKQEAgLTQ5NSw3ICs1NTEs MTAgQEAgc3RhdGljIGludCBpZ3Rfdm1hX3JvdGF0ZSh2b2lkICphcmcpCiAKIAkJCQkJc2cgPSB2 bWEtPnBhZ2VzLT5zZ2w7CiAJCQkJCWZvciAobiA9IDA7IG4gPCBBUlJBWV9TSVpFKHZpZXcucm90 YXRlZC5wbGFuZSk7IG4rKykgewotCQkJCQkJc2cgPSBhc3NlcnRfcm90YXRlZChvYmosICZ2aWV3 LnJvdGF0ZWQsIG4sIHNnKTsKKwkJCQkJCWlmICh2aWV3LnR5cGUgPT0gSTkxNV9HR1RUX1ZJRVdf Uk9UQVRFRCkKKwkJCQkJCQlzZyA9IGFzc2VydF9yb3RhdGVkKG9iaiwgJnZpZXcucm90YXRlZCwg biwgc2cpOworCQkJCQkJZWxzZQorCQkJCQkJCXNnID0gYXNzZXJ0X3JlbWFwcGVkKG9iaiwgJnZp ZXcucmVtYXBwZWQsIG4sIHNnKTsKIAkJCQkJCWlmIChJU19FUlIoc2cpKSB7CiAJCQkJCQkJcHJf ZXJyKCJJbmNvbnNpc3RlbnQgVk1BIHBhZ2VzIGZvciBwbGFuZSAlZDogWyglZCwgJWQsICVkLCAl ZCksICglZCwgJWQsICVkLCAlZCldXG4iLCBuLAogCQkJCQkJCSAgICAgICB2aWV3LnJvdGF0ZWQu cGxhbmVbMF0ud2lkdGgsCkBAIC01MTYsNiArNTc1LDcgQEAgc3RhdGljIGludCBpZ3Rfdm1hX3Jv dGF0ZSh2b2lkICphcmcpCiAJCQl9CiAJCX0KIAl9CisJfQogCiBvdXRfb2JqZWN0OgogCWk5MTVf Z2VtX29iamVjdF9wdXQob2JqKTsKQEAgLTcxOSw3ICs3NzksNyBAQCBpbnQgaTkxNV92bWFfbW9j a19zZWxmdGVzdHModm9pZCkKIAlzdGF0aWMgY29uc3Qgc3RydWN0IGk5MTVfc3VidGVzdCB0ZXN0 c1tdID0gewogCQlTVUJURVNUKGlndF92bWFfY3JlYXRlKSwKIAkJU1VCVEVTVChpZ3Rfdm1hX3Bp bjEpLAotCQlTVUJURVNUKGlndF92bWFfcm90YXRlKSwKKwkJU1VCVEVTVChpZ3Rfdm1hX3JvdGF0 ZV9yZW1hcCksCiAJCVNVQlRFU1QoaWd0X3ZtYV9wYXJ0aWFsKSwKIAl9OwogCXN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICppOTE1OwotLSAKMi4xNi40CgpfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBs aXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1h bi9saXN0aW5mby9pbnRlbC1nZngK