From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [PATCH 36/46] drm/i915: Test creation of VMA Date: Thu, 2 Feb 2017 09:08:55 +0000 Message-ID: <20170202090905.29028-37-chris@chris-wilson.co.uk> References: <20170202090905.29028-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-x244.google.com (mail-wj0-x244.google.com [IPv6:2a00:1450:400c:c01::244]) by gabe.freedesktop.org (Postfix) with ESMTPS id B91296E95D for ; Thu, 2 Feb 2017 09:09:47 +0000 (UTC) Received: by mail-wj0-x244.google.com with SMTP id i7so215474wjf.2 for ; Thu, 02 Feb 2017 01:09:47 -0800 (PST) In-Reply-To: <20170202090905.29028-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 c29uLmNvLnVrPgpSZXZpZXdlZC1ieTogSm9vbmFzIExhaHRpbmVuIDxqb29uYXMubGFodGluZW5A bGludXguaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdm1hLmMgICAg ICAgICAgICAgICAgICAgIHwgICAzICsKIC4uLi9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2k5MTVf bW9ja19zZWxmdGVzdHMuaCAgIHwgICAxICsKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0 cy9pOTE1X3ZtYS5jICAgICAgICAgIHwgMjI0ICsrKysrKysrKysrKysrKysrKysrKwogMyBmaWxl cyBjaGFuZ2VkLCAyMjggaW5zZXJ0aW9ucygrKQogY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMv Z3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pOTE1X3ZtYS5jCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV92bWEuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdm1hLmMK aW5kZXggMTU1OTA2ZTg0ODEyLi41YzMyZDEyYjJkOGQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfdm1hLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV92bWEu YwpAQCAtNjg3LDMgKzY4Nyw2IEBAIGludCBpOTE1X3ZtYV91bmJpbmQoc3RydWN0IGk5MTVfdm1h ICp2bWEpCiAJcmV0dXJuIDA7CiB9CiAKKyNpZiBJU19FTkFCTEVEKENPTkZJR19EUk1fSTkxNV9T RUxGVEVTVCkKKyNpbmNsdWRlICJzZWxmdGVzdHMvaTkxNV92bWEuYyIKKyNlbmRpZgpkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2k5MTVfbW9ja19zZWxmdGVzdHMu aCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pOTE1X21vY2tfc2VsZnRlc3RzLmgK aW5kZXggOTU1YTRkNmNjZGFmLi5iNDUwZWFiN2U2ZTEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L3NlbGZ0ZXN0cy9pOTE1X21vY2tfc2VsZnRlc3RzLmgKKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvc2VsZnRlc3RzL2k5MTVfbW9ja19zZWxmdGVzdHMuaApAQCAtMTUsMyArMTUs NCBAQCBzZWxmdGVzdChicmVhZGNydW1icywgaW50ZWxfYnJlYWRjcnVtYnNfbW9ja19zZWxmdGVz dHMpCiBzZWxmdGVzdChyZXF1ZXN0cywgaTkxNV9nZW1fcmVxdWVzdF9tb2NrX3NlbGZ0ZXN0cykK IHNlbGZ0ZXN0KG9iamVjdHMsIGk5MTVfZ2VtX29iamVjdF9tb2NrX3NlbGZ0ZXN0cykKIHNlbGZ0 ZXN0KGRtYWJ1ZiwgaTkxNV9nZW1fZG1hYnVmX21vY2tfc2VsZnRlc3RzKQorc2VsZnRlc3Qodm1h LCBpOTE1X3ZtYV9tb2NrX3NlbGZ0ZXN0cykKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L3NlbGZ0ZXN0cy9pOTE1X3ZtYS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3Rz L2k5MTVfdm1hLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi5lNjBm M2E5NjJmNTYKLS0tIC9kZXYvbnVsbAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVz dHMvaTkxNV92bWEuYwpAQCAtMCwwICsxLDIyNCBAQAorLyoKKyAqIENvcHlyaWdodCDCqSAyMDE2 IEludGVsIENvcnBvcmF0aW9uCisgKgorICogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwg ZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyAqIGNvcHkgb2YgdGhp cyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgIlNvZnR3 YXJlIiksCisgKiB0byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBp bmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uCisgKiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwg bW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwKKyAqIGFuZC9v ciBzZWxsIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3 aG9tIHRoZQorICogU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRo ZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyAqCisgKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGlj ZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSAoaW5jbHVkaW5nIHRoZSBuZXh0CisgKiBwYXJh Z3JhcGgpIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9y dGlvbnMgb2YgdGhlCisgKiBTb2Z0d2FyZS4KKyAqCisgKiBUSEUgU09GVFdBUkUgSVMgUFJPVklE RUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgorICog SU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBN RVJDSEFOVEFCSUxJVFksCisgKiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQg Tk9OSU5GUklOR0VNRU5ULiAgSU4gTk8gRVZFTlQgU0hBTEwKKyAqIFRIRSBBVVRIT1JTIE9SIENP UFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVS CisgKiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9S IE9USEVSV0lTRSwgQVJJU0lORworICogRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lU SCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUworICogSU4gVEhFIFNP RlRXQVJFLgorICoKKyAqLworCisjaW5jbHVkZSA8bGludXgvcHJpbWVfbnVtYmVycy5oPgorCisj aW5jbHVkZSAiLi4vaTkxNV9zZWxmdGVzdC5oIgorCisjaW5jbHVkZSAibW9ja19nZW1fZGV2aWNl LmgiCisjaW5jbHVkZSAibW9ja19jb250ZXh0LmgiCisKK3N0YXRpYyBib29sIGFzc2VydF92bWEo c3RydWN0IGk5MTVfdm1hICp2bWEsCisJCSAgICAgICBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVj dCAqb2JqLAorCQkgICAgICAgc3RydWN0IGk5MTVfZ2VtX2NvbnRleHQgKmN0eCkKK3sKKwlib29s IG9rID0gdHJ1ZTsKKworCWlmICh2bWEtPnZtICE9ICZjdHgtPnBwZ3R0LT5iYXNlKSB7CisJCXBy X2VycigiVk1BIGNyZWF0ZWQgd2l0aCB3cm9uZyBWTVxuIik7CisJCW9rID0gZmFsc2U7CisJfQor CisJaWYgKHZtYS0+c2l6ZSAhPSBvYmotPmJhc2Uuc2l6ZSkgeworCQlwcl9lcnIoIlZNQSBjcmVh dGVkIHdpdGggd3Jvbmcgc2l6ZSwgZm91bmQgJWxsdSwgZXhwZWN0ZWQgJXp1XG4iLAorCQkgICAg ICAgdm1hLT5zaXplLCBvYmotPmJhc2Uuc2l6ZSk7CisJCW9rID0gZmFsc2U7CisJfQorCisJaWYg KHZtYS0+Z2d0dF92aWV3LnR5cGUgIT0gSTkxNV9HR1RUX1ZJRVdfTk9STUFMKSB7CisJCXByX2Vy cigiVk1BIGNyZWF0ZWQgd2l0aCB3cm9uZyB0eXBlIFslZF1cbiIsCisJCSAgICAgICB2bWEtPmdn dHRfdmlldy50eXBlKTsKKwkJb2sgPSBmYWxzZTsKKwl9CisKKwlyZXR1cm4gb2s7Cit9CisKK3N0 YXRpYyBzdHJ1Y3QgaTkxNV92bWEgKgorY2hlY2tlZF92bWFfaW5zdGFuY2Uoc3RydWN0IGRybV9p OTE1X2dlbV9vYmplY3QgKm9iaiwKKwkJICAgICBzdHJ1Y3QgaTkxNV9hZGRyZXNzX3NwYWNlICp2 bSwKKwkJICAgICBzdHJ1Y3QgaTkxNV9nZ3R0X3ZpZXcgKnZpZXcpCit7CisJc3RydWN0IGk5MTVf dm1hICp2bWE7CisJYm9vbCBvayA9IHRydWU7CisKKwl2bWEgPSBpOTE1X3ZtYV9pbnN0YW5jZShv YmosIHZtLCB2aWV3KTsKKwlpZiAoSVNfRVJSKHZtYSkpCisJCXJldHVybiB2bWE7CisKKwkvKiBN YW51YWwgY2hlY2tzLCB3aWxsIGJlIHJlaW5mb3JjZWQgYnkgaTkxNV92bWFfY29tcGFyZSEgKi8K KwlpZiAodm1hLT52bSAhPSB2bSkgeworCQlwcl9lcnIoIlZNQSdzIHZtIFslcF0gZG9lcyBub3Qg bWF0Y2ggcmVxdWVzdCBbJXBdXG4iLAorCQkgICAgICAgdm1hLT52bSwgdm0pOworCQlvayA9IGZh bHNlOworCX0KKworCWlmIChpOTE1X2lzX2dndHQodm0pICE9IGk5MTVfdm1hX2lzX2dndHQodm1h KSkgeworCQlwcl9lcnIoIlZNQSBnZ3R0IHN0YXR1cyBbJWRdIGRvZXMgbm90IG1hdGNoIHBhcmVu dCBbJWRdXG4iLAorCQkgICAgICAgaTkxNV92bWFfaXNfZ2d0dCh2bWEpLCBpOTE1X2lzX2dndHQo dm0pKTsKKwkJb2sgPSBmYWxzZTsKKwl9CisKKwlpZiAoaTkxNV92bWFfY29tcGFyZSh2bWEsIHZt LCB2aWV3KSkgeworCQlwcl9lcnIoImk5MTVfdm1hX2NvbXBhcmUgZmFpbGVkIHdpdGggY3JlYXRl IHBhcm1hdGVycyFcbiIpOworCQlyZXR1cm4gRVJSX1BUUigtRUlOVkFMKTsKKwl9CisKKwlpZiAo aTkxNV92bWFfY29tcGFyZSh2bWEsIHZtYS0+dm0sCisJCQkgICAgIGk5MTVfdm1hX2lzX2dndHQo dm1hKSA/ICZ2bWEtPmdndHRfdmlldyA6IE5VTEwpKSB7CisJCXByX2VycigiaTkxNV92bWFfY29t cGFyZSBmYWlsZWQgd2l0aCBpdHNlbGZcbiIpOworCQlyZXR1cm4gRVJSX1BUUigtRUlOVkFMKTsK Kwl9CisKKwlpZiAoIW9rKSB7CisJCXByX2VycigiaTkxNV92bWFfY29tcGFyZSBmYWlsZWQgdG8g ZGV0ZWN0IHRoZSBkaWZmZXJlbmNlIVxuIik7CisJCXJldHVybiBFUlJfUFRSKC1FSU5WQUwpOwor CX0KKworCXJldHVybiB2bWE7Cit9CisKK3N0YXRpYyBpbnQgY3JlYXRlX3ZtYXMoc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmk5MTUsCisJCSAgICAgICBzdHJ1Y3QgbGlzdF9oZWFkICpvYmplY3Rz LAorCQkgICAgICAgc3RydWN0IGxpc3RfaGVhZCAqY29udGV4dHMpCit7CisJc3RydWN0IGRybV9p OTE1X2dlbV9vYmplY3QgKm9iajsKKwlzdHJ1Y3QgaTkxNV9nZW1fY29udGV4dCAqY3R4OworCWlu dCBwaW5uZWQ7CisKKwlsaXN0X2Zvcl9lYWNoX2VudHJ5KG9iaiwgb2JqZWN0cywgYmF0Y2hfcG9v bF9saW5rKSB7CisJCWZvciAocGlubmVkID0gMDsgcGlubmVkIDw9IDE7IHBpbm5lZCsrKSB7CisJ CQlsaXN0X2Zvcl9lYWNoX2VudHJ5KGN0eCwgY29udGV4dHMsIGxpbmspIHsKKwkJCQlzdHJ1Y3Qg aTkxNV9hZGRyZXNzX3NwYWNlICp2bSA9CisJCQkJCSZjdHgtPnBwZ3R0LT5iYXNlOworCQkJCXN0 cnVjdCBpOTE1X3ZtYSAqdm1hOworCQkJCWludCBlcnI7CisKKwkJCQl2bWEgPSBjaGVja2VkX3Zt YV9pbnN0YW5jZShvYmosIHZtLCBOVUxMKTsKKwkJCQlpZiAoSVNfRVJSKHZtYSkpCisJCQkJCXJl dHVybiBQVFJfRVJSKHZtYSk7CisKKwkJCQlpZiAoIWFzc2VydF92bWEodm1hLCBvYmosIGN0eCkp IHsKKwkJCQkJcHJfZXJyKCJWTUEgbG9va3VwL2NyZWF0ZSBmYWlsZWRcbiIpOworCQkJCQlyZXR1 cm4gLUVJTlZBTDsKKwkJCQl9CisKKwkJCQlpZiAoIXBpbm5lZCkgeworCQkJCQllcnIgPSBpOTE1 X3ZtYV9waW4odm1hLCAwLCAwLCBQSU5fVVNFUik7CisJCQkJCWlmIChlcnIpIHsKKwkJCQkJCXBy X2VycigiRmFpbGVkIHRvIHBpbiBWTUFcbiIpOworCQkJCQkJcmV0dXJuIGVycjsKKwkJCQkJfQor CQkJCX0gZWxzZSB7CisJCQkJCWk5MTVfdm1hX3VucGluKHZtYSk7CisJCQkJfQorCQkJfQorCQl9 CisJfQorCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgaWd0X3ZtYV9jcmVhdGUodm9pZCAq YXJnKQoreworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1ID0gYXJnOworCXN0cnVjdCBk cm1faTkxNV9nZW1fb2JqZWN0ICpvYmosICpvbjsKKwlzdHJ1Y3QgaTkxNV9nZW1fY29udGV4dCAq Y3R4LCAqY247CisJdW5zaWduZWQgbG9uZyBudW1fb2JqLCBudW1fY3R4OworCXVuc2lnbmVkIGxv bmcgbm8sIG5jOworCUlHVF9USU1FT1VUKGVuZF90aW1lKTsKKwlMSVNUX0hFQUQoY29udGV4dHMp OworCUxJU1RfSEVBRChvYmplY3RzKTsKKwlpbnQgZXJyOworCisJLyogRXhlcmNpc2UgY3JlYXRp bmcgbWFueSB2bWEgYW1vbnN0IG1hbnkgb2JqZWN0aW9ucywgY2hlY2tpbmcgdGhlCisJICogdm1h IGNyZWF0aW9uIGFuZCBsb29rdXAgcm91dGluZXMuCisJICovCisKKwlubyA9IDA7CisJZm9yX2Vh Y2hfcHJpbWVfbnVtYmVyKG51bV9vYmosIFVMT05HX01BWCAtIDEpIHsKKwkJZm9yICg7IG5vIDwg bnVtX29iajsgbm8rKykgeworCQkJb2JqID0gaTkxNV9nZW1fb2JqZWN0X2NyZWF0ZV9pbnRlcm5h bChpOTE1LCBQQUdFX1NJWkUpOworCQkJaWYgKElTX0VSUihvYmopKQorCQkJCWdvdG8gb3V0Owor CisJCQlsaXN0X2FkZCgmb2JqLT5iYXRjaF9wb29sX2xpbmssICZvYmplY3RzKTsKKwkJfQorCisJ CW5jID0gMDsKKwkJZm9yX2VhY2hfcHJpbWVfbnVtYmVyKG51bV9jdHgsIE1BWF9DT05URVhUX0hX X0lEKSB7CisJCQlmb3IgKDsgbmMgPCBudW1fY3R4OyBuYysrKSB7CisJCQkJY3R4ID0gbW9ja19j b250ZXh0KGk5MTUsICJtb2NrIik7CisJCQkJaWYgKCFjdHgpCisJCQkJCWdvdG8gb3V0OworCisJ CQkJbGlzdF9tb3ZlKCZjdHgtPmxpbmssICZjb250ZXh0cyk7CisJCQl9CisKKwkJCWVyciA9IGNy ZWF0ZV92bWFzKGk5MTUsICZvYmplY3RzLCAmY29udGV4dHMpOworCQkJaWYgKGVycikKKwkJCQln b3RvIG91dDsKKworCQkJaWYgKGlndF90aW1lb3V0KGVuZF90aW1lLAorCQkJCQkiJXMgdGltZWQg b3V0OiBhZnRlciAlbHUgb2JqZWN0cyBpbiAlbHUgY29udGV4dHNcbiIsCisJCQkJCV9fZnVuY19f LCBubywgbmMpKQorCQkJCWdvdG8gZW5kOworCQl9CisKKwkJbGlzdF9mb3JfZWFjaF9lbnRyeV9z YWZlKGN0eCwgY24sICZjb250ZXh0cywgbGluaykKKwkJCW1vY2tfY29udGV4dF9jbG9zZShjdHgp OworCX0KKworZW5kOgorCS8qIEZpbmFsIHBhc3MgdG8gbG9va3VwIGFsbCBjcmVhdGVkIGNvbnRl eHRzICovCisJZXJyID0gY3JlYXRlX3ZtYXMoaTkxNSwgJm9iamVjdHMsICZjb250ZXh0cyk7Citv dXQ6CisJbGlzdF9mb3JfZWFjaF9lbnRyeV9zYWZlKGN0eCwgY24sICZjb250ZXh0cywgbGluaykK KwkJbW9ja19jb250ZXh0X2Nsb3NlKGN0eCk7CisKKwlsaXN0X2Zvcl9lYWNoX2VudHJ5X3NhZmUo b2JqLCBvbiwgJm9iamVjdHMsIGJhdGNoX3Bvb2xfbGluaykKKwkJaTkxNV9nZW1fb2JqZWN0X3B1 dChvYmopOworCXJldHVybiBlcnI7Cit9CisKK2ludCBpOTE1X3ZtYV9tb2NrX3NlbGZ0ZXN0cyh2 b2lkKQoreworCXN0YXRpYyBjb25zdCBzdHJ1Y3QgaTkxNV9zdWJ0ZXN0IHRlc3RzW10gPSB7CisJ CVNVQlRFU1QoaWd0X3ZtYV9jcmVhdGUpLAorCX07CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg Kmk5MTU7CisJaW50IGVycjsKKworCWk5MTUgPSBtb2NrX2dlbV9kZXZpY2UoKTsKKwlpZiAoIWk5 MTUpCisJCXJldHVybiAtRU5PTUVNOworCisJbXV0ZXhfbG9jaygmaTkxNS0+ZHJtLnN0cnVjdF9t dXRleCk7CisJZXJyID0gaTkxNV9zdWJ0ZXN0cyh0ZXN0cywgaTkxNSk7CisJbXV0ZXhfdW5sb2Nr KCZpOTE1LT5kcm0uc3RydWN0X211dGV4KTsKKworCWRybV9kZXZfdW5yZWYoJmk5MTUtPmRybSk7 CisJcmV0dXJuIGVycjsKK30KKwotLSAKMi4xMS4wCgpfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBs aXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1h bi9saXN0aW5mby9pbnRlbC1nZngK