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, 9 May 2019 15:21:53 +0300 Message-ID: <20190509122159.24376-3-ville.syrjala@linux.intel.com> References: <20190509122159.24376-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 mga06.intel.com (mga06.intel.com [134.134.136.31]) by gabe.freedesktop.org (Postfix) with ESMTPS id 77AA989BFF for ; Thu, 9 May 2019 12:22:08 +0000 (UTC) In-Reply-To: <20190509122159.24376-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 aXMgZm9yIG5vdyB0bwplYXNlIHJldmlldwoKdjI6IEluY2x1ZGUgdGhlIHZtYSB0eXBlIGluIHRo ZSBlcnJvciBtZXNzYWdlIChDaHJpcykKdjM6IERlYWwgd2l0aCB0cmltbWVkIHNnCnY0OiBEcm9w IGxlZnRvdmVyIGRlYnVncwoKQ2M6IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNv LnVrPgpSZXZpZXdlZC1ieTogQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+ ClNpZ25lZC1vZmYtYnk6IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRl bC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2k5MTVfdm1hLmMgfCA5 OCArKysrKysrKysrKysrKysrKysrKystLQogMSBmaWxlIGNoYW5nZWQsIDkwIGluc2VydGlvbnMo KyksIDggZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2Vs ZnRlc3RzL2k5MTVfdm1hLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaTkxNV92 bWEuYwppbmRleCAxOGRjMjIxY2IyMmIuLjg5ZjZlZjk0NWMxYiAxMDA2NDQKLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2k5MTVfdm1hLmMKKysrIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvc2VsZnRlc3RzL2k5MTVfdm1hLmMKQEAgLTU5LDcgKzU5LDcgQEAgc3RhdGljIGJvb2wg YXNzZXJ0X3ZtYShzdHJ1Y3QgaTkxNV92bWEgKnZtYSwKIHN0YXRpYyBzdHJ1Y3QgaTkxNV92bWEg KgogY2hlY2tlZF92bWFfaW5zdGFuY2Uoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiwK IAkJICAgICBzdHJ1Y3QgaTkxNV9hZGRyZXNzX3NwYWNlICp2bSwKLQkJICAgICBzdHJ1Y3QgaTkx NV9nZ3R0X3ZpZXcgKnZpZXcpCisJCSAgICAgY29uc3Qgc3RydWN0IGk5MTVfZ2d0dF92aWV3ICp2 aWV3KQogewogCXN0cnVjdCBpOTE1X3ZtYSAqdm1hOwogCWJvb2wgb2sgPSB0cnVlOwpAQCAtMzk3 LDEzICszOTcsNzQgQEAgYXNzZXJ0X3JvdGF0ZWQoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3Qg Km9iaiwKIAlyZXR1cm4gc2c7CiB9CiAKK3N0YXRpYyB1bnNpZ25lZCBsb25nIHJlbWFwcGVkX2lu ZGV4KGNvbnN0IHN0cnVjdCBpbnRlbF9yZW1hcHBlZF9pbmZvICpyLAorCQkJCSAgICB1bnNpZ25l ZCBpbnQgbiwKKwkJCQkgICAgdW5zaWduZWQgaW50IHgsCisJCQkJICAgIHVuc2lnbmVkIGludCB5 KQoreworCXJldHVybiAoci0+cGxhbmVbbl0uc3RyaWRlICogeSArCisJCXItPnBsYW5lW25dLm9m ZnNldCArIHgpOworfQorCitzdGF0aWMgc3RydWN0IHNjYXR0ZXJsaXN0ICoKK2Fzc2VydF9yZW1h cHBlZChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqLAorCQljb25zdCBzdHJ1Y3QgaW50 ZWxfcmVtYXBwZWRfaW5mbyAqciwgdW5zaWduZWQgaW50IG4sCisJCXN0cnVjdCBzY2F0dGVybGlz dCAqc2cpCit7CisJdW5zaWduZWQgaW50IHgsIHk7CisJdW5zaWduZWQgaW50IGxlZnQgPSAwOwor CXVuc2lnbmVkIGludCBvZmZzZXQ7CisKKwlmb3IgKHkgPSAwOyB5IDwgci0+cGxhbmVbbl0uaGVp Z2h0OyB5KyspIHsKKwkJZm9yICh4ID0gMDsgeCA8IHItPnBsYW5lW25dLndpZHRoOyB4KyspIHsK KwkJCXVuc2lnbmVkIGxvbmcgc3JjX2lkeDsKKwkJCWRtYV9hZGRyX3Qgc3JjOworCisJCQlpZiAo IXNnKSB7CisJCQkJcHJfZXJyKCJJbnZhbGlkIHNnIHRhYmxlOiB0b28gc2hvcnQgYXQgcGxhbmUg JWQsICglZCwgJWQpIVxuIiwKKwkJCQkgICAgICAgbiwgeCwgeSk7CisJCQkJcmV0dXJuIEVSUl9Q VFIoLUVJTlZBTCk7CisJCQl9CisJCQlpZiAoIWxlZnQpIHsKKwkJCQlvZmZzZXQgPSAwOworCQkJ CWxlZnQgPSBzZ19kbWFfbGVuKHNnKTsKKwkJCX0KKworCQkJc3JjX2lkeCA9IHJlbWFwcGVkX2lu ZGV4KHIsIG4sIHgsIHkpOworCQkJc3JjID0gaTkxNV9nZW1fb2JqZWN0X2dldF9kbWFfYWRkcmVz cyhvYmosIHNyY19pZHgpOworCisJCQlpZiAobGVmdCA8IFBBR0VfU0laRSB8fCBsZWZ0ICYgKFBB R0VfU0laRS0xKSkgeworCQkJCXByX2VycigiSW52YWxpZCBzZy5sZW5ndGgsIGZvdW5kICVkLCBl eHBlY3RlZCAlbHUgZm9yIHJlbWFwcGVkIHBhZ2UgKCVkLCAlZCkgW3NyYyBpbmRleCAlbHVdXG4i LAorCQkJCSAgICAgICBzZ19kbWFfbGVuKHNnKSwgUEFHRV9TSVpFLAorCQkJCSAgICAgICB4LCB5 LCBzcmNfaWR4KTsKKwkJCQlyZXR1cm4gRVJSX1BUUigtRUlOVkFMKTsKKwkJCX0KKworCQkJaWYg KHNnX2RtYV9hZGRyZXNzKHNnKSArIG9mZnNldCAhPSBzcmMpIHsKKwkJCQlwcl9lcnIoIkludmFs aWQgYWRkcmVzcyBmb3IgcmVtYXBwZWQgcGFnZSAoJWQsICVkKSBbc3JjIGluZGV4ICVsdV1cbiIs CisJCQkJICAgICAgIHgsIHksIHNyY19pZHgpOworCQkJCXJldHVybiBFUlJfUFRSKC1FSU5WQUwp OworCQkJfQorCisJCQlsZWZ0IC09IFBBR0VfU0laRTsKKwkJCW9mZnNldCArPSBQQUdFX1NJWkU7 CisKKworCQkJaWYgKCFsZWZ0KQorCQkJCXNnID0gc2dfbmV4dChzZyk7CisJCX0KKwl9CisKKwly ZXR1cm4gc2c7Cit9CisKIHN0YXRpYyB1bnNpZ25lZCBpbnQgcm90YXRlZF9zaXplKGNvbnN0IHN0 cnVjdCBpbnRlbF9yZW1hcHBlZF9wbGFuZV9pbmZvICphLAogCQkJCSBjb25zdCBzdHJ1Y3QgaW50 ZWxfcmVtYXBwZWRfcGxhbmVfaW5mbyAqYikKIHsKIAlyZXR1cm4gYS0+d2lkdGggKiBhLT5oZWln aHQgKyBiLT53aWR0aCAqIGItPmhlaWdodDsKIH0KIAotc3RhdGljIGludCBpZ3Rfdm1hX3JvdGF0 ZSh2b2lkICphcmcpCitzdGF0aWMgaW50IGlndF92bWFfcm90YXRlX3JlbWFwKHZvaWQgKmFyZykK IHsKIAlzdHJ1Y3QgaTkxNV9nZ3R0ICpnZ3R0ID0gYXJnOwogCXN0cnVjdCBpOTE1X2FkZHJlc3Nf c3BhY2UgKnZtID0gJmdndHQtPnZtOwpAQCAtNDI2LDYgKzQ4NywxMSBAQCBzdGF0aWMgaW50IGln dF92bWFfcm90YXRlKHZvaWQgKmFyZykKIAkJeyAud2lkdGggPSA2LCAuaGVpZ2h0ID0gNCwgLnN0 cmlkZSA9IDYgfSwKIAkJeyB9CiAJfSwgKmEsICpiOworCWVudW0gaTkxNV9nZ3R0X3ZpZXdfdHlw ZSB0eXBlc1tdID0geworCQlJOTE1X0dHVFRfVklFV19ST1RBVEVELAorCQlJOTE1X0dHVFRfVklF V19SRU1BUFBFRCwKKwkJMCwKKwl9LCAqdDsKIAljb25zdCB1bnNpZ25lZCBpbnQgbWF4X3BhZ2Vz ID0gNjQ7CiAJaW50IGVyciA9IC1FTk9NRU07CiAKQEAgLTQzNyw2ICs1MDMsNyBAQCBzdGF0aWMg aW50IGlndF92bWFfcm90YXRlKHZvaWQgKmFyZykKIAlpZiAoSVNfRVJSKG9iaikpCiAJCWdvdG8g b3V0OwogCisJZm9yICh0ID0gdHlwZXM7ICp0OyB0KyspIHsKIAlmb3IgKGEgPSBwbGFuZXM7IGEt PndpZHRoOyBhKyspIHsKIAkJZm9yIChiID0gcGxhbmVzICsgQVJSQVlfU0laRShwbGFuZXMpOyBi LS0gIT0gcGxhbmVzOyApIHsKIAkJCXN0cnVjdCBpOTE1X2dndHRfdmlldyB2aWV3OwpAQCAtNDQ3 LDcgKzUxNCw3IEBAIHN0YXRpYyBpbnQgaWd0X3ZtYV9yb3RhdGUodm9pZCAqYXJnKQogCQkJR0VN X0JVR19PTihtYXhfb2Zmc2V0ID4gbWF4X3BhZ2VzKTsKIAkJCW1heF9vZmZzZXQgPSBtYXhfcGFn ZXMgLSBtYXhfb2Zmc2V0OwogCi0JCQl2aWV3LnR5cGUgPSBJOTE1X0dHVFRfVklFV19ST1RBVEVE OworCQkJdmlldy50eXBlID0gKnQ7CiAJCQl2aWV3LnJvdGF0ZWQucGxhbmVbMF0gPSAqYTsKIAkJ CXZpZXcucm90YXRlZC5wbGFuZVsxXSA9ICpiOwogCkBAIC00NjgsMTQgKzUzNSwyMyBAQCBzdGF0 aWMgaW50IGlndF92bWFfcm90YXRlKHZvaWQgKmFyZykKIAkJCQkJCWdvdG8gb3V0X29iamVjdDsK IAkJCQkJfQogCi0JCQkJCWlmICh2bWEtPnNpemUgIT0gcm90YXRlZF9zaXplKGEsIGIpICogUEFH RV9TSVpFKSB7CisJCQkJCWlmICh2aWV3LnR5cGUgPT0gSTkxNV9HR1RUX1ZJRVdfUk9UQVRFRCAm JgorCQkJCQkgICAgdm1hLT5zaXplICE9IHJvdGF0ZWRfc2l6ZShhLCBiKSAqIFBBR0VfU0laRSkg ewogCQkJCQkJcHJfZXJyKCJWTUEgaXMgd3Jvbmcgc2l6ZSwgZXhwZWN0ZWQgJWx1LCBmb3VuZCAl bGx1XG4iLAogCQkJCQkJICAgICAgIFBBR0VfU0laRSAqIHJvdGF0ZWRfc2l6ZShhLCBiKSwgdm1h LT5zaXplKTsKIAkJCQkJCWVyciA9IC1FSU5WQUw7CiAJCQkJCQlnb3RvIG91dF9vYmplY3Q7CiAJ CQkJCX0KIAotCQkJCQlpZiAodm1hLT5wYWdlcy0+bmVudHMgIT0gcm90YXRlZF9zaXplKGEsIGIp KSB7CisJCQkJCWlmICh2aWV3LnR5cGUgPT0gSTkxNV9HR1RUX1ZJRVdfUkVNQVBQRUQgJiYKKwkJ CQkJICAgIHZtYS0+c2l6ZSA+IHJvdGF0ZWRfc2l6ZShhLCBiKSAqIFBBR0VfU0laRSkgeworCQkJ CQkJcHJfZXJyKCJWTUEgaXMgd3Jvbmcgc2l6ZSwgZXhwZWN0ZWQgJWx1LCBmb3VuZCAlbGx1XG4i LAorCQkJCQkJICAgICAgIFBBR0VfU0laRSAqIHJvdGF0ZWRfc2l6ZShhLCBiKSwgdm1hLT5zaXpl KTsKKwkJCQkJCWVyciA9IC1FSU5WQUw7CisJCQkJCQlnb3RvIG91dF9vYmplY3Q7CisJCQkJCX0K KworCQkJCQlpZiAodm1hLT5wYWdlcy0+bmVudHMgPiByb3RhdGVkX3NpemUoYSwgYikpIHsKIAkJ CQkJCXByX2Vycigic2cgdGFibGUgaXMgd3Jvbmcgc2l6ZW8sIGV4cGVjdGVkICV1LCBmb3VuZCAl dSBuZW50c1xuIiwKIAkJCQkJCSAgICAgICByb3RhdGVkX3NpemUoYSwgYiksIHZtYS0+cGFnZXMt Pm5lbnRzKTsKIAkJCQkJCWVyciA9IC1FSU5WQUw7CkBAIC00OTcsOSArNTczLDE0IEBAIHN0YXRp YyBpbnQgaWd0X3ZtYV9yb3RhdGUodm9pZCAqYXJnKQogCiAJCQkJCXNnID0gdm1hLT5wYWdlcy0+ c2dsOwogCQkJCQlmb3IgKG4gPSAwOyBuIDwgQVJSQVlfU0laRSh2aWV3LnJvdGF0ZWQucGxhbmUp OyBuKyspIHsKLQkJCQkJCXNnID0gYXNzZXJ0X3JvdGF0ZWQob2JqLCAmdmlldy5yb3RhdGVkLCBu LCBzZyk7CisJCQkJCQlpZiAodmlldy50eXBlID09IEk5MTVfR0dUVF9WSUVXX1JPVEFURUQpCisJ CQkJCQkJc2cgPSBhc3NlcnRfcm90YXRlZChvYmosICZ2aWV3LnJvdGF0ZWQsIG4sIHNnKTsKKwkJ CQkJCWVsc2UKKwkJCQkJCQlzZyA9IGFzc2VydF9yZW1hcHBlZChvYmosICZ2aWV3LnJlbWFwcGVk LCBuLCBzZyk7CiAJCQkJCQlpZiAoSVNfRVJSKHNnKSkgewotCQkJCQkJCXByX2VycigiSW5jb25z aXN0ZW50IFZNQSBwYWdlcyBmb3IgcGxhbmUgJWQ6IFsoJWQsICVkLCAlZCwgJWQpLCAoJWQsICVk LCAlZCwgJWQpXVxuIiwgbiwKKwkJCQkJCQlwcl9lcnIoIkluY29uc2lzdGVudCAlcyBWTUEgcGFn ZXMgZm9yIHBsYW5lICVkOiBbKCVkLCAlZCwgJWQsICVkKSwgKCVkLCAlZCwgJWQsICVkKV1cbiIs CisJCQkJCQkJICAgICAgIHZpZXcudHlwZSA9PSBJOTE1X0dHVFRfVklFV19ST1RBVEVEID8KKwkJ CQkJCQkgICAgICAgInJvdGF0ZWQiIDogInJlbWFwcGVkIiwgbiwKIAkJCQkJCQkgICAgICAgdmll dy5yb3RhdGVkLnBsYW5lWzBdLndpZHRoLAogCQkJCQkJCSAgICAgICB2aWV3LnJvdGF0ZWQucGxh bmVbMF0uaGVpZ2h0LAogCQkJCQkJCSAgICAgICB2aWV3LnJvdGF0ZWQucGxhbmVbMF0uc3RyaWRl LApAQCAtNTE4LDYgKzU5OSw3IEBAIHN0YXRpYyBpbnQgaWd0X3ZtYV9yb3RhdGUodm9pZCAqYXJn KQogCQkJfQogCQl9CiAJfQorCX0KIAogb3V0X29iamVjdDoKIAlpOTE1X2dlbV9vYmplY3RfcHV0 KG9iaik7CkBAIC03MjEsNyArODAzLDcgQEAgaW50IGk5MTVfdm1hX21vY2tfc2VsZnRlc3RzKHZv aWQpCiAJc3RhdGljIGNvbnN0IHN0cnVjdCBpOTE1X3N1YnRlc3QgdGVzdHNbXSA9IHsKIAkJU1VC VEVTVChpZ3Rfdm1hX2NyZWF0ZSksCiAJCVNVQlRFU1QoaWd0X3ZtYV9waW4xKSwKLQkJU1VCVEVT VChpZ3Rfdm1hX3JvdGF0ZSksCisJCVNVQlRFU1QoaWd0X3ZtYV9yb3RhdGVfcmVtYXApLAogCQlT VUJURVNUKGlndF92bWFfcGFydGlhbCksCiAJfTsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq aTkxNTsKLS0gCjIuMjEuMAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0 b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50 ZWwtZ2Z4