From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [PATCH 02/15] drm/i915/gtt: Preallocate Braswell top-level page directory Date: Fri, 23 Aug 2019 14:26:47 +0100 Message-ID: <20190823132700.25286-3-chris@chris-wilson.co.uk> References: <20190823132700.25286-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 fireflyinternet.com (mail.fireflyinternet.com [109.228.58.192]) by gabe.freedesktop.org (Postfix) with ESMTPS id DDCA96EC94 for ; Fri, 23 Aug 2019 13:27:17 +0000 (UTC) In-Reply-To: <20190823132700.25286-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 SW4gb3JkZXIgZm9yIHRoZSBCcmFzd2VsbCB0b3AtbGV2ZWwgUEQgdG8gcmVtYWluIHRoZSBzYW1l IGZyb20gdGhlIHRpbWUKb2YgcmVxdWVzdCBjb25zdHJ1Y3Rpb24gdG8gaXRzIHN1Ym1pc3Npb24g b250byBIVywgYXMgd2UgbWF5IGJlCmFzeW5jaHJvbm91c2x5IHJld3JpdGluZyB0aGUgcGFnZSB0 YWJsZXMgKHRodXMgY2hhbmdpbmcgdGhlIGV4cGVjdGVkCnJlZ2lzdGVyIHN0YXRlIGFmdGVyIGhh dmluZyBhbHJlYWR5IHN0b3JlZCB0aGUgb2xkIGFkZHJlc3NlcyBpbiB0aGUKcmVxdWVzdCksIHRo ZSB0b3AgbGV2ZWwgUEQgbXVzdCBiZSBwcmVhbGxvY2F0ZWQuCgpTbyB3YXZlIGdvb2RieWUgdG8g b3VyIGxhenkgYWxsb2NhdGlvbiBvZiB0aG9zZSA0eDIgcGFnZXMuCgp2MjogQSBsaXR0bGUgYml0 IG9mIHdyaXRlLWZsdXNoaW5nIHJlcXVpcmVkIChwcmVzdW1hYmx5IGl0IGFsd2F5cyBoYXMKYmVl biByZXF1aXJlZCwgYnV0IG5vdyB3ZSBhcmUgbW9yZSBzdXNjZXB0aWJsZSBhbmQgaXQgaXMgc2hv d2luZyB1cCEpCgpTaWduZWQtb2ZmLWJ5OiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNv bi5jby51az4KQ2M6IE1pa2EgS3VvcHBhbGEgPG1pa2Eua3VvcHBhbGFAbGludXguaW50ZWwuY29t PgpSZXZpZXdlZC1ieTogTWlrYSBLdW9wcGFsYSA8bWlrYS5rdW9wcGFsYUBsaW51eC5pbnRlbC5j b20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX2NvbnRleHQuYyB8ICA4 ICsrLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfbHJjLmMgICAgICAgICB8IDU5ICst LS0tLS0tLS0tLS0tLS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmMg ICAgICAgICB8IDEwICsrLS0KIDMgZmlsZXMgY2hhbmdlZCwgMTMgaW5zZXJ0aW9ucygrKSwgNjQg ZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVf Z2VtX2NvbnRleHQuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9jb250ZXh0 LmMKaW5kZXggMWNkZmUwNTUxNGMzLi44NjNiNWNjMWZmYTkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9jb250ZXh0LmMKKysrIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvZ2VtL2k5MTVfZ2VtX2NvbnRleHQuYwpAQCAtMTAwMywxMiArMTAwMywxOCBAQCBzdGF0 aWMgaW50IGVtaXRfcHBndHRfdXBkYXRlKHN0cnVjdCBpOTE1X3JlcXVlc3QgKnJxLCB2b2lkICpk YXRhKQogCQlpbnRlbF9yaW5nX2FkdmFuY2UocnEsIGNzKTsKIAl9IGVsc2UgaWYgKEhBU19MT0dJ Q0FMX1JJTkdfQ09OVEVYVFMoZW5naW5lLT5pOTE1KSkgewogCQlzdHJ1Y3QgaTkxNV9wcGd0dCAq cHBndHQgPSBpOTE1X3ZtX3RvX3BwZ3R0KHZtKTsKKwkJaW50IGVycjsKKworCQkvKiBNYWdpYyBy ZXF1aXJlZCB0byBwcmV2ZW50IGZvcmNld2FrZSBlcnJvcnMhICovCisJCWVyciA9IGVuZ2luZS0+ ZW1pdF9mbHVzaChycSwgRU1JVF9JTlZBTElEQVRFKTsKKwkJaWYgKGVycikKKwkJCXJldHVybiBl cnI7CiAKIAkJY3MgPSBpbnRlbF9yaW5nX2JlZ2luKHJxLCA0ICogR0VOOF8zTFZMX1BEUEVTICsg Mik7CiAJCWlmIChJU19FUlIoY3MpKQogCQkJcmV0dXJuIFBUUl9FUlIoY3MpOwogCi0JCSpjcysr ID0gTUlfTE9BRF9SRUdJU1RFUl9JTU0oMiAqIEdFTjhfM0xWTF9QRFBFUyk7CisJCSpjcysrID0g TUlfTE9BRF9SRUdJU1RFUl9JTU0oMiAqIEdFTjhfM0xWTF9QRFBFUykgfCBNSV9MUklfRk9SQ0Vf UE9TVEVEOzsKIAkJZm9yIChpID0gR0VOOF8zTFZMX1BEUEVTOyBpLS07ICkgewogCQkJY29uc3Qg ZG1hX2FkZHJfdCBwZF9kYWRkciA9IGk5MTVfcGFnZV9kaXJfZG1hX2FkZHIocHBndHQsIGkpOwog CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9scmMuYyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2xyYy5jCmluZGV4IGQ0MjU4NDQzOWY1MS4uZDE0NTY5 Zjc2MzdkIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9scmMuYwor KysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9scmMuYwpAQCAtMTg3MSw2MCArMTg3 MSw2IEBAIHN0YXRpYyBpbnQgZ2VuOF9lbWl0X2luaXRfYnJlYWRjcnVtYihzdHJ1Y3QgaTkxNV9y ZXF1ZXN0ICpycSkKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIGludCBlbWl0X3BkcHMoc3RydWN0 IGk5MTVfcmVxdWVzdCAqcnEpCi17Ci0JY29uc3Qgc3RydWN0IGludGVsX2VuZ2luZV9jcyAqIGNv bnN0IGVuZ2luZSA9IHJxLT5lbmdpbmU7Ci0Jc3RydWN0IGk5MTVfcHBndHQgKiBjb25zdCBwcGd0 dCA9IGk5MTVfdm1fdG9fcHBndHQocnEtPmh3X2NvbnRleHQtPnZtKTsKLQlpbnQgZXJyLCBpOwot CXUzMiAqY3M7Ci0KLQlHRU1fQlVHX09OKGludGVsX3ZncHVfYWN0aXZlKHJxLT5pOTE1KSk7Ci0K LQkvKgotCSAqIEJld2FyZSB5ZSBvZiB0aGUgZHJhZ29ucywgdGhpcyBzZXF1ZW5jZSBpcyBtYWdp YyEKLQkgKgotCSAqIFNtYWxsIGNoYW5nZXMgdG8gdGhpcyBzZXF1ZW5jZSBjYW4gY2F1c2UgYW55 dGhpbmcgZnJvbQotCSAqIEdQVSBoYW5ncyB0byBmb3JjZXdha2UgZXJyb3JzIGFuZCBtYWNoaW5l IGxvY2t1cHMhCi0JICovCi0KLQkvKiBGbHVzaCBhbnkgcmVzaWR1YWwgb3BlcmF0aW9ucyBmcm9t IHRoZSBjb250ZXh0IGxvYWQgKi8KLQllcnIgPSBlbmdpbmUtPmVtaXRfZmx1c2gocnEsIEVNSVRf RkxVU0gpOwotCWlmIChlcnIpCi0JCXJldHVybiBlcnI7Ci0KLQkvKiBNYWdpYyByZXF1aXJlZCB0 byBwcmV2ZW50IGZvcmNld2FrZSBlcnJvcnMhICovCi0JZXJyID0gZW5naW5lLT5lbWl0X2ZsdXNo KHJxLCBFTUlUX0lOVkFMSURBVEUpOwotCWlmIChlcnIpCi0JCXJldHVybiBlcnI7Ci0KLQljcyA9 IGludGVsX3JpbmdfYmVnaW4ocnEsIDQgKiBHRU44XzNMVkxfUERQRVMgKyAyKTsKLQlpZiAoSVNf RVJSKGNzKSkKLQkJcmV0dXJuIFBUUl9FUlIoY3MpOwotCi0JLyogRW5zdXJlIHRoZSBMUkkgaGF2 ZSBsYW5kZWQgYmVmb3JlIHdlIGludmFsaWRhdGUgJiBjb250aW51ZSAqLwotCSpjcysrID0gTUlf TE9BRF9SRUdJU1RFUl9JTU0oMiAqIEdFTjhfM0xWTF9QRFBFUykgfCBNSV9MUklfRk9SQ0VfUE9T VEVEOwotCWZvciAoaSA9IEdFTjhfM0xWTF9QRFBFUzsgaS0tOyApIHsKLQkJY29uc3QgZG1hX2Fk ZHJfdCBwZF9kYWRkciA9IGk5MTVfcGFnZV9kaXJfZG1hX2FkZHIocHBndHQsIGkpOwotCQl1MzIg YmFzZSA9IGVuZ2luZS0+bW1pb19iYXNlOwotCi0JCSpjcysrID0gaTkxNV9tbWlvX3JlZ19vZmZz ZXQoR0VOOF9SSU5HX1BEUF9VRFcoYmFzZSwgaSkpOwotCQkqY3MrKyA9IHVwcGVyXzMyX2JpdHMo cGRfZGFkZHIpOwotCQkqY3MrKyA9IGk5MTVfbW1pb19yZWdfb2Zmc2V0KEdFTjhfUklOR19QRFBf TERXKGJhc2UsIGkpKTsKLQkJKmNzKysgPSBsb3dlcl8zMl9iaXRzKHBkX2RhZGRyKTsKLQl9Ci0J KmNzKysgPSBNSV9OT09QOwotCi0JaW50ZWxfcmluZ19hZHZhbmNlKHJxLCBjcyk7Ci0KLQkvKiBC ZSBkb3VibHkgc3VyZSB0aGUgTFJJIGhhdmUgbGFuZGVkIGJlZm9yZSBwcm9jZWVkaW5nICovCi0J ZXJyID0gZW5naW5lLT5lbWl0X2ZsdXNoKHJxLCBFTUlUX0ZMVVNIKTsKLQlpZiAoZXJyKQotCQly ZXR1cm4gZXJyOwotCi0JLyogUmUtaW52YWxpZGF0ZSB0aGUgVExCIGZvciBsdWNrICovCi0JcmV0 dXJuIGVuZ2luZS0+ZW1pdF9mbHVzaChycSwgRU1JVF9JTlZBTElEQVRFKTsKLX0KLQogc3RhdGlj IGludCBleGVjbGlzdHNfcmVxdWVzdF9hbGxvYyhzdHJ1Y3QgaTkxNV9yZXF1ZXN0ICpyZXF1ZXN0 KQogewogCWludCByZXQ7CkBAIC0xOTQ3LDEwICsxODkzLDcgQEAgc3RhdGljIGludCBleGVjbGlz dHNfcmVxdWVzdF9hbGxvYyhzdHJ1Y3QgaTkxNV9yZXF1ZXN0ICpyZXF1ZXN0KQogCSAqLwogCiAJ LyogVW5jb25kaXRpb25hbGx5IGludmFsaWRhdGUgR1BVIGNhY2hlcyBhbmQgVExCcy4gKi8KLQlp ZiAoaTkxNV92bV9pc180bHZsKHJlcXVlc3QtPmh3X2NvbnRleHQtPnZtKSkKLQkJcmV0ID0gcmVx dWVzdC0+ZW5naW5lLT5lbWl0X2ZsdXNoKHJlcXVlc3QsIEVNSVRfSU5WQUxJREFURSk7Ci0JZWxz ZQotCQlyZXQgPSBlbWl0X3BkcHMocmVxdWVzdCk7CisJcmV0ID0gcmVxdWVzdC0+ZW5naW5lLT5l bWl0X2ZsdXNoKHJlcXVlc3QsIEVNSVRfSU5WQUxJREFURSk7CiAJaWYgKHJldCkKIAkJcmV0dXJu IHJldDsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmMg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuYwppbmRleCAwYjgxZTBiNjQzOTMu LjQzZDBkZTE1YmIyMSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1f Z3R0LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmMKQEAgLTE2Miw2 ICsxNjIsNyBAQCBzdGF0aWMgaW50IHBwZ3R0X2JpbmRfdm1hKHN0cnVjdCBpOTE1X3ZtYSAqdm1h LAogCQlwdGVfZmxhZ3MgfD0gUFRFX1JFQURfT05MWTsKIAogCXZtYS0+dm0tPmluc2VydF9lbnRy aWVzKHZtYS0+dm0sIHZtYSwgY2FjaGVfbGV2ZWwsIHB0ZV9mbGFncyk7CisJd21iKCk7CiAKIAly ZXR1cm4gMDsKIH0KQEAgLTE0MjAsNiArMTQyMSw3IEBAIHN0YXRpYyBpbnQgZ2VuOF9wcmVhbGxv Y2F0ZV90b3BfbGV2ZWxfcGRwKHN0cnVjdCBpOTE1X3BwZ3R0ICpwcGd0dCkKIAkJc2V0X3BkX2Vu dHJ5KHBkLCBpZHgsIHBkZSk7CiAJCWF0b21pY19pbmMocHhfdXNlZChwZGUpKTsgLyoga2VlcCBw aW5uZWQgKi8KIAl9CisJd21iKCk7CiAKIAlyZXR1cm4gMDsKIH0KQEAgLTE1MDcsMTEgKzE1MDks OSBAQCBzdGF0aWMgc3RydWN0IGk5MTVfcHBndHQgKmdlbjhfcHBndHRfY3JlYXRlKHN0cnVjdCBk cm1faTkxNV9wcml2YXRlICppOTE1KQogCX0KIAogCWlmICghaTkxNV92bV9pc180bHZsKCZwcGd0 dC0+dm0pKSB7Ci0JCWlmIChpbnRlbF92Z3B1X2FjdGl2ZShpOTE1KSkgewotCQkJZXJyID0gZ2Vu OF9wcmVhbGxvY2F0ZV90b3BfbGV2ZWxfcGRwKHBwZ3R0KTsKLQkJCWlmIChlcnIpCi0JCQkJZ290 byBlcnJfZnJlZV9wZDsKLQkJfQorCQllcnIgPSBnZW44X3ByZWFsbG9jYXRlX3RvcF9sZXZlbF9w ZHAocHBndHQpOworCQlpZiAoZXJyKQorCQkJZ290byBlcnJfZnJlZV9wZDsKIAl9CiAKIAlwcGd0 dC0+dm0uaW5zZXJ0X2VudHJpZXMgPSBnZW44X3BwZ3R0X2luc2VydDsKLS0gCjIuMjMuMAoKX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1h aWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMu ZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4