From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mika Kuoppala Subject: [PATCH 3/3] drm/i915/gtt: Setup phys pages for 3lvl pdps Date: Thu, 4 Jul 2019 18:44:07 +0300 Message-ID: <20190704154407.25551-3-mika.kuoppala@linux.intel.com> References: <20190704154407.25551-1-mika.kuoppala@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by gabe.freedesktop.org (Postfix) with ESMTPS id 5AE6689332 for ; Thu, 4 Jul 2019 15:44:24 +0000 (UTC) In-Reply-To: <20190704154407.25551-1-mika.kuoppala@linux.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 SWYgd2Ugc2V0dXAgYmFja2luZyBwaHlzIHBhZ2UgZm9yIDNsdmwgcGRwcywgZXZlbiB0aGV5CmFy ZSBub3QgdXNlZCwgd2UgbG9zZSA1IHBhZ2VzIHBlciBwcGd0dC4KClRyYWRpbmcgdGhpcyBtZW1v cnkgb24gYnN3LCB3ZSBnYWluIG1vcmUgY29tbW9uIGNvZGUgcGF0aHMgZm9yIGFsbApnZW44KyBk aXJlY3RvcnkgbWFuaXB1bGF0aW9uLiBBbmQgdGhvc2UgcGF0aHMgYXJlIG5vdyB2b2lkIG9mIGNo ZWNrcwpmb3IgcGFnZSBkaXJlY3RvcnkgdHlwZSwgbWFraW5nIHRoZSBob3QgcGF0aHMgZmFzdGVy LgoKdjI6IGRvbid0IHNob3J0Y3V0IHZtIChDaHJpcykKClNpZ25lZC1vZmYtYnk6IE1pa2EgS3Vv cHBhbGEgPG1pa2Eua3VvcHBhbGFAbGludXguaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZ2VtX2d0dC5jIHwgNzcgKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0K IDEgZmlsZSBjaGFuZ2VkLCA1MCBpbnNlcnRpb25zKCspLCAyNyBkZWxldGlvbnMoLSkKCmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuYyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5jCmluZGV4IDg0ZTExOWQ3YTVmYy4uYjk0MjJkNTkyZThj IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuYworKysgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuYwpAQCAtNzU4LDIyICs3NTgsMTQgQEAg c3RhdGljIHN0cnVjdCBpOTE1X3BhZ2VfZGlyZWN0b3J5ICphbGxvY19wZChzdHJ1Y3QgaTkxNV9h ZGRyZXNzX3NwYWNlICp2bSkKIAlyZXR1cm4gcGQ7CiB9CiAKLXN0YXRpYyBpbmxpbmUgYm9vbCBw ZF9oYXNfcGh5c19wYWdlKGNvbnN0IHN0cnVjdCBpOTE1X3BhZ2VfZGlyZWN0b3J5ICogY29uc3Qg cGQpCi17Ci0JcmV0dXJuIHBkLT5iYXNlLnBhZ2U7Ci19Ci0KIHN0YXRpYyB2b2lkIGZyZWVfcGQo c3RydWN0IGk5MTVfYWRkcmVzc19zcGFjZSAqdm0sCiAJCSAgICBzdHJ1Y3QgaTkxNV9wYWdlX2Rp cmVjdG9yeSAqcGQpCiB7Ci0JaWYgKGxpa2VseShwZF9oYXNfcGh5c19wYWdlKHBkKSkpCi0JCWNs ZWFudXBfcGFnZV9kbWEodm0sICZwZC0+YmFzZSk7Ci0KKwljbGVhbnVwX3BhZ2VfZG1hKHZtLCAm cGQtPmJhc2UpOwogCWtmcmVlKHBkKTsKIH0KIAogI2RlZmluZSBpbml0X3BkKHZtLCBwZCwgdG8p IHsJCQkJCVwKLQlHRU1fREVCVUdfQlVHX09OKCFwZF9oYXNfcGh5c19wYWdlKHBkKSk7CQlcCiAJ ZmlsbF9weCgodm0pLCAocGQpLCBnZW44X3BkZV9lbmNvZGUocHhfZG1hKHRvKSwgSTkxNV9DQUNI RV9MTEMpKTsgXAogCW1lbXNldF9wKChwZCktPmVudHJ5LCAodG8pLCA1MTIpOwkJCQlcCiB9CkBA IC0xNTk1LDYgKzE1ODcsNTAgQEAgc3RhdGljIHZvaWQgcHBndHRfaW5pdChzdHJ1Y3QgaTkxNV9w cGd0dCAqcHBndHQsIHN0cnVjdCBpbnRlbF9ndCAqZ3QpCiAJcHBndHQtPnZtLnZtYV9vcHMuY2xl YXJfcGFnZXMgPSBjbGVhcl9wYWdlczsKIH0KIAorc3RhdGljIHZvaWQgaW5pdF9wZF9uKHN0cnVj dCBpOTE1X2FkZHJlc3Nfc3BhY2UgKnZtLAorCQkgICAgICBzdHJ1Y3QgaTkxNV9wYWdlX2RpcmVj dG9yeSAqcGQsCisJCSAgICAgIHN0cnVjdCBpOTE1X3BhZ2VfZGlyZWN0b3J5ICp0bywKKwkJICAg ICAgY29uc3QgdW5zaWduZWQgaW50IGVudHJpZXMpCit7CisJY29uc3QgdTY0IGRhZGRyID0gZ2Vu OF9wZGVfZW5jb2RlKHB4X2RtYSh0byksIEk5MTVfQ0FDSEVfTExDKTsKKwl1NjQgKiBjb25zdCB2 YWRkciA9IGttYXBfYXRvbWljKHBkLT5iYXNlLnBhZ2UpOworCisJbWVtc2V0NjQodmFkZHIsIGRh ZGRyLCBlbnRyaWVzKTsKKwlrdW5tYXBfYXRvbWljKHZhZGRyKTsKKworCW1lbXNldF9wKHBkLT5l bnRyeSwgdG8sIGVudHJpZXMpOworfQorCitzdGF0aWMgc3RydWN0IGk5MTVfcGFnZV9kaXJlY3Rv cnkgKgorZ2VuOF9hbGxvY190b3BfcGQoc3RydWN0IGk5MTVfYWRkcmVzc19zcGFjZSAqdm0pCit7 CisJc3RydWN0IGk5MTVfcGFnZV9kaXJlY3RvcnkgKnBkOworCisJaWYgKGk5MTVfdm1faXNfNGx2 bCh2bSkpIHsKKwkJcGQgPSBhbGxvY19wZCh2bSk7CisJCWlmICghSVNfRVJSKHBkKSkKKwkJCWlu aXRfcGQodm0sIHBkLCB2bS0+c2NyYXRjaF9wZHApOworCisJCXJldHVybiBwZDsKKwl9CisKKwkv KiAzbHZsICovCisJcGQgPSBfX2FsbG9jX3BkKCk7CisJaWYgKCFwZCkKKwkJcmV0dXJuIEVSUl9Q VFIoLUVOT01FTSk7CisKKwlwZC0+ZW50cnlbR0VOOF8zTFZMX1BEUEVTXSA9IE5VTEw7CisKKwlp ZiAodW5saWtlbHkoc2V0dXBfcGFnZV9kbWEodm0sICZwZC0+YmFzZSkpKSB7CisJCWtmcmVlKHBk KTsKKwkJcmV0dXJuIEVSUl9QVFIoLUVOT01FTSk7CisJfQorCisJaW5pdF9wZF9uKHZtLCBwZCwg dm0tPnNjcmF0Y2hfcGQsIEdFTjhfM0xWTF9QRFBFUyk7CisKKwlyZXR1cm4gcGQ7Cit9CisKIC8q CiAgKiBHRU44IGxlZ2FjeSBwcGd0dCBwcm9ncmFtbWluZyBpcyBhY2NvbXBsaXNoZWQgdGhyb3Vn aCBhIG1heCA0IFBEUCByZWdpc3RlcnMKICAqIHdpdGggYSBuZXQgZWZmZWN0IHJlc2VtYmxpbmcg YSAyLWxldmVsIHBhZ2UgdGFibGUgaW4gbm9ybWFsIHg4NiB0ZXJtcy4gRWFjaApAQCAtMTYzMSwz NCArMTY2NywyMSBAQCBzdGF0aWMgc3RydWN0IGk5MTVfcHBndHQgKmdlbjhfcHBndHRfY3JlYXRl KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1KQogCWlmIChlcnIpCiAJCWdvdG8gZXJyX2Zy ZWU7CiAKLQlwcGd0dC0+cGQgPSBfX2FsbG9jX3BkKCk7Ci0JaWYgKCFwcGd0dC0+cGQpIHsKLQkJ ZXJyID0gLUVOT01FTTsKKwlwcGd0dC0+cGQgPSBnZW44X2FsbG9jX3RvcF9wZCgmcHBndHQtPnZt KTsKKwlpZiAoSVNfRVJSKHBwZ3R0LT5wZCkpIHsKKwkJZXJyID0gUFRSX0VSUihwcGd0dC0+cGQp OwogCQlnb3RvIGVycl9mcmVlX3NjcmF0Y2g7CiAJfQogCiAJaWYgKGk5MTVfdm1faXNfNGx2bCgm cHBndHQtPnZtKSkgewotCQllcnIgPSBzZXR1cF9wYWdlX2RtYSgmcHBndHQtPnZtLCAmcHBndHQt PnBkLT5iYXNlKTsKLQkJaWYgKGVycikKLQkJCWdvdG8gZXJyX2ZyZWVfcGRwOwotCi0JCWluaXRf cGQoJnBwZ3R0LT52bSwgcHBndHQtPnBkLCBwcGd0dC0+dm0uc2NyYXRjaF9wZHApOwotCiAJCXBw Z3R0LT52bS5hbGxvY2F0ZV92YV9yYW5nZSA9IGdlbjhfcHBndHRfYWxsb2NfNGx2bDsKIAkJcHBn dHQtPnZtLmluc2VydF9lbnRyaWVzID0gZ2VuOF9wcGd0dF9pbnNlcnRfNGx2bDsKIAkJcHBndHQt PnZtLmNsZWFyX3JhbmdlID0gZ2VuOF9wcGd0dF9jbGVhcl80bHZsOwogCX0gZWxzZSB7Ci0JCS8q Ci0JCSAqIFdlIGRvbid0IG5lZWQgdG8gc2V0dXAgZG1hIGZvciB0b3AgbGV2ZWwgcGRwLCBvbmx5 Ci0JCSAqIGZvciBlbnRyaWVzLiBTbyBwb2ludCBlbnRyaWVzIHRvIHNjcmF0Y2guCi0JCSAqLwot CQltZW1zZXRfcChwcGd0dC0+cGQtPmVudHJ5LCBwcGd0dC0+dm0uc2NyYXRjaF9wZCwKLQkJCSBH RU44XzNMVkxfUERQRVMpOwotCiAJCWlmIChpbnRlbF92Z3B1X2FjdGl2ZShpOTE1KSkgewogCQkJ ZXJyID0gZ2VuOF9wcmVhbGxvY2F0ZV90b3BfbGV2ZWxfcGRwKHBwZ3R0KTsKIAkJCWlmIChlcnIp Ci0JCQkJZ290byBlcnJfZnJlZV9wZHA7CisJCQkJZ290byBlcnJfZnJlZV9wZDsKIAkJfQogCiAJ CXBwZ3R0LT52bS5hbGxvY2F0ZV92YV9yYW5nZSA9IGdlbjhfcHBndHRfYWxsb2NfM2x2bDsKQEAg LTE2NzMsNyArMTY5Niw3IEBAIHN0YXRpYyBzdHJ1Y3QgaTkxNV9wcGd0dCAqZ2VuOF9wcGd0dF9j cmVhdGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUpCiAKIAlyZXR1cm4gcHBndHQ7CiAK LWVycl9mcmVlX3BkcDoKK2Vycl9mcmVlX3BkOgogCWZyZWVfcGQoJnBwZ3R0LT52bSwgcHBndHQt PnBkKTsKIGVycl9mcmVlX3NjcmF0Y2g6CiAJZ2VuOF9mcmVlX3NjcmF0Y2goJnBwZ3R0LT52bSk7 Ci0tIAoyLjE3LjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9y ZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdm eA==