From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [PATCH v2 30/38] drm/i915: Test creation of VMA Date: Thu, 19 Jan 2017 11:41:50 +0000 Message-ID: <20170119114158.17941-31-chris@chris-wilson.co.uk> References: <20170119114158.17941-1-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wj0-x242.google.com (mail-wj0-x242.google.com [IPv6:2a00:1450:400c:c01::242]) by gabe.freedesktop.org (Postfix) with ESMTPS id 9C2C66EA39 for ; Thu, 19 Jan 2017 11:42:36 +0000 (UTC) Received: by mail-wj0-x242.google.com with SMTP id i7so497146wjf.2 for ; Thu, 19 Jan 2017 03:42:36 -0800 (PST) In-Reply-To: <20170119114158.17941-1-chris@chris-wilson.co.uk> 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 U2ltcGxlIHRlc3QgdG8gZXhlcmNpc2UgY3JlYXRpb24gYW5kIGxvb2t1cCBvZiBWTUEgd2l0aGlu IGFuIG9iamVjdC4KClNpZ25lZC1vZmYtYnk6IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2ls c29uLmNvLnVrPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdm1hLmMgICAgICAgICAg ICAgICAgICAgIHwgICAzICsKIC4uLi9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2k5MTVfbW9ja19z ZWxmdGVzdHMuaCAgIHwgICAxICsKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pOTE1 X3ZtYS5jICAgICAgICAgIHwgMTgzICsrKysrKysrKysrKysrKysrKysrKwogMyBmaWxlcyBjaGFu Z2VkLCAxODcgaW5zZXJ0aW9ucygrKQogY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L3NlbGZ0ZXN0cy9pOTE1X3ZtYS5jCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV92bWEuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdm1hLmMKaW5kZXgg NjM1ZjI2MzViMWYyLi5iMTFlZDliOTViZWMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfdm1hLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV92bWEuYwpAQCAt NjY5LDMgKzY2OSw2IEBAIGludCBpOTE1X3ZtYV91bmJpbmQoc3RydWN0IGk5MTVfdm1hICp2bWEp CiAJcmV0dXJuIDA7CiB9CiAKKyNpZiBJU19FTkFCTEVEKENPTkZJR19EUk1fSTkxNV9TRUxGVEVT VCkKKyNpbmNsdWRlICJzZWxmdGVzdHMvaTkxNV92bWEuYyIKKyNlbmRpZgpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2k5MTVfbW9ja19zZWxmdGVzdHMuaCBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pOTE1X21vY2tfc2VsZnRlc3RzLmgKaW5kZXgg OTU1YTRkNmNjZGFmLi5iNDUwZWFiN2U2ZTEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L3NlbGZ0ZXN0cy9pOTE1X21vY2tfc2VsZnRlc3RzLmgKKysrIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvc2VsZnRlc3RzL2k5MTVfbW9ja19zZWxmdGVzdHMuaApAQCAtMTUsMyArMTUsNCBAQCBz ZWxmdGVzdChicmVhZGNydW1icywgaW50ZWxfYnJlYWRjcnVtYnNfbW9ja19zZWxmdGVzdHMpCiBz ZWxmdGVzdChyZXF1ZXN0cywgaTkxNV9nZW1fcmVxdWVzdF9tb2NrX3NlbGZ0ZXN0cykKIHNlbGZ0 ZXN0KG9iamVjdHMsIGk5MTVfZ2VtX29iamVjdF9tb2NrX3NlbGZ0ZXN0cykKIHNlbGZ0ZXN0KGRt YWJ1ZiwgaTkxNV9nZW1fZG1hYnVmX21vY2tfc2VsZnRlc3RzKQorc2VsZnRlc3Qodm1hLCBpOTE1 X3ZtYV9tb2NrX3NlbGZ0ZXN0cykKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3Nl bGZ0ZXN0cy9pOTE1X3ZtYS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2k5MTVf dm1hLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi5hZDM0NTQwMzZh YTUKLS0tIC9kZXYvbnVsbAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaTkx NV92bWEuYwpAQCAtMCwwICsxLDE4MyBAQAorLyoKKyAqIENvcHlyaWdodCDCqSAyMDE2IEludGVs IENvcnBvcmF0aW9uCisgKgorICogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBv ZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyAqIGNvcHkgb2YgdGhpcyBzb2Z0 d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgIlNvZnR3YXJlIiks CisgKiB0byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRp bmcgd2l0aG91dCBsaW1pdGF0aW9uCisgKiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5 LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwKKyAqIGFuZC9vciBzZWxs IGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRo ZQorICogU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xs b3dpbmcgY29uZGl0aW9uczoKKyAqCisgKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQg dGhpcyBwZXJtaXNzaW9uIG5vdGljZSAoaW5jbHVkaW5nIHRoZSBuZXh0CisgKiBwYXJhZ3JhcGgp IHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMg b2YgdGhlCisgKiBTb2Z0d2FyZS4KKyAqCisgKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFT IElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgorICogSU1QTElF RCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFO VEFCSUxJVFksCisgKiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5G UklOR0VNRU5ULiAgSU4gTk8gRVZFTlQgU0hBTEwKKyAqIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdI VCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSCisgKiBM SUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVS V0lTRSwgQVJJU0lORworICogRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUg U09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUworICogSU4gVEhFIFNPRlRXQVJF LgorICoKKyAqLworCisjaW5jbHVkZSA8bGludXgvcHJpbWVfbnVtYmVycy5oPgorCisjaW5jbHVk ZSAiaTkxNV9zZWxmdGVzdC5oIgorCisjaW5jbHVkZSAibW9ja19nZW1fZGV2aWNlLmgiCisjaW5j bHVkZSAibW9ja19jb250ZXh0LmgiCisKK3N0YXRpYyBib29sIGFzc2VydF92bWEoc3RydWN0IGk5 MTVfdm1hICp2bWEsCisJCSAgICAgICBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqLAor CQkgICAgICAgc3RydWN0IGk5MTVfZ2VtX2NvbnRleHQgKmN0eCkKK3sKKwlpZiAodm1hLT52bSAh PSAmY3R4LT5wcGd0dC0+YmFzZSkgeworCQlwcl9lcnIoIlZNQSBjcmVhdGVkIHdpdGggd3Jvbmcg Vk1cbiIpOworCQlyZXR1cm4gZmFsc2U7CisJfQorCisJaWYgKHZtYS0+c2l6ZSAhPSBvYmotPmJh c2Uuc2l6ZSkgeworCQlwcl9lcnIoIlZNQSBjcmVhdGVkIHdpdGggd3Jvbmcgc2l6ZSwgZm91bmQg JWxsdSwgZXhwZWN0ZWQgJXp1XG4iLAorCQkgICAgICAgdm1hLT5zaXplLCBvYmotPmJhc2Uuc2l6 ZSk7CisJCXJldHVybiBmYWxzZTsKKwl9CisKKwlpZiAodm1hLT5nZ3R0X3ZpZXcudHlwZSAhPSBJ OTE1X0dHVFRfVklFV19OT1JNQUwpIHsKKwkJcHJfZXJyKCJWTUEgY3JlYXRlZCB3aXRoIHdyb25n IHR5cGUgWyVkXVxuIiwKKwkJICAgICAgIHZtYS0+Z2d0dF92aWV3LnR5cGUpOworCQlyZXR1cm4g ZmFsc2U7CisJfQorCisJcmV0dXJuIHRydWU7Cit9CisKK3N0YXRpYyBpbnQgY3JlYXRlX3ZtYXMo c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUsCisJCSAgICAgICBzdHJ1Y3QgbGlzdF9oZWFk ICpvYmplY3RzLAorCQkgICAgICAgc3RydWN0IGxpc3RfaGVhZCAqY29udGV4dHMpCit7CisJc3Ry dWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iajsKKwlzdHJ1Y3QgaTkxNV9nZW1fY29udGV4dCAq Y3R4OworCWludCBwaW5uZWQ7CisKKwlsaXN0X2Zvcl9lYWNoX2VudHJ5KG9iaiwgb2JqZWN0cywg YmF0Y2hfcG9vbF9saW5rKSB7CisJCWZvciAocGlubmVkID0gMDsgcGlubmVkIDw9IDE7IHBpbm5l ZCsrKSB7CisJCQlsaXN0X2Zvcl9lYWNoX2VudHJ5KGN0eCwgY29udGV4dHMsIGxpbmspIHsKKwkJ CQlzdHJ1Y3QgaTkxNV9hZGRyZXNzX3NwYWNlICp2bSA9CisJCQkJCSZjdHgtPnBwZ3R0LT5iYXNl OworCQkJCXN0cnVjdCBpOTE1X3ZtYSAqdm1hOworCQkJCWludCBlcnI7CisKKwkJCQl2bWEgPSBp OTE1X3ZtYV9pbnN0YW5jZShvYmosIHZtLCBOVUxMKTsKKwkJCQlpZiAoSVNfRVJSKHZtYSkpCisJ CQkJCXJldHVybiBQVFJfRVJSKHZtYSk7CisKKwkJCQlpZiAoaTkxNV92bWFfY29tcGFyZSh2bWEs IHZtLCBOVUxMKSkgeworCQkJCQlwcl9lcnIoImk5MTVfdm1hX2NvbXBhcmUgZmFpbGVkIVxuIik7 CisJCQkJCXJldHVybiAtRUlOVkFMOworCQkJCX0KKworCQkJCWlmICghYXNzZXJ0X3ZtYSh2bWEs IG9iaiwgY3R4KSkgeworCQkJCQlwcl9lcnIoIlZNQSBsb29rdXAvY3JlYXRlIGZhaWxlZFxuIik7 CisJCQkJCXJldHVybiAtRUlOVkFMOworCQkJCX0KKworCQkJCWlmICghcGlubmVkKSB7CisJCQkJ CWVyciA9IGk5MTVfdm1hX3Bpbih2bWEsIDAsIDAsIFBJTl9VU0VSKTsKKwkJCQkJaWYgKGVycikg eworCQkJCQkJcHJfZXJyKCJGYWlsZWQgdG8gcGluIFZNQVxuIik7CisJCQkJCQlyZXR1cm4gZXJy OworCQkJCQl9CisJCQkJfSBlbHNlIHsKKwkJCQkJaTkxNV92bWFfdW5waW4odm1hKTsKKwkJCQl9 CisJCQl9CisJCX0KKwl9CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBpZ3Rfdm1hX2Ny ZWF0ZSh2b2lkICphcmcpCit7CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUgPSBhcmc7 CisJc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiwgKm9uOworCXN0cnVjdCBpOTE1X2dl bV9jb250ZXh0ICpjdHgsICpjbjsKKwl1bnNpZ25lZCBsb25nIG51bV9vYmosIG51bV9jdHg7CisJ dW5zaWduZWQgbG9uZyBubywgbmM7CisJSUdUX1RJTUVPVVQoZW5kX3RpbWUpOworCUxJU1RfSEVB RChjb250ZXh0cyk7CisJTElTVF9IRUFEKG9iamVjdHMpOworCWludCBlcnI7CisKKwkvKiBFeGVy Y2lzZSBjcmVhdGluZyBtYW55IHZtYSBhbW9uc3QgbWFueSBvYmplY3Rpb25zLCBjaGVja2luZyB0 aGUKKwkgKiB2bWEgY3JlYXRpb24gYW5kIGxvb2t1cCByb3V0aW5lcy4KKwkgKi8KKworCW5vID0g MDsKKwlmb3JfZWFjaF9wcmltZV9udW1iZXIobnVtX29iaiwgVUxPTkdfTUFYIC0gMSkgeworCQlm b3IgKDsgbm8gPCBudW1fb2JqOyBubysrKSB7CisJCQlvYmogPSBpOTE1X2dlbV9vYmplY3RfY3Jl YXRlX2ludGVybmFsKGk5MTUsIFBBR0VfU0laRSk7CisJCQlpZiAoSVNfRVJSKG9iaikpCisJCQkJ Z290byBlcnI7CisKKwkJCWxpc3RfYWRkKCZvYmotPmJhdGNoX3Bvb2xfbGluaywgJm9iamVjdHMp OworCQl9CisKKwkJbmMgPSAwOworCQlmb3JfZWFjaF9wcmltZV9udW1iZXIobnVtX2N0eCwgTUFY X0NPTlRFWFRfSFdfSUQpIHsKKwkJCWZvciAoOyBuYyA8IG51bV9jdHg7IG5jKyspIHsKKwkJCQlj dHggPSBtb2NrX2NvbnRleHQoaTkxNSwgIm1vY2siKTsKKwkJCQlpZiAoIWN0eCkKKwkJCQkJZ290 byBlcnI7CisKKwkJCQlsaXN0X21vdmUoJmN0eC0+bGluaywgJmNvbnRleHRzKTsKKwkJCX0KKwor CQkJZXJyID0gY3JlYXRlX3ZtYXMoaTkxNSwgJm9iamVjdHMsICZjb250ZXh0cyk7CisJCQlpZiAo ZXJyKQorCQkJCWdvdG8gZXJyOworCisJCQlpZiAoaWd0X3RpbWVvdXQoZW5kX3RpbWUsCisJCQkJ CSIlcyB0aW1lZCBvdXQ6IGFmdGVyICVsdSBvYmplY3RzXG4iLAorCQkJCQlfX2Z1bmNfXywgbm8p KQorCQkJCWdvdG8gb3V0OworCQl9CisKKwkJbGlzdF9mb3JfZWFjaF9lbnRyeV9zYWZlKGN0eCwg Y24sICZjb250ZXh0cywgbGluaykKKwkJCW1vY2tfY29udGV4dF9jbG9zZShjdHgpOworCX0KKwor b3V0OgorCS8qIEZpbmFsIHBhc3MgdG8gbG9va3VwIGFsbCBjcmVhdGVkIGNvbnRleHRzICovCisJ ZXJyID0gY3JlYXRlX3ZtYXMoaTkxNSwgJm9iamVjdHMsICZjb250ZXh0cyk7CitlcnI6CisJbGlz dF9mb3JfZWFjaF9lbnRyeV9zYWZlKGN0eCwgY24sICZjb250ZXh0cywgbGluaykKKwkJbW9ja19j b250ZXh0X2Nsb3NlKGN0eCk7CisKKwlsaXN0X2Zvcl9lYWNoX2VudHJ5X3NhZmUob2JqLCBvbiwg Jm9iamVjdHMsIGJhdGNoX3Bvb2xfbGluaykKKwkJaTkxNV9nZW1fb2JqZWN0X3B1dChvYmopOwor CXJldHVybiBlcnI7Cit9CisKK2ludCBpOTE1X3ZtYV9tb2NrX3NlbGZ0ZXN0cyh2b2lkKQorewor CXN0YXRpYyBjb25zdCBzdHJ1Y3QgaTkxNV9zdWJ0ZXN0IHRlc3RzW10gPSB7CisJCVNVQlRFU1Qo aWd0X3ZtYV9jcmVhdGUpLAorCX07CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTU7CisJ aW50IGVycjsKKworCWk5MTUgPSBtb2NrX2dlbV9kZXZpY2UoKTsKKwlpZiAoIWk5MTUpCisJCXJl dHVybiAtRU5PTUVNOworCisJbXV0ZXhfbG9jaygmaTkxNS0+ZHJtLnN0cnVjdF9tdXRleCk7CisJ ZXJyID0gaTkxNV9zdWJ0ZXN0cyh0ZXN0cywgaTkxNSk7CisJbXV0ZXhfdW5sb2NrKCZpOTE1LT5k cm0uc3RydWN0X211dGV4KTsKKworCWRybV9kZXZfdW5yZWYoJmk5MTUtPmRybSk7CisJcmV0dXJu IGVycjsKK30KKwotLSAKMi4xMS4wCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVl ZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5m by9pbnRlbC1nZngK