From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matthew Auld Subject: [PATCH 10/15] drm/i915: support huge gtt pages for the 48b PPGTT Date: Wed, 31 May 2017 19:52:05 +0100 Message-ID: <20170531185210.29189-11-matthew.auld@intel.com> References: <20170531185210.29189-1-matthew.auld@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by gabe.freedesktop.org (Postfix) with ESMTPS id C2FA36E2E3 for ; Wed, 31 May 2017 18:52:25 +0000 (UTC) In-Reply-To: <20170531185210.29189-1-matthew.auld@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 U3VwcG9ydCBpbnNlcnRpbmcgaHVnZSBndHQgcGFnZXMgaW50byB0aGUgNDhiIFBQR1RULCBpbmNs dWRpbmcKbWl4ZWQtbW9kZSB3aGVyZSB3ZSBhbGxvdyBhIG1peHR1cmUgb2YgZ3R0IHBhZ2Ugc2l6 ZXMuCgpTaWduZWQtb2ZmLWJ5OiBNYXR0aGV3IEF1bGQgPG1hdHRoZXcuYXVsZEBpbnRlbC5jb20+ CkNjOiBKb29uYXMgTGFodGluZW4gPGpvb25hcy5sYWh0aW5lbkBsaW51eC5pbnRlbC5jb20+CkNj OiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51az4KQ2M6IERhbmllbCBWZXR0 ZXIgPGRhbmllbEBmZndsbC5jaD4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9n dHQuYyB8IDc5ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0KIGRyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5oIHwgIDUgKysrCiAyIGZpbGVzIGNoYW5nZWQsIDc5 IGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9n dHQuYwppbmRleCA5MzU2NTY4MDJmMDkuLjkyNGFlYzRhZGY2ZCAxMDA2NDQKLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9nZW1fZ3R0LmMKQEAgLTkzNCwxNyArOTM0LDg2IEBAIHN0YXRpYyB2b2lkIGdlbjhfcHBn dHRfaW5zZXJ0XzRsdmwoc3RydWN0IGk5MTVfYWRkcmVzc19zcGFjZSAqdm0sCiAJCQkJICAgdTMy IHVudXNlZCkKIHsKIAlzdHJ1Y3QgaTkxNV9od19wcGd0dCAqcHBndHQgPSBpOTE1X3ZtX3RvX3Bw Z3R0KHZtKTsKKwlzdHJ1Y3QgZ2VuOF9pbnNlcnRfcHRlIGlkeCA9IGdlbjhfaW5zZXJ0X3B0ZShz dGFydCk7CisJc3RydWN0IGk5MTVfcGFnZV9kaXJlY3RvcnlfcG9pbnRlciAqKnBkcHMgPSBwcGd0 dC0+cG1sNC5wZHBzOworCXN0cnVjdCBpOTE1X3BhZ2VfZGlyZWN0b3J5X3BvaW50ZXIgKnBkcCA9 IHBkcHNbaWR4LnBtbDRlXTsKKwlzdHJ1Y3QgaTkxNV9wYWdlX2RpcmVjdG9yeSAqcGQgPSBwZHAt PnBhZ2VfZGlyZWN0b3J5W2lkeC5wZHBlXTsKKwlzdHJ1Y3QgaTkxNV9wYWdlX3RhYmxlICpwdCA9 IHBkLT5wYWdlX3RhYmxlW2lkeC5wZGVdOworCWdlbjhfcHRlX3QgKnBkcF92YWRkciA9IGttYXBf YXRvbWljX3B4KHBkcCk7CisJZ2VuOF9wdGVfdCAqcGRfdmFkZHIgPSBrbWFwX2F0b21pY19weChw ZCk7CisJZ2VuOF9wdGVfdCAqcHRfdmFkZHIgPSBrbWFwX2F0b21pY19weChwdCk7CisJY29uc3Qg Z2VuOF9wdGVfdCBwdGVfZW5jb2RlID0gZ2VuOF9wdGVfZW5jb2RlKDAsIGNhY2hlX2xldmVsKTsK IAlzdHJ1Y3Qgc2d0X2RtYSBpdGVyID0gewogCQkuc2cgPSBwYWdlcy0+c2dsLAogCQkuZG1hID0g c2dfZG1hX2FkZHJlc3MoaXRlci5zZyksCiAJCS5tYXggPSBpdGVyLmRtYSArIGl0ZXIuc2ctPmxl bmd0aCwKIAl9OwotCXN0cnVjdCBpOTE1X3BhZ2VfZGlyZWN0b3J5X3BvaW50ZXIgKipwZHBzID0g cHBndHQtPnBtbDQucGRwczsKLQlzdHJ1Y3QgZ2VuOF9pbnNlcnRfcHRlIGlkeCA9IGdlbjhfaW5z ZXJ0X3B0ZShzdGFydCk7CiAKLQl3aGlsZSAoZ2VuOF9wcGd0dF9pbnNlcnRfcHRlX2VudHJpZXMo cHBndHQsIHBkcHNbaWR4LnBtbDRlKytdLCAmaXRlciwKLQkJCQkJICAgICAmaWR4LCBjYWNoZV9s ZXZlbCkpCi0JCUdFTV9CVUdfT04oaWR4LnBtbDRlID49IEdFTjhfUE1MNEVTX1BFUl9QTUw0KTsK KwlkbyB7CisJCXVuc2lnbmVkIGludCBwYWdlX3NpemU7CisKKwkJcHRfdmFkZHJbaWR4LnB0ZV0g PSBwdGVfZW5jb2RlIHwgaXRlci5kbWE7CisJCXBhZ2Vfc2l6ZSA9IEk5MTVfR1RUX1BBR0VfU0la RTsKKworCQlpZiAoIWlkeC5wdGUgJiYgcGFnZV9zaXplcy0+c2cgPiBJOTE1X0dUVF9QQUdFX1NJ WkUpIHsKKwkJCWRtYV9hZGRyX3QgcmVtYWluaW5nID0gaXRlci5tYXggLSBpdGVyLmRtYTsKKwor CQkJaWYgKHVubGlrZWx5KHBhZ2Vfc2l6ZXMtPnNnICYgSTkxNV9HVFRfUEFHRV9TSVpFXzFHKSAm JgorCQkJICAgIHJlbWFpbmluZyA+PSBJOTE1X0dUVF9QQUdFX1NJWkVfMUcgJiYgIWlkeC5wZGUp IHsKKwkJCQlwZHBfdmFkZHJbaWR4LnBkcGVdID0gcHRlX2VuY29kZSB8IEdFTjhfUERQRV9QU18x RyB8IGl0ZXIuZG1hOworCQkJCXBhZ2Vfc2l6ZSA9IEk5MTVfR1RUX1BBR0VfU0laRV8xRzsKKwkJ CX0gZWxzZSBpZiAocGFnZV9zaXplcy0+c2cgJiBJOTE1X0dUVF9QQUdFX1NJWkVfMk0gJiYKKwkJ CQkgICByZW1haW5pbmcgPj0gSTkxNV9HVFRfUEFHRV9TSVpFXzJNKSB7CisJCQkJcGRfdmFkZHJb aWR4LnBkZV0gPSBwdGVfZW5jb2RlIHwgR0VOOF9QREVfUFNfMk0gfCBpdGVyLmRtYTsKKwkJCQlw YWdlX3NpemUgPSBJOTE1X0dUVF9QQUdFX1NJWkVfMk07CisJCQkvKiBXZSBkb24ndCBzdXBwb3J0 IDY0SyBpbiBtaXhlZCBtb2RlIGZvciBub3cgKi8KKwkJCX0gZWxzZSBpZiAocGFnZV9zaXplcy0+ c2cgPT0gSTkxNV9HVFRfUEFHRV9TSVpFXzY0SykgeworCQkJCXBkX3ZhZGRyW2lkeC5wZGVdIHw9 IEdFTjhfUERFX0lQU182NEs7CisJCQl9CisJCX0KKworCQlzdGFydCArPSBwYWdlX3NpemU7CisJ CWl0ZXIuZG1hICs9IHBhZ2Vfc2l6ZTsKKwkJaWYgKGl0ZXIuZG1hID49IGl0ZXIubWF4KSB7CisJ CQlpdGVyLnNnID0gX19zZ19uZXh0KGl0ZXIuc2cpOworCQkJaWYgKCFpdGVyLnNnKQorCQkJCWJy ZWFrOworCisJCQlpdGVyLmRtYSA9IHNnX2RtYV9hZGRyZXNzKGl0ZXIuc2cpOworCQkJaXRlci5t YXggPSBpdGVyLmRtYSArIGl0ZXIuc2ctPmxlbmd0aDsKKwkJfQorCisJCWlkeC5wdGUgPSBnZW44 X3B0ZV9pbmRleChzdGFydCk7CisJCWlmICghaWR4LnB0ZSkgeworCQkJaWR4LnBkZSA9IGdlbjhf cGRlX2luZGV4KHN0YXJ0KTsKKworCQkJaWYgKCFpZHgucGRlKSB7CisJCQkJaWR4LnBkcGUgPSBn ZW44X3BkcGVfaW5kZXgoc3RhcnQpOworCisJCQkJaWYgKCFpZHgucGRwZSkgeworCQkJCQlHRU1f QlVHX09OKGlkeC5wbWw0ZSA+PSBHRU44X1BNTDRFU19QRVJfUE1MNCk7CisJCQkJCXBkcCA9IHBk cHNbaWR4LnBtbDRlKytdOworCisJCQkJCWt1bm1hcF9hdG9taWMocGRwX3ZhZGRyKTsKKwkJCQkJ cGRwX3ZhZGRyID0ga21hcF9hdG9taWNfcHgocGRwKTsKKwkJCQl9CisKKwkJCQlwZCA9IHBkcC0+ cGFnZV9kaXJlY3RvcnlbaWR4LnBkcGVdOworCisJCQkJa3VubWFwX2F0b21pYyhwZF92YWRkcik7 CisJCQkJcGRfdmFkZHIgPSBrbWFwX2F0b21pY19weChwZCk7CisJCQl9CisKKwkJCXB0ID0gcGQt PnBhZ2VfdGFibGVbaWR4LnBkZV07CisKKwkJCWt1bm1hcF9hdG9taWMocHRfdmFkZHIpOworCQkJ cHRfdmFkZHIgPSBrbWFwX2F0b21pY19weChwdCk7CisJCX0KKwl9IHdoaWxlICgxKTsKKworCWt1 bm1hcF9hdG9taWMocHRfdmFkZHIpOworCWt1bm1hcF9hdG9taWMocGRfdmFkZHIpOworCWt1bm1h cF9hdG9taWMocGRwX3ZhZGRyKTsKIH0KIAogc3RhdGljIHZvaWQgZ2VuOF9mcmVlX3BhZ2VfdGFi bGVzKHN0cnVjdCBpOTE1X2FkZHJlc3Nfc3BhY2UgKnZtLApkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dl bV9ndHQuaAppbmRleCBkNDU3MjliOWRhMGMuLjA4MTE4NTliM2E1NSAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9nZW1fZ3R0LmgKQEAgLTE0OSw2ICsxNDksMTEgQEAgdHlwZWRlZiB1NjQgZ2VuOF9w cGd0dF9wbWw0ZV90OwogI2RlZmluZSBHRU44X1BQQVRfRUxMQ19PVkVSUklERQkJKDA8PDIpCiAj ZGVmaW5lIEdFTjhfUFBBVChpLCB4KQkJCSgodTY0KSh4KSA8PCAoKGkpICogOCkpCiAKKyNkZWZp bmUgR0VOOF9QREVfSVBTXzY0SyBCSVQoMTEpCisjZGVmaW5lIEdFTjhfUERFX1BTXzJNICAgQklU KDcpCisKKyNkZWZpbmUgR0VOOF9QRFBFX1BTXzFHICBCSVQoNykKKwogc3RydWN0IHNnX3RhYmxl OwogCiBzdHJ1Y3QgaW50ZWxfcm90YXRpb25faW5mbyB7Ci0tIAoyLjkuNAoKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlz dApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0 b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==