From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville Syrjala Subject: [PATCH v3 2/8] drm/i915/selftests: Add mock selftest for remapped vmas Date: Fri, 18 Jan 2019 17:27:14 +0200 Message-ID: <20190118152720.24643-3-ville.syrjala@linux.intel.com> References: <20190118152720.24643-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 mga12.intel.com (mga12.intel.com [192.55.52.136]) by gabe.freedesktop.org (Postfix) with ESMTPS id 7C8C76F831 for ; Fri, 18 Jan 2019 15:27:30 +0000 (UTC) In-Reply-To: <20190118152720.24643-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 ZSBlcnJvciBtZXNzYWdlIChDaHJpcykKdjM6IERlYWwgd2l0aCB0cmltbWVkIHNnCgpDYzogQ2hy aXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+ClNpZ25lZC1vZmYtYnk6IFZpbGxl IFN5cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+Ci0tLQogZHJpdmVycy9n cHUvZHJtL2k5MTUvc2VsZnRlc3RzL2k5MTVfdm1hLmMgfCAxMDUgKysrKysrKysrKysrKysrKysr KystLQogMSBmaWxlIGNoYW5nZWQsIDk3IGluc2VydGlvbnMoKyksIDggZGVsZXRpb25zKC0pCgpk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2k5MTVfdm1hLmMgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaTkxNV92bWEuYwppbmRleCA0ZmM0OWMyN2Yx M2MuLjA2MzE0M2ZhNTFiZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRl c3RzL2k5MTVfdm1hLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2k5MTVf dm1hLmMKQEAgLTU4LDcgKzU4LDcgQEAgc3RhdGljIGJvb2wgYXNzZXJ0X3ZtYShzdHJ1Y3QgaTkx NV92bWEgKnZtYSwKIHN0YXRpYyBzdHJ1Y3QgaTkxNV92bWEgKgogY2hlY2tlZF92bWFfaW5zdGFu Y2Uoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiwKIAkJICAgICBzdHJ1Y3QgaTkxNV9h ZGRyZXNzX3NwYWNlICp2bSwKLQkJICAgICBzdHJ1Y3QgaTkxNV9nZ3R0X3ZpZXcgKnZpZXcpCisJ CSAgICAgY29uc3Qgc3RydWN0IGk5MTVfZ2d0dF92aWV3ICp2aWV3KQogewogCXN0cnVjdCBpOTE1 X3ZtYSAqdm1hOwogCWJvb2wgb2sgPSB0cnVlOwpAQCAtMzk1LDEzICszOTUsODEgQEAgYXNzZXJ0 X3JvdGF0ZWQoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiwKIAlyZXR1cm4gc2c7CiB9 CiAKK3N0YXRpYyB1bnNpZ25lZCBsb25nIHJlbWFwcGVkX2luZGV4KGNvbnN0IHN0cnVjdCBpbnRl bF9yZW1hcHBlZF9pbmZvICpyLAorCQkJCSAgICB1bnNpZ25lZCBpbnQgbiwKKwkJCQkgICAgdW5z aWduZWQgaW50IHgsCisJCQkJICAgIHVuc2lnbmVkIGludCB5KQoreworCXJldHVybiAoci0+cGxh bmVbbl0uc3RyaWRlICogeSArCisJCXItPnBsYW5lW25dLm9mZnNldCArIHgpOworfQorCitzdGF0 aWMgc3RydWN0IHNjYXR0ZXJsaXN0ICoKK2Fzc2VydF9yZW1hcHBlZChzdHJ1Y3QgZHJtX2k5MTVf Z2VtX29iamVjdCAqb2JqLAorCQljb25zdCBzdHJ1Y3QgaW50ZWxfcmVtYXBwZWRfaW5mbyAqciwg dW5zaWduZWQgaW50IG4sCisJCXN0cnVjdCBzY2F0dGVybGlzdCAqc2cpCit7CisJdW5zaWduZWQg aW50IHgsIHk7CisJdW5zaWduZWQgaW50IGxlZnQgPSAwOworCXVuc2lnbmVkIGludCBvZmZzZXQ7 CisKKwlmb3IgKHkgPSAwOyB5IDwgci0+cGxhbmVbbl0uaGVpZ2h0OyB5KyspIHsKKwkJZm9yICh4 ID0gMDsgeCA8IHItPnBsYW5lW25dLndpZHRoOyB4KyspIHsKKwkJCXVuc2lnbmVkIGxvbmcgc3Jj X2lkeDsKKwkJCWRtYV9hZGRyX3Qgc3JjOworCisJCQlpZiAoIXNnKSB7CisJCQkJcHJfZXJyKCJJ bnZhbGlkIHNnIHRhYmxlOiB0b28gc2hvcnQgYXQgcGxhbmUgJWQsICglZCwgJWQpIVxuIiwKKwkJ CQkgICAgICAgbiwgeCwgeSk7CisJCQkJcmV0dXJuIEVSUl9QVFIoLUVJTlZBTCk7CisJCQl9CisJ CQlpZiAoIWxlZnQpIHsKKwkJCQlvZmZzZXQgPSAwOworCQkJCWxlZnQgPSBzZ19kbWFfbGVuKHNn KTsKKwkJCX0KKworCQkJRFJNX0RFQlVHX0tNUygic2cgJXAgc3RhcnQgbGVmdCAlZFxuIiwgc2cs IGxlZnQpOworCisJCQlzcmNfaWR4ID0gcmVtYXBwZWRfaW5kZXgociwgbiwgeCwgeSk7CisJCQlz cmMgPSBpOTE1X2dlbV9vYmplY3RfZ2V0X2RtYV9hZGRyZXNzKG9iaiwgc3JjX2lkeCk7CisKKwkJ CURSTV9ERUJVR19LTVMoInNnICVwICVkICVkICVkICVsbHhcbiIsIHNnLCBuLCB4LCB5LCBzcmMp OworCisJCQlpZiAobGVmdCA8IFBBR0VfU0laRSB8fCBsZWZ0ICYgKFBBR0VfU0laRS0xKSkgewor CQkJCXByX2VycigiSW52YWxpZCBzZy5sZW5ndGgsIGZvdW5kICVkLCBleHBlY3RlZCAlbHUgZm9y IHJlbWFwcGVkIHBhZ2UgKCVkLCAlZCkgW3NyYyBpbmRleCAlbHVdXG4iLAorCQkJCSAgICAgICBz Z19kbWFfbGVuKHNnKSwgUEFHRV9TSVpFLAorCQkJCSAgICAgICB4LCB5LCBzcmNfaWR4KTsKKwkJ CQlyZXR1cm4gRVJSX1BUUigtRUlOVkFMKTsKKwkJCX0KKworCQkJRFJNX0RFQlVHX0tNUygic2cg JXAgZG1hICVsbHggb2ZmID0gJWRcbiIsIHNnLCBzZ19kbWFfYWRkcmVzcyhzZyksIG9mZnNldCk7 CisKKwkJCWlmIChzZ19kbWFfYWRkcmVzcyhzZykgKyBvZmZzZXQgIT0gc3JjKSB7CisJCQkJcHJf ZXJyKCJJbnZhbGlkIGFkZHJlc3MgZm9yIHJlbWFwcGVkIHBhZ2UgKCVkLCAlZCkgW3NyYyBpbmRl eCAlbHVdXG4iLAorCQkJCSAgICAgICB4LCB5LCBzcmNfaWR4KTsKKwkJCQlyZXR1cm4gRVJSX1BU UigtRUlOVkFMKTsKKwkJCX0KKwkJCURSTV9ERUJVR19LTVMoInNnICVwIGVuZCBsZWZ0ICVkXG4i LCBzZywgbGVmdCk7CisKKwkJCWxlZnQgLT0gUEFHRV9TSVpFOworCQkJb2Zmc2V0ICs9IFBBR0Vf U0laRTsKKworCisJCQlpZiAoIWxlZnQpCisJCQkJc2cgPSBzZ19uZXh0KHNnKTsKKwkJfQorCX0K KworCXJldHVybiBzZzsKK30KKwogc3RhdGljIHVuc2lnbmVkIGludCByb3RhdGVkX3NpemUoY29u c3Qgc3RydWN0IGludGVsX3JlbWFwcGVkX3BsYW5lX2luZm8gKmEsCiAJCQkJIGNvbnN0IHN0cnVj dCBpbnRlbF9yZW1hcHBlZF9wbGFuZV9pbmZvICpiKQogewogCXJldHVybiBhLT53aWR0aCAqIGEt PmhlaWdodCArIGItPndpZHRoICogYi0+aGVpZ2h0OwogfQogCi1zdGF0aWMgaW50IGlndF92bWFf cm90YXRlKHZvaWQgKmFyZykKK3N0YXRpYyBpbnQgaWd0X3ZtYV9yb3RhdGVfcmVtYXAodm9pZCAq YXJnKQogewogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1ID0gYXJnOwogCXN0cnVjdCBp OTE1X2FkZHJlc3Nfc3BhY2UgKnZtID0gJmk5MTUtPmdndHQudm07CkBAIC00MjQsNiArNDkyLDEx IEBAIHN0YXRpYyBpbnQgaWd0X3ZtYV9yb3RhdGUodm9pZCAqYXJnKQogCQl7IC53aWR0aCA9IDYs IC5oZWlnaHQgPSA0LCAuc3RyaWRlID0gNiB9LAogCQl7IH0KIAl9LCAqYSwgKmI7CisJZW51bSBp OTE1X2dndHRfdmlld190eXBlIHR5cGVzW10gPSB7CisJCUk5MTVfR0dUVF9WSUVXX1JPVEFURUQs CisJCUk5MTVfR0dUVF9WSUVXX1JFTUFQUEVELAorCQkwLAorCX0sICp0OwogCWNvbnN0IHVuc2ln bmVkIGludCBtYXhfcGFnZXMgPSA2NDsKIAlpbnQgZXJyID0gLUVOT01FTTsKIApAQCAtNDM1LDYg KzUwOCw3IEBAIHN0YXRpYyBpbnQgaWd0X3ZtYV9yb3RhdGUodm9pZCAqYXJnKQogCWlmIChJU19F UlIob2JqKSkKIAkJZ290byBvdXQ7CiAKKwlmb3IgKHQgPSB0eXBlczsgKnQ7IHQrKykgewogCWZv ciAoYSA9IHBsYW5lczsgYS0+d2lkdGg7IGErKykgewogCQlmb3IgKGIgPSBwbGFuZXMgKyBBUlJB WV9TSVpFKHBsYW5lcyk7IGItLSAhPSBwbGFuZXM7ICkgewogCQkJc3RydWN0IGk5MTVfZ2d0dF92 aWV3IHZpZXc7CkBAIC00NDUsNyArNTE5LDcgQEAgc3RhdGljIGludCBpZ3Rfdm1hX3JvdGF0ZSh2 b2lkICphcmcpCiAJCQlHRU1fQlVHX09OKG1heF9vZmZzZXQgPiBtYXhfcGFnZXMpOwogCQkJbWF4 X29mZnNldCA9IG1heF9wYWdlcyAtIG1heF9vZmZzZXQ7CiAKLQkJCXZpZXcudHlwZSA9IEk5MTVf R0dUVF9WSUVXX1JPVEFURUQ7CisJCQl2aWV3LnR5cGUgPSAqdDsKIAkJCXZpZXcucm90YXRlZC5w bGFuZVswXSA9ICphOwogCQkJdmlldy5yb3RhdGVkLnBsYW5lWzFdID0gKmI7CiAKQEAgLTQ2Niwx NCArNTQwLDIzIEBAIHN0YXRpYyBpbnQgaWd0X3ZtYV9yb3RhdGUodm9pZCAqYXJnKQogCQkJCQkJ Z290byBvdXRfb2JqZWN0OwogCQkJCQl9CiAKLQkJCQkJaWYgKHZtYS0+c2l6ZSAhPSByb3RhdGVk X3NpemUoYSwgYikgKiBQQUdFX1NJWkUpIHsKKwkJCQkJaWYgKHZpZXcudHlwZSA9PSBJOTE1X0dH VFRfVklFV19ST1RBVEVEICYmCisJCQkJCSAgICB2bWEtPnNpemUgIT0gcm90YXRlZF9zaXplKGEs IGIpICogUEFHRV9TSVpFKSB7CiAJCQkJCQlwcl9lcnIoIlZNQSBpcyB3cm9uZyBzaXplLCBleHBl Y3RlZCAlbHUsIGZvdW5kICVsbHVcbiIsCiAJCQkJCQkgICAgICAgUEFHRV9TSVpFICogcm90YXRl ZF9zaXplKGEsIGIpLCB2bWEtPnNpemUpOwogCQkJCQkJZXJyID0gLUVJTlZBTDsKIAkJCQkJCWdv dG8gb3V0X29iamVjdDsKIAkJCQkJfQogCi0JCQkJCWlmICh2bWEtPnBhZ2VzLT5uZW50cyAhPSBy b3RhdGVkX3NpemUoYSwgYikpIHsKKwkJCQkJaWYgKHZpZXcudHlwZSA9PSBJOTE1X0dHVFRfVklF V19SRU1BUFBFRCAmJgorCQkJCQkgICAgdm1hLT5zaXplID4gcm90YXRlZF9zaXplKGEsIGIpICog UEFHRV9TSVpFKSB7CisJCQkJCQlwcl9lcnIoIlZNQSBpcyB3cm9uZyBzaXplLCBleHBlY3RlZCAl bHUsIGZvdW5kICVsbHVcbiIsCisJCQkJCQkgICAgICAgUEFHRV9TSVpFICogcm90YXRlZF9zaXpl KGEsIGIpLCB2bWEtPnNpemUpOworCQkJCQkJZXJyID0gLUVJTlZBTDsKKwkJCQkJCWdvdG8gb3V0 X29iamVjdDsKKwkJCQkJfQorCisJCQkJCWlmICh2bWEtPnBhZ2VzLT5uZW50cyA+IHJvdGF0ZWRf c2l6ZShhLCBiKSkgewogCQkJCQkJcHJfZXJyKCJzZyB0YWJsZSBpcyB3cm9uZyBzaXplbywgZXhw ZWN0ZWQgJXUsIGZvdW5kICV1IG5lbnRzXG4iLAogCQkJCQkJICAgICAgIHJvdGF0ZWRfc2l6ZShh LCBiKSwgdm1hLT5wYWdlcy0+bmVudHMpOwogCQkJCQkJZXJyID0gLUVJTlZBTDsKQEAgLTQ5NSw5 ICs1NzgsMTQgQEAgc3RhdGljIGludCBpZ3Rfdm1hX3JvdGF0ZSh2b2lkICphcmcpCiAKIAkJCQkJ c2cgPSB2bWEtPnBhZ2VzLT5zZ2w7CiAJCQkJCWZvciAobiA9IDA7IG4gPCBBUlJBWV9TSVpFKHZp ZXcucm90YXRlZC5wbGFuZSk7IG4rKykgewotCQkJCQkJc2cgPSBhc3NlcnRfcm90YXRlZChvYmos ICZ2aWV3LnJvdGF0ZWQsIG4sIHNnKTsKKwkJCQkJCWlmICh2aWV3LnR5cGUgPT0gSTkxNV9HR1RU X1ZJRVdfUk9UQVRFRCkKKwkJCQkJCQlzZyA9IGFzc2VydF9yb3RhdGVkKG9iaiwgJnZpZXcucm90 YXRlZCwgbiwgc2cpOworCQkJCQkJZWxzZQorCQkJCQkJCXNnID0gYXNzZXJ0X3JlbWFwcGVkKG9i aiwgJnZpZXcucmVtYXBwZWQsIG4sIHNnKTsKIAkJCQkJCWlmIChJU19FUlIoc2cpKSB7Ci0JCQkJ CQkJcHJfZXJyKCJJbmNvbnNpc3RlbnQgVk1BIHBhZ2VzIGZvciBwbGFuZSAlZDogWyglZCwgJWQs ICVkLCAlZCksICglZCwgJWQsICVkLCAlZCldXG4iLCBuLAorCQkJCQkJCXByX2VycigiSW5jb25z aXN0ZW50ICVzIFZNQSBwYWdlcyBmb3IgcGxhbmUgJWQ6IFsoJWQsICVkLCAlZCwgJWQpLCAoJWQs ICVkLCAlZCwgJWQpXVxuIiwKKwkJCQkJCQkgICAgICAgdmlldy50eXBlID09IEk5MTVfR0dUVF9W SUVXX1JPVEFURUQgPworCQkJCQkJCSAgICAgICAicm90YXRlZCIgOiAicmVtYXBwZWQiLCBuLAog CQkJCQkJCSAgICAgICB2aWV3LnJvdGF0ZWQucGxhbmVbMF0ud2lkdGgsCiAJCQkJCQkJICAgICAg IHZpZXcucm90YXRlZC5wbGFuZVswXS5oZWlnaHQsCiAJCQkJCQkJICAgICAgIHZpZXcucm90YXRl ZC5wbGFuZVswXS5zdHJpZGUsCkBAIC01MTYsNiArNjA0LDcgQEAgc3RhdGljIGludCBpZ3Rfdm1h X3JvdGF0ZSh2b2lkICphcmcpCiAJCQl9CiAJCX0KIAl9CisJfQogCiBvdXRfb2JqZWN0OgogCWk5 MTVfZ2VtX29iamVjdF9wdXQob2JqKTsKQEAgLTcxOSw3ICs4MDgsNyBAQCBpbnQgaTkxNV92bWFf bW9ja19zZWxmdGVzdHModm9pZCkKIAlzdGF0aWMgY29uc3Qgc3RydWN0IGk5MTVfc3VidGVzdCB0 ZXN0c1tdID0gewogCQlTVUJURVNUKGlndF92bWFfY3JlYXRlKSwKIAkJU1VCVEVTVChpZ3Rfdm1h X3BpbjEpLAotCQlTVUJURVNUKGlndF92bWFfcm90YXRlKSwKKwkJU1VCVEVTVChpZ3Rfdm1hX3Jv dGF0ZV9yZW1hcCksCiAJCVNVQlRFU1QoaWd0X3ZtYV9wYXJ0aWFsKSwKIAl9OwogCXN0cnVjdCBk cm1faTkxNV9wcml2YXRlICppOTE1OwotLSAKMi4xOS4yCgpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdm eEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFp bG1hbi9saXN0aW5mby9pbnRlbC1nZngK