From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matthew Auld Subject: [PATCH 11/21] drm/i915: support 1G pages for the 48b PPGTT Date: Tue, 25 Jul 2017 20:21:23 +0100 Message-ID: <20170725192133.2012-12-matthew.auld@intel.com> References: <20170725192133.2012-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 E43226E434 for ; Tue, 25 Jul 2017 19:22:19 +0000 (UTC) In-Reply-To: <20170725192133.2012-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 YW5pdHkgY2hlY2sgc2ctPmxlbmd0aCBhZ2FpbnN0IHBhZ2Vfc2l6ZQoKU2lnbmVkLW9mZi1ieTog TWF0dGhldyBBdWxkIDxtYXR0aGV3LmF1bGRAaW50ZWwuY29tPgpDYzogSm9vbmFzIExhaHRpbmVu IDxqb29uYXMubGFodGluZW5AbGludXguaW50ZWwuY29tPgpDYzogQ2hyaXMgV2lsc29uIDxjaHJp c0BjaHJpcy13aWxzb24uY28udWs+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1f Z3R0LmMgfCA3MyArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tCiBkcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuaCB8ICAyICsKIDIgZmlsZXMgY2hhbmdlZCwgNzEg aW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2dlbV9ndHQuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0 dC5jCmluZGV4IDM4NWNkODVmNDdiYi4uYWNkMGMwZDFiYThkIDEwMDY0NAotLS0gYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2dlbV9ndHQuYwpAQCAtOTQ1LDYgKzk0NSw2NiBAQCBzdGF0aWMgdm9pZCBnZW44X3BwZ3R0 X2luc2VydF8zbHZsKHN0cnVjdCBpOTE1X2FkZHJlc3Nfc3BhY2UgKnZtLAogCQkJCSAgICAgIGNh Y2hlX2xldmVsKTsKIH0KIAorc3RhdGljIHZvaWQgZ2VuOF9wcGd0dF9pbnNlcnRfaHVnZV9lbnRy aWVzKHN0cnVjdCBpOTE1X3ZtYSAqdm1hLAorCQkJCQkgICBzdHJ1Y3QgaTkxNV9wYWdlX2RpcmVj dG9yeV9wb2ludGVyICoqcGRwcywKKwkJCQkJICAgc3RydWN0IHNndF9kbWEgKml0ZXIsCisJCQkJ CSAgIGVudW0gaTkxNV9jYWNoZV9sZXZlbCBjYWNoZV9sZXZlbCkKK3sKKwljb25zdCBnZW44X3B0 ZV90IHB0ZV9lbmNvZGUgPSBnZW44X3B0ZV9lbmNvZGUoMCwgY2FjaGVfbGV2ZWwpOworCXU2NCBz dGFydCA9IHZtYS0+bm9kZS5zdGFydDsKKworCWRvIHsKKwkJc3RydWN0IGdlbjhfaW5zZXJ0X3B0 ZSBpZHggPSBnZW44X2luc2VydF9wdGUoc3RhcnQpOworCQlzdHJ1Y3QgaTkxNV9wYWdlX2RpcmVj dG9yeV9wb2ludGVyICpwZHAgPSBwZHBzW2lkeC5wbWw0ZV07CisJCXN0cnVjdCBpOTE1X3BhZ2Vf ZGlyZWN0b3J5ICpwZCA9IHBkcC0+cGFnZV9kaXJlY3RvcnlbaWR4LnBkcGVdOworCQlzdHJ1Y3Qg aTkxNV9wYWdlX3RhYmxlICpwdCA9IHBkLT5wYWdlX3RhYmxlW2lkeC5wZGVdOworCQlkbWFfYWRk cl90IHJlbSA9IGl0ZXItPm1heCAtIGl0ZXItPmRtYTsKKwkJdW5zaWduZWQgaW50IHBhZ2Vfc2l6 ZTsKKwkJZ2VuOF9wdGVfdCBlbmNvZGUgPSBwdGVfZW5jb2RlOworCQlnZW44X3B0ZV90ICp2YWRk cjsKKwkJdTE2IGluZGV4LCBtYXg7CisKKwkJaWYgKHVubGlrZWx5KHZtYS0+cGFnZV9zaXplcy5z ZyAmIEk5MTVfR1RUX1BBR0VfU0laRV8xRykgJiYKKwkJICAgIElTX0FMSUdORUQoaXRlci0+ZG1h LCBJOTE1X0dUVF9QQUdFX1NJWkVfMUcpICYmCisJCSAgICByZW0gPj0gSTkxNV9HVFRfUEFHRV9T SVpFXzFHICYmICEoaWR4LnB0ZSB8IGlkeC5wZGUpKSB7CisJCQl2YWRkciA9IGttYXBfYXRvbWlj X3B4KHBkcCk7CisJCQlpbmRleCA9IGlkeC5wZHBlOworCQkJbWF4ID0gR0VOOF9QTUw0RVNfUEVS X1BNTDQ7CisJCQlwYWdlX3NpemUgPSBJOTE1X0dUVF9QQUdFX1NJWkVfMUc7CisJCQllbmNvZGUg fD0gR0VOOF9QRFBFX1BTXzFHOworCQl9IGVsc2UgeworCQkJdmFkZHIgPSBrbWFwX2F0b21pY19w eChwdCk7CisJCQlpbmRleCA9IGlkeC5wdGU7CisJCQltYXggPSBHRU44X1BURVM7CisJCQlwYWdl X3NpemUgPSBJOTE1X0dUVF9QQUdFX1NJWkU7CisJCX0KKworCQlkbyB7CisJCQlHRU1fQlVHX09O KGl0ZXItPnNnLT5sZW5ndGggPCBwYWdlX3NpemUpOworCQkJdmFkZHJbaW5kZXgrK10gPSBlbmNv ZGUgfCBpdGVyLT5kbWE7CisKKwkJCXN0YXJ0ICs9IHBhZ2Vfc2l6ZTsKKwkJCWl0ZXItPmRtYSAr PSBwYWdlX3NpemU7CisJCQlpZiAoaXRlci0+ZG1hID49IGl0ZXItPm1heCkgeworCQkJCWl0ZXIt PnNnID0gX19zZ19uZXh0KGl0ZXItPnNnKTsKKwkJCQlpZiAoIWl0ZXItPnNnKQorCQkJCQlicmVh azsKKworCQkJCWl0ZXItPmRtYSA9IHNnX2RtYV9hZGRyZXNzKGl0ZXItPnNnKTsKKwkJCQlpdGVy LT5tYXggPSBpdGVyLT5kbWEgKyBpdGVyLT5zZy0+bGVuZ3RoOworCisJCQkJaWYgKHVubGlrZWx5 KCFJU19BTElHTkVEKGl0ZXItPmRtYSwgcGFnZV9zaXplKSkpCisJCQkJCWJyZWFrOworCQkJfQor CQkJcmVtID0gaXRlci0+bWF4IC0gaXRlci0+ZG1hOworCisJCX0gd2hpbGUgKHJlbSA+PSBwYWdl X3NpemUgJiYgaW5kZXggPCBtYXgpOworCisJCWt1bm1hcF9hdG9taWModmFkZHIpOworCisJfSB3 aGlsZSAoaXRlci0+c2cpOworfQorCiBzdGF0aWMgdm9pZCBnZW44X3BwZ3R0X2luc2VydF80bHZs KHN0cnVjdCBpOTE1X2FkZHJlc3Nfc3BhY2UgKnZtLAogCQkJCSAgIHN0cnVjdCBpOTE1X3ZtYSAq dm1hLAogCQkJCSAgIGVudW0gaTkxNV9jYWNoZV9sZXZlbCBjYWNoZV9sZXZlbCwKQEAgLTk1Nywx MSArMTAxNywxNiBAQCBzdGF0aWMgdm9pZCBnZW44X3BwZ3R0X2luc2VydF80bHZsKHN0cnVjdCBp OTE1X2FkZHJlc3Nfc3BhY2UgKnZtLAogCQkubWF4ID0gaXRlci5kbWEgKyBpdGVyLnNnLT5sZW5n dGgsCiAJfTsKIAlzdHJ1Y3QgaTkxNV9wYWdlX2RpcmVjdG9yeV9wb2ludGVyICoqcGRwcyA9IHBw Z3R0LT5wbWw0LnBkcHM7Ci0Jc3RydWN0IGdlbjhfaW5zZXJ0X3B0ZSBpZHggPSBnZW44X2luc2Vy dF9wdGUodm1hLT5ub2RlLnN0YXJ0KTsKIAotCXdoaWxlIChnZW44X3BwZ3R0X2luc2VydF9wdGVf ZW50cmllcyhwcGd0dCwgcGRwc1tpZHgucG1sNGUrK10sICZpdGVyLAotCQkJCQkgICAgICZpZHgs IGNhY2hlX2xldmVsKSkKLQkJR0VNX0JVR19PTihpZHgucG1sNGUgPj0gR0VOOF9QTUw0RVNfUEVS X1BNTDQpOworCWlmICh2bWEtPnBhZ2Vfc2l6ZXMuc2cgPiBJOTE1X0dUVF9QQUdFX1NJWkUpIHsK KwkJZ2VuOF9wcGd0dF9pbnNlcnRfaHVnZV9lbnRyaWVzKHZtYSwgcGRwcywgJml0ZXIsIGNhY2hl X2xldmVsKTsKKwl9IGVsc2UgeworCQlzdHJ1Y3QgZ2VuOF9pbnNlcnRfcHRlIGlkeCA9IGdlbjhf aW5zZXJ0X3B0ZSh2bWEtPm5vZGUuc3RhcnQpOworCisJCXdoaWxlIChnZW44X3BwZ3R0X2luc2Vy dF9wdGVfZW50cmllcyhwcGd0dCwgcGRwc1tpZHgucG1sNGUrK10sCisJCQkJCQkgICAgICZpdGVy LCAmaWR4LCBjYWNoZV9sZXZlbCkpCisJCQlHRU1fQlVHX09OKGlkeC5wbWw0ZSA+PSBHRU44X1BN TDRFU19QRVJfUE1MNCk7CisJfQogfQogCiBzdGF0aWMgdm9pZCBnZW44X2ZyZWVfcGFnZV90YWJs ZXMoc3RydWN0IGk5MTVfYWRkcmVzc19zcGFjZSAqdm0sCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2Vt X2d0dC5oCmluZGV4IDU3NzM4YTYxZWE2ZS4uZTQ2ZjA1ZjBjZmQ5IDEwMDY0NAotLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2dlbV9ndHQuaApAQCAtMTQ5LDYgKzE0OSw4IEBAIHR5cGVkZWYgdTY0IGdlbjhfcHBn dHRfcG1sNGVfdDsKICNkZWZpbmUgR0VOOF9QUEFUX0VMTENfT1ZFUlJJREUJCSgwPDwyKQogI2Rl ZmluZSBHRU44X1BQQVQoaSwgeCkJCQkoKHU2NCkoeCkgPDwgKChpKSAqIDgpKQogCisjZGVmaW5l IEdFTjhfUERQRV9QU18xRyAgQklUKDcpCisKIHN0cnVjdCBzZ190YWJsZTsKIAogc3RydWN0IGlu dGVsX3JvdGF0aW9uX2luZm8gewotLSAKMi4xMy4zCgpfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBs aXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1h bi9saXN0aW5mby9pbnRlbC1nZngK