From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matthew Auld Subject: [PATCH 11/22] drm/i915: support 1G pages for the 48b PPGTT Date: Tue, 15 Aug 2017 19:12:04 +0100 Message-ID: <20170815181215.18310-12-matthew.auld@intel.com> References: <20170815181215.18310-1-matthew.auld@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTPS id 905046E339 for ; Tue, 15 Aug 2017 18:17:03 +0000 (UTC) In-Reply-To: <20170815181215.18310-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 U3VwcG9ydCBpbnNlcnRpbmcgMUcgZ3R0IHBhZ2VzIGludG8gdGhlIDQ4YiBQUEdUVC4KCnYyOiBz YW5pdHkgY2hlY2sgc2ctPmxlbmd0aCBhZ2FpbnN0IHBhZ2Vfc2l6ZQoKdjM6IGRvbid0IHJlY2Fs Y3VsYXRlIHJlbSBvbiBlYWNoIGxvb3AKICAgIHdoaXRlc3BhY2UgYnJlYWt1cAoKU2lnbmVkLW9m Zi1ieTogTWF0dGhldyBBdWxkIDxtYXR0aGV3LmF1bGRAaW50ZWwuY29tPgpDYzogSm9vbmFzIExh aHRpbmVuIDxqb29uYXMubGFodGluZW5AbGludXguaW50ZWwuY29tPgpDYzogQ2hyaXMgV2lsc29u IDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9nZW1fZ3R0LmMgfCA3OCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tCiBk cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuaCB8ICAyICsKIDIgZmlsZXMgY2hhbmdl ZCwgNzYgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf Z2VtX2d0dC5jCmluZGV4IDQzZTA3NjA4M2VmOC4uYzc1MDc3MGU3NWExIDEwMDY0NAotLS0gYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuYworKysgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2dlbV9ndHQuYwpAQCAtOTUwLDYgKzk1MCw3MSBAQCBzdGF0aWMgdm9pZCBnZW44 X3BwZ3R0X2luc2VydF8zbHZsKHN0cnVjdCBpOTE1X2FkZHJlc3Nfc3BhY2UgKnZtLAogCQkJCSAg ICAgIGNhY2hlX2xldmVsKTsKIH0KIAorc3RhdGljIHZvaWQgZ2VuOF9wcGd0dF9pbnNlcnRfaHVn ZV9lbnRyaWVzKHN0cnVjdCBpOTE1X3ZtYSAqdm1hLAorCQkJCQkgICBzdHJ1Y3QgaTkxNV9wYWdl X2RpcmVjdG9yeV9wb2ludGVyICoqcGRwcywKKwkJCQkJICAgc3RydWN0IHNndF9kbWEgKml0ZXIs CisJCQkJCSAgIGVudW0gaTkxNV9jYWNoZV9sZXZlbCBjYWNoZV9sZXZlbCkKK3sKKwljb25zdCBn ZW44X3B0ZV90IHB0ZV9lbmNvZGUgPSBnZW44X3B0ZV9lbmNvZGUoMCwgY2FjaGVfbGV2ZWwpOwor CXU2NCBzdGFydCA9IHZtYS0+bm9kZS5zdGFydDsKKwlkbWFfYWRkcl90IHJlbSA9IGl0ZXItPnNn LT5sZW5ndGg7CisKKwlkbyB7CisJCXN0cnVjdCBnZW44X2luc2VydF9wdGUgaWR4ID0gZ2VuOF9p bnNlcnRfcHRlKHN0YXJ0KTsKKwkJc3RydWN0IGk5MTVfcGFnZV9kaXJlY3RvcnlfcG9pbnRlciAq cGRwID0gcGRwc1tpZHgucG1sNGVdOworCQlzdHJ1Y3QgaTkxNV9wYWdlX2RpcmVjdG9yeSAqcGQg PSBwZHAtPnBhZ2VfZGlyZWN0b3J5W2lkeC5wZHBlXTsKKwkJdW5zaWduZWQgaW50IHBhZ2Vfc2l6 ZTsKKwkJZ2VuOF9wdGVfdCBlbmNvZGUgPSBwdGVfZW5jb2RlOworCQlnZW44X3B0ZV90ICp2YWRk cjsKKwkJdTE2IGluZGV4LCBtYXg7CisKKwkJaWYgKHVubGlrZWx5KHZtYS0+cGFnZV9zaXplcy5z ZyAmIEk5MTVfR1RUX1BBR0VfU0laRV8xRykgJiYKKwkJICAgIElTX0FMSUdORUQoaXRlci0+ZG1h LCBJOTE1X0dUVF9QQUdFX1NJWkVfMUcpICYmCisJCSAgICByZW0gPj0gSTkxNV9HVFRfUEFHRV9T SVpFXzFHICYmICEoaWR4LnB0ZSB8IGlkeC5wZGUpKSB7CisJCQlpbmRleCA9IGlkeC5wZHBlOwor CQkJbWF4ID0gR0VOOF9QTUw0RVNfUEVSX1BNTDQ7CisJCQlwYWdlX3NpemUgPSBJOTE1X0dUVF9Q QUdFX1NJWkVfMUc7CisKKwkJCWVuY29kZSB8PSBHRU44X1BEUEVfUFNfMUc7CisKKwkJCXZhZGRy ID0ga21hcF9hdG9taWNfcHgocGRwKTsKKwkJfSBlbHNlIHsKKwkJCXN0cnVjdCBpOTE1X3BhZ2Vf dGFibGUgKnB0ID0gcGQtPnBhZ2VfdGFibGVbaWR4LnBkZV07CisKKwkJCWluZGV4ID0gaWR4LnB0 ZTsKKwkJCW1heCA9IEdFTjhfUFRFUzsKKwkJCXBhZ2Vfc2l6ZSA9IEk5MTVfR1RUX1BBR0VfU0la RTsKKworCQkJdmFkZHIgPSBrbWFwX2F0b21pY19weChwdCk7CisJCX0KKworCQlkbyB7CisJCQlH RU1fQlVHX09OKGl0ZXItPnNnLT5sZW5ndGggPCBwYWdlX3NpemUpOworCQkJdmFkZHJbaW5kZXgr K10gPSBlbmNvZGUgfCBpdGVyLT5kbWE7CisKKwkJCXN0YXJ0ICs9IHBhZ2Vfc2l6ZTsKKwkJCWl0 ZXItPmRtYSArPSBwYWdlX3NpemU7CisJCQlyZW0gLT0gcGFnZV9zaXplOworCQkJaWYgKGl0ZXIt PmRtYSA+PSBpdGVyLT5tYXgpIHsKKwkJCQlpdGVyLT5zZyA9IF9fc2dfbmV4dChpdGVyLT5zZyk7 CisJCQkJaWYgKCFpdGVyLT5zZykKKwkJCQkJYnJlYWs7CisKKwkJCQlyZW0gPSBpdGVyLT5zZy0+ bGVuZ3RoOworCQkJCWl0ZXItPmRtYSA9IHNnX2RtYV9hZGRyZXNzKGl0ZXItPnNnKTsKKwkJCQlp dGVyLT5tYXggPSBpdGVyLT5kbWEgKyByZW07CisKKwkJCQlpZiAodW5saWtlbHkoIUlTX0FMSUdO RUQoaXRlci0+ZG1hLCBwYWdlX3NpemUpKSkKKwkJCQkJYnJlYWs7CisJCQl9CisKKwkJfSB3aGls ZSAocmVtID49IHBhZ2Vfc2l6ZSAmJiBpbmRleCA8IG1heCk7CisKKwkJa3VubWFwX2F0b21pYyh2 YWRkcik7CisKKwl9IHdoaWxlIChpdGVyLT5zZyk7Cit9CisKIHN0YXRpYyB2b2lkIGdlbjhfcHBn dHRfaW5zZXJ0XzRsdmwoc3RydWN0IGk5MTVfYWRkcmVzc19zcGFjZSAqdm0sCiAJCQkJICAgc3Ry dWN0IGk5MTVfdm1hICp2bWEsCiAJCQkJICAgZW51bSBpOTE1X2NhY2hlX2xldmVsIGNhY2hlX2xl dmVsLApAQCAtOTYyLDExICsxMDI3LDE2IEBAIHN0YXRpYyB2b2lkIGdlbjhfcHBndHRfaW5zZXJ0 XzRsdmwoc3RydWN0IGk5MTVfYWRkcmVzc19zcGFjZSAqdm0sCiAJCS5tYXggPSBpdGVyLmRtYSAr IGl0ZXIuc2ctPmxlbmd0aCwKIAl9OwogCXN0cnVjdCBpOTE1X3BhZ2VfZGlyZWN0b3J5X3BvaW50 ZXIgKipwZHBzID0gcHBndHQtPnBtbDQucGRwczsKLQlzdHJ1Y3QgZ2VuOF9pbnNlcnRfcHRlIGlk eCA9IGdlbjhfaW5zZXJ0X3B0ZSh2bWEtPm5vZGUuc3RhcnQpOwogCi0Jd2hpbGUgKGdlbjhfcHBn dHRfaW5zZXJ0X3B0ZV9lbnRyaWVzKHBwZ3R0LCBwZHBzW2lkeC5wbWw0ZSsrXSwgJml0ZXIsCi0J CQkJCSAgICAgJmlkeCwgY2FjaGVfbGV2ZWwpKQotCQlHRU1fQlVHX09OKGlkeC5wbWw0ZSA+PSBH RU44X1BNTDRFU19QRVJfUE1MNCk7CisJaWYgKHZtYS0+cGFnZV9zaXplcy5zZyA+IEk5MTVfR1RU X1BBR0VfU0laRSkgeworCQlnZW44X3BwZ3R0X2luc2VydF9odWdlX2VudHJpZXModm1hLCBwZHBz LCAmaXRlciwgY2FjaGVfbGV2ZWwpOworCX0gZWxzZSB7CisJCXN0cnVjdCBnZW44X2luc2VydF9w dGUgaWR4ID0gZ2VuOF9pbnNlcnRfcHRlKHZtYS0+bm9kZS5zdGFydCk7CisKKwkJd2hpbGUgKGdl bjhfcHBndHRfaW5zZXJ0X3B0ZV9lbnRyaWVzKHBwZ3R0LCBwZHBzW2lkeC5wbWw0ZSsrXSwKKwkJ CQkJCSAgICAgJml0ZXIsICZpZHgsIGNhY2hlX2xldmVsKSkKKwkJCUdFTV9CVUdfT04oaWR4LnBt bDRlID49IEdFTjhfUE1MNEVTX1BFUl9QTUw0KTsKKwl9CiB9CiAKIHN0YXRpYyB2b2lkIGdlbjhf ZnJlZV9wYWdlX3RhYmxlcyhzdHJ1Y3QgaTkxNV9hZGRyZXNzX3NwYWNlICp2bSwKZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5oIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9nZW1fZ3R0LmgKaW5kZXggNTc3MzhhNjFlYTZlLi5lNDZmMDVmMGNmZDkgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5oCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5oCkBAIC0xNDksNiArMTQ5LDggQEAgdHlwZWRl ZiB1NjQgZ2VuOF9wcGd0dF9wbWw0ZV90OwogI2RlZmluZSBHRU44X1BQQVRfRUxMQ19PVkVSUklE RQkJKDA8PDIpCiAjZGVmaW5lIEdFTjhfUFBBVChpLCB4KQkJCSgodTY0KSh4KSA8PCAoKGkpICog OCkpCiAKKyNkZWZpbmUgR0VOOF9QRFBFX1BTXzFHICBCSVQoNykKKwogc3RydWN0IHNnX3RhYmxl OwogCiBzdHJ1Y3QgaW50ZWxfcm90YXRpb25faW5mbyB7Ci0tIAoyLjEzLjQKCl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxp c3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNr dG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=