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, 22 Sep 2017 18:32:43 +0100 Message-ID: <20170922173252.10137-13-matthew.auld@intel.com> References: <20170922173252.10137-1-matthew.auld@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTPS id 261C06EA5E for ; Fri, 22 Sep 2017 17:33:33 +0000 (UTC) In-Reply-To: <20170922173252.10137-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+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9nZW1fZ3R0LmMgfCA3OCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tCiBk cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuaCB8ICAyICsKIDIgZmlsZXMgY2hhbmdl ZCwgNzYgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf Z2VtX2d0dC5jCmluZGV4IGEzODk3Njc2ZTBiYy4uOGNkYjUzNjFiNTgyIDEwMDY0NAotLS0gYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuYworKysgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2dlbV9ndHQuYwpAQCAtMTAxNiw2ICsxMDE2LDcxIEBAIHN0YXRpYyB2b2lkIGdl bjhfcHBndHRfaW5zZXJ0XzNsdmwoc3RydWN0IGk5MTVfYWRkcmVzc19zcGFjZSAqdm0sCiAJCQkJ ICAgICAgY2FjaGVfbGV2ZWwpOwogfQogCitzdGF0aWMgdm9pZCBnZW44X3BwZ3R0X2luc2VydF9o dWdlX2VudHJpZXMoc3RydWN0IGk5MTVfdm1hICp2bWEsCisJCQkJCSAgIHN0cnVjdCBpOTE1X3Bh Z2VfZGlyZWN0b3J5X3BvaW50ZXIgKipwZHBzLAorCQkJCQkgICBzdHJ1Y3Qgc2d0X2RtYSAqaXRl ciwKKwkJCQkJICAgZW51bSBpOTE1X2NhY2hlX2xldmVsIGNhY2hlX2xldmVsKQoreworCWNvbnN0 IGdlbjhfcHRlX3QgcHRlX2VuY29kZSA9IGdlbjhfcHRlX2VuY29kZSgwLCBjYWNoZV9sZXZlbCk7 CisJdTY0IHN0YXJ0ID0gdm1hLT5ub2RlLnN0YXJ0OworCWRtYV9hZGRyX3QgcmVtID0gaXRlci0+ c2ctPmxlbmd0aDsKKworCWRvIHsKKwkJc3RydWN0IGdlbjhfaW5zZXJ0X3B0ZSBpZHggPSBnZW44 X2luc2VydF9wdGUoc3RhcnQpOworCQlzdHJ1Y3QgaTkxNV9wYWdlX2RpcmVjdG9yeV9wb2ludGVy ICpwZHAgPSBwZHBzW2lkeC5wbWw0ZV07CisJCXN0cnVjdCBpOTE1X3BhZ2VfZGlyZWN0b3J5ICpw ZCA9IHBkcC0+cGFnZV9kaXJlY3RvcnlbaWR4LnBkcGVdOworCQl1bnNpZ25lZCBpbnQgcGFnZV9z aXplOworCQlnZW44X3B0ZV90IGVuY29kZSA9IHB0ZV9lbmNvZGU7CisJCWdlbjhfcHRlX3QgKnZh ZGRyOworCQl1MTYgaW5kZXgsIG1heDsKKworCQlpZiAodm1hLT5wYWdlX3NpemVzLnNnICYgSTkx NV9HVFRfUEFHRV9TSVpFXzJNICYmCisJCSAgICBJU19BTElHTkVEKGl0ZXItPmRtYSwgSTkxNV9H VFRfUEFHRV9TSVpFXzJNKSAmJgorCQkgICAgcmVtID49IEk5MTVfR1RUX1BBR0VfU0laRV8yTSAm JiAhaWR4LnB0ZSkgeworCQkJaW5kZXggPSBpZHgucGRlOworCQkJbWF4ID0gSTkxNV9QREVTOwor CQkJcGFnZV9zaXplID0gSTkxNV9HVFRfUEFHRV9TSVpFXzJNOworCisJCQllbmNvZGUgfD0gR0VO OF9QREVfUFNfMk07CisKKwkJCXZhZGRyID0ga21hcF9hdG9taWNfcHgocGQpOworCQl9IGVsc2Ug eworCQkJc3RydWN0IGk5MTVfcGFnZV90YWJsZSAqcHQgPSBwZC0+cGFnZV90YWJsZVtpZHgucGRl XTsKKworCQkJaW5kZXggPSBpZHgucHRlOworCQkJbWF4ID0gR0VOOF9QVEVTOworCQkJcGFnZV9z aXplID0gSTkxNV9HVFRfUEFHRV9TSVpFOworCisJCQl2YWRkciA9IGttYXBfYXRvbWljX3B4KHB0 KTsKKwkJfQorCisJCWRvIHsKKwkJCUdFTV9CVUdfT04oaXRlci0+c2ctPmxlbmd0aCA8IHBhZ2Vf c2l6ZSk7CisJCQl2YWRkcltpbmRleCsrXSA9IGVuY29kZSB8IGl0ZXItPmRtYTsKKworCQkJc3Rh cnQgKz0gcGFnZV9zaXplOworCQkJaXRlci0+ZG1hICs9IHBhZ2Vfc2l6ZTsKKwkJCXJlbSAtPSBw YWdlX3NpemU7CisJCQlpZiAoaXRlci0+ZG1hID49IGl0ZXItPm1heCkgeworCQkJCWl0ZXItPnNn ID0gX19zZ19uZXh0KGl0ZXItPnNnKTsKKwkJCQlpZiAoIWl0ZXItPnNnKQorCQkJCQlicmVhazsK KworCQkJCXJlbSA9IGl0ZXItPnNnLT5sZW5ndGg7CisJCQkJaXRlci0+ZG1hID0gc2dfZG1hX2Fk ZHJlc3MoaXRlci0+c2cpOworCQkJCWl0ZXItPm1heCA9IGl0ZXItPmRtYSArIHJlbTsKKworCQkJ CWlmICh1bmxpa2VseSghSVNfQUxJR05FRChpdGVyLT5kbWEsIHBhZ2Vfc2l6ZSkpKQorCQkJCQli cmVhazsKKwkJCX0KKworCQl9IHdoaWxlIChyZW0gPj0gcGFnZV9zaXplICYmIGluZGV4IDwgbWF4 KTsKKworCQlrdW5tYXBfYXRvbWljKHZhZGRyKTsKKworCX0gd2hpbGUgKGl0ZXItPnNnKTsKK30K Kwogc3RhdGljIHZvaWQgZ2VuOF9wcGd0dF9pbnNlcnRfNGx2bChzdHJ1Y3QgaTkxNV9hZGRyZXNz X3NwYWNlICp2bSwKIAkJCQkgICBzdHJ1Y3QgaTkxNV92bWEgKnZtYSwKIAkJCQkgICBlbnVtIGk5 MTVfY2FjaGVfbGV2ZWwgY2FjaGVfbGV2ZWwsCkBAIC0xMDI4LDExICsxMDkzLDE2IEBAIHN0YXRp YyB2b2lkIGdlbjhfcHBndHRfaW5zZXJ0XzRsdmwoc3RydWN0IGk5MTVfYWRkcmVzc19zcGFjZSAq dm0sCiAJCS5tYXggPSBpdGVyLmRtYSArIGl0ZXIuc2ctPmxlbmd0aCwKIAl9OwogCXN0cnVjdCBp OTE1X3BhZ2VfZGlyZWN0b3J5X3BvaW50ZXIgKipwZHBzID0gcHBndHQtPnBtbDQucGRwczsKLQlz dHJ1Y3QgZ2VuOF9pbnNlcnRfcHRlIGlkeCA9IGdlbjhfaW5zZXJ0X3B0ZSh2bWEtPm5vZGUuc3Rh cnQpOwogCi0Jd2hpbGUgKGdlbjhfcHBndHRfaW5zZXJ0X3B0ZV9lbnRyaWVzKHBwZ3R0LCBwZHBz W2lkeC5wbWw0ZSsrXSwgJml0ZXIsCi0JCQkJCSAgICAgJmlkeCwgY2FjaGVfbGV2ZWwpKQotCQlH RU1fQlVHX09OKGlkeC5wbWw0ZSA+PSBHRU44X1BNTDRFU19QRVJfUE1MNCk7CisJaWYgKHZtYS0+ cGFnZV9zaXplcy5zZyA+IEk5MTVfR1RUX1BBR0VfU0laRSkgeworCQlnZW44X3BwZ3R0X2luc2Vy dF9odWdlX2VudHJpZXModm1hLCBwZHBzLCAmaXRlciwgY2FjaGVfbGV2ZWwpOworCX0gZWxzZSB7 CisJCXN0cnVjdCBnZW44X2luc2VydF9wdGUgaWR4ID0gZ2VuOF9pbnNlcnRfcHRlKHZtYS0+bm9k ZS5zdGFydCk7CisKKwkJd2hpbGUgKGdlbjhfcHBndHRfaW5zZXJ0X3B0ZV9lbnRyaWVzKHBwZ3R0 LCBwZHBzW2lkeC5wbWw0ZSsrXSwKKwkJCQkJCSAgICAgJml0ZXIsICZpZHgsIGNhY2hlX2xldmVs KSkKKwkJCUdFTV9CVUdfT04oaWR4LnBtbDRlID49IEdFTjhfUE1MNEVTX1BFUl9QTUw0KTsKKwl9 CiB9CiAKIHN0YXRpYyB2b2lkIGdlbjhfZnJlZV9wYWdlX3RhYmxlcyhzdHJ1Y3QgaTkxNV9hZGRy ZXNzX3NwYWNlICp2bSwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2Vt X2d0dC5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmgKaW5kZXggODdmM2Nl YWNhNWE4Li5lOWU2NmFiYmU1MzIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZ2VtX2d0dC5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5oCkBA IC0xNTMsNiArMTUzLDggQEAgdHlwZWRlZiB1NjQgZ2VuOF9wcGd0dF9wbWw0ZV90OwogI2RlZmlu ZSBHRU44X1BQQVRfR0VUX0FHRSh4KSAoKHgpICYgKDMgPDwgNCkpCiAjZGVmaW5lIENIVl9QUEFU X0dFVF9TTk9PUCh4KSAoKHgpICYgKDEgPDwgNikpCiAKKyNkZWZpbmUgR0VOOF9QREVfUFNfMk0g ICBCSVQoNykKKwogc3RydWN0IHNnX3RhYmxlOwogCiBzdHJ1Y3QgaW50ZWxfcm90YXRpb25faW5m byB7Ci0tIAoyLjEzLjUKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9w Lm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVs LWdmeAo=