From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matthew Auld Subject: [PATCH 12/21] drm/i915: support 2M pages for the 48b PPGTT Date: Fri, 29 Sep 2017 17:10:23 +0100 Message-ID: <20170929161032.24394-13-matthew.auld@intel.com> References: <20170929161032.24394-1-matthew.auld@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTPS id 170EA6EC1C for ; Fri, 29 Sep 2017 16:11:01 +0000 (UTC) In-Reply-To: <20170929161032.24394-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 U3VwcG9ydCBpbnNlcnRpbmcgMk0gZ3R0IHBhZ2VzIGludG8gdGhlIDQ4YiBQUEdUVC4KCnYyOiBz YW5pdHkgY2hlY2sgc2ctPmxlbmd0aCBhZ2FpbnN0IHBhZ2Vfc2l6ZQoKdjM6IGRvbid0IHJlY2Fs Y3VsYXRlIHJlbSBvbiBlYWNoIGxvb3AKICAgIHdoaXRlc3BhY2UgYnJlYWt1cAoKU2lnbmVkLW9m Zi1ieTogTWF0dGhldyBBdWxkIDxtYXR0aGV3LmF1bGRAaW50ZWwuY29tPgpDYzogSm9vbmFzIExh aHRpbmVuIDxqb29uYXMubGFodGluZW5AbGludXguaW50ZWwuY29tPgpDYzogQ2hyaXMgV2lsc29u IDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+ClJldmlld2VkLWJ5OiBDaHJpcyBXaWxzb24gPGNo cmlzQGNocmlzLXdpbHNvbi5jby51az4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dl bV9ndHQuYyB8IDc2ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0KIGRyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5oIHwgIDIgKwogMiBmaWxlcyBjaGFuZ2VkLCA3 NCBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1f Z3R0LmMKaW5kZXggMzExNWE4ZWM0Mzc2Li4wMTM3ZmY4NTY4ZWIgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZ2VtX2d0dC5jCkBAIC0xMDE0LDYgKzEwMTQsNjkgQEAgc3RhdGljIHZvaWQgZ2VuOF9w cGd0dF9pbnNlcnRfM2x2bChzdHJ1Y3QgaTkxNV9hZGRyZXNzX3NwYWNlICp2bSwKIAkJCQkgICAg ICBjYWNoZV9sZXZlbCk7CiB9CiAKK3N0YXRpYyB2b2lkIGdlbjhfcHBndHRfaW5zZXJ0X2h1Z2Vf ZW50cmllcyhzdHJ1Y3QgaTkxNV92bWEgKnZtYSwKKwkJCQkJICAgc3RydWN0IGk5MTVfcGFnZV9k aXJlY3RvcnlfcG9pbnRlciAqKnBkcHMsCisJCQkJCSAgIHN0cnVjdCBzZ3RfZG1hICppdGVyLAor CQkJCQkgICBlbnVtIGk5MTVfY2FjaGVfbGV2ZWwgY2FjaGVfbGV2ZWwpCit7CisJY29uc3QgZ2Vu OF9wdGVfdCBwdGVfZW5jb2RlID0gZ2VuOF9wdGVfZW5jb2RlKDAsIGNhY2hlX2xldmVsKTsKKwl1 NjQgc3RhcnQgPSB2bWEtPm5vZGUuc3RhcnQ7CisJZG1hX2FkZHJfdCByZW0gPSBpdGVyLT5zZy0+ bGVuZ3RoOworCisJZG8geworCQlzdHJ1Y3QgZ2VuOF9pbnNlcnRfcHRlIGlkeCA9IGdlbjhfaW5z ZXJ0X3B0ZShzdGFydCk7CisJCXN0cnVjdCBpOTE1X3BhZ2VfZGlyZWN0b3J5X3BvaW50ZXIgKnBk cCA9IHBkcHNbaWR4LnBtbDRlXTsKKwkJc3RydWN0IGk5MTVfcGFnZV9kaXJlY3RvcnkgKnBkID0g cGRwLT5wYWdlX2RpcmVjdG9yeVtpZHgucGRwZV07CisJCXVuc2lnbmVkIGludCBwYWdlX3NpemU7 CisJCWdlbjhfcHRlX3QgZW5jb2RlID0gcHRlX2VuY29kZTsKKwkJZ2VuOF9wdGVfdCAqdmFkZHI7 CisJCXUxNiBpbmRleCwgbWF4OworCisJCWlmICh2bWEtPnBhZ2Vfc2l6ZXMuc2cgJiBJOTE1X0dU VF9QQUdFX1NJWkVfMk0gJiYKKwkJICAgIElTX0FMSUdORUQoaXRlci0+ZG1hLCBJOTE1X0dUVF9Q QUdFX1NJWkVfMk0pICYmCisJCSAgICByZW0gPj0gSTkxNV9HVFRfUEFHRV9TSVpFXzJNICYmICFp ZHgucHRlKSB7CisJCQlpbmRleCA9IGlkeC5wZGU7CisJCQltYXggPSBJOTE1X1BERVM7CisJCQlw YWdlX3NpemUgPSBJOTE1X0dUVF9QQUdFX1NJWkVfMk07CisKKwkJCWVuY29kZSB8PSBHRU44X1BE RV9QU18yTTsKKworCQkJdmFkZHIgPSBrbWFwX2F0b21pY19weChwZCk7CisJCX0gZWxzZSB7CisJ CQlzdHJ1Y3QgaTkxNV9wYWdlX3RhYmxlICpwdCA9IHBkLT5wYWdlX3RhYmxlW2lkeC5wZGVdOwor CisJCQlpbmRleCA9IGlkeC5wdGU7CisJCQltYXggPSBHRU44X1BURVM7CisJCQlwYWdlX3NpemUg PSBJOTE1X0dUVF9QQUdFX1NJWkU7CisKKwkJCXZhZGRyID0ga21hcF9hdG9taWNfcHgocHQpOwor CQl9CisKKwkJZG8geworCQkJR0VNX0JVR19PTihpdGVyLT5zZy0+bGVuZ3RoIDwgcGFnZV9zaXpl KTsKKwkJCXZhZGRyW2luZGV4KytdID0gZW5jb2RlIHwgaXRlci0+ZG1hOworCisJCQlzdGFydCAr PSBwYWdlX3NpemU7CisJCQlpdGVyLT5kbWEgKz0gcGFnZV9zaXplOworCQkJcmVtIC09IHBhZ2Vf c2l6ZTsKKwkJCWlmIChpdGVyLT5kbWEgPj0gaXRlci0+bWF4KSB7CisJCQkJaXRlci0+c2cgPSBf X3NnX25leHQoaXRlci0+c2cpOworCQkJCWlmICghaXRlci0+c2cpCisJCQkJCWJyZWFrOworCisJ CQkJcmVtID0gaXRlci0+c2ctPmxlbmd0aDsKKwkJCQlpdGVyLT5kbWEgPSBzZ19kbWFfYWRkcmVz cyhpdGVyLT5zZyk7CisJCQkJaXRlci0+bWF4ID0gaXRlci0+ZG1hICsgcmVtOworCisJCQkJaWYg KHVubGlrZWx5KCFJU19BTElHTkVEKGl0ZXItPmRtYSwgcGFnZV9zaXplKSkpCisJCQkJCWJyZWFr OworCQkJfQorCQl9IHdoaWxlIChyZW0gPj0gcGFnZV9zaXplICYmIGluZGV4IDwgbWF4KTsKKwor CQlrdW5tYXBfYXRvbWljKHZhZGRyKTsKKwl9IHdoaWxlIChpdGVyLT5zZyk7Cit9CisKIHN0YXRp YyB2b2lkIGdlbjhfcHBndHRfaW5zZXJ0XzRsdmwoc3RydWN0IGk5MTVfYWRkcmVzc19zcGFjZSAq dm0sCiAJCQkJICAgc3RydWN0IGk5MTVfdm1hICp2bWEsCiAJCQkJICAgZW51bSBpOTE1X2NhY2hl X2xldmVsIGNhY2hlX2xldmVsLApAQCAtMTAyNiwxMSArMTA4OSwxNiBAQCBzdGF0aWMgdm9pZCBn ZW44X3BwZ3R0X2luc2VydF80bHZsKHN0cnVjdCBpOTE1X2FkZHJlc3Nfc3BhY2UgKnZtLAogCQku bWF4ID0gaXRlci5kbWEgKyBpdGVyLnNnLT5sZW5ndGgsCiAJfTsKIAlzdHJ1Y3QgaTkxNV9wYWdl X2RpcmVjdG9yeV9wb2ludGVyICoqcGRwcyA9IHBwZ3R0LT5wbWw0LnBkcHM7Ci0Jc3RydWN0IGdl bjhfaW5zZXJ0X3B0ZSBpZHggPSBnZW44X2luc2VydF9wdGUodm1hLT5ub2RlLnN0YXJ0KTsKIAot CXdoaWxlIChnZW44X3BwZ3R0X2luc2VydF9wdGVfZW50cmllcyhwcGd0dCwgcGRwc1tpZHgucG1s NGUrK10sICZpdGVyLAotCQkJCQkgICAgICZpZHgsIGNhY2hlX2xldmVsKSkKLQkJR0VNX0JVR19P TihpZHgucG1sNGUgPj0gR0VOOF9QTUw0RVNfUEVSX1BNTDQpOworCWlmICh2bWEtPnBhZ2Vfc2l6 ZXMuc2cgPiBJOTE1X0dUVF9QQUdFX1NJWkUpIHsKKwkJZ2VuOF9wcGd0dF9pbnNlcnRfaHVnZV9l bnRyaWVzKHZtYSwgcGRwcywgJml0ZXIsIGNhY2hlX2xldmVsKTsKKwl9IGVsc2UgeworCQlzdHJ1 Y3QgZ2VuOF9pbnNlcnRfcHRlIGlkeCA9IGdlbjhfaW5zZXJ0X3B0ZSh2bWEtPm5vZGUuc3RhcnQp OworCisJCXdoaWxlIChnZW44X3BwZ3R0X2luc2VydF9wdGVfZW50cmllcyhwcGd0dCwgcGRwc1tp ZHgucG1sNGUrK10sCisJCQkJCQkgICAgICZpdGVyLCAmaWR4LCBjYWNoZV9sZXZlbCkpCisJCQlH RU1fQlVHX09OKGlkeC5wbWw0ZSA+PSBHRU44X1BNTDRFU19QRVJfUE1MNCk7CisJfQogfQogCiBz dGF0aWMgdm9pZCBnZW44X2ZyZWVfcGFnZV90YWJsZXMoc3RydWN0IGk5MTVfYWRkcmVzc19zcGFj ZSAqdm0sCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuaCBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5oCmluZGV4IDg3ZjNjZWFjYTVhOC4u ZTllNjZhYmJlNTMyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9n dHQuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuaApAQCAtMTUzLDYg KzE1Myw4IEBAIHR5cGVkZWYgdTY0IGdlbjhfcHBndHRfcG1sNGVfdDsKICNkZWZpbmUgR0VOOF9Q UEFUX0dFVF9BR0UoeCkgKCh4KSAmICgzIDw8IDQpKQogI2RlZmluZSBDSFZfUFBBVF9HRVRfU05P T1AoeCkgKCh4KSAmICgxIDw8IDYpKQogCisjZGVmaW5lIEdFTjhfUERFX1BTXzJNICAgQklUKDcp CisKIHN0cnVjdCBzZ190YWJsZTsKIAogc3RydWN0IGludGVsX3JvdGF0aW9uX2luZm8gewotLSAK Mi4xMy41CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJ bnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0 cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK