From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mika Kuoppala Subject: [PATCH 10/10] drm/i915/gtt: Setup phys pages for 3lvl pdps Date: Fri, 14 Jun 2019 19:43:50 +0300 Message-ID: <20190614164350.30415-10-mika.kuoppala@linux.intel.com> References: <20190614164350.30415-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 mga04.intel.com (mga04.intel.com [192.55.52.120]) by gabe.freedesktop.org (Postfix) with ESMTPS id 8F69589AF3 for ; Fri, 14 Jun 2019 16:43:56 +0000 (UTC) In-Reply-To: <20190614164350.30415-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 LgoKU2lnbmVkLW9mZi1ieTogTWlrYSBLdW9wcGFsYSA8bWlrYS5rdW9wcGFsYUBsaW51eC5pbnRl bC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmMgfCAxMTIgKysr KysrKysrKysrKysrKystLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDY4IGluc2VydGlvbnMo KyksIDQ0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZ2VtX2d0dC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmMKaW5kZXgg YmEyODAyYzI1ZDEzLi5jNzZjOTIwNzJkNTQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZ2VtX2d0dC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0 dC5jCkBAIC03MTQsMjIgKzcxNCwxNCBAQCBzdGF0aWMgc3RydWN0IGk5MTVfcGFnZV9kaXJlY3Rv cnkgKmFsbG9jX3BkKHN0cnVjdCBpOTE1X2FkZHJlc3Nfc3BhY2UgKnZtKQogCXJldHVybiBwZDsK IH0KIAotc3RhdGljIGlubGluZSBib29sIHBkX2hhc19waHlzX3BhZ2UoY29uc3Qgc3RydWN0IGk5 MTVfcGFnZV9kaXJlY3RvcnkgKiBjb25zdCBwZCkKLXsKLQlyZXR1cm4gcGQtPmJhc2UucGFnZTsK LX0KLQogc3RhdGljIHZvaWQgZnJlZV9wZChzdHJ1Y3QgaTkxNV9hZGRyZXNzX3NwYWNlICp2bSwK IAkJICAgIHN0cnVjdCBpOTE1X3BhZ2VfZGlyZWN0b3J5ICpwZCkKIHsKLQlpZiAobGlrZWx5KHBk X2hhc19waHlzX3BhZ2UocGQpKSkKLQkJY2xlYW51cF9wYWdlX2RtYSh2bSwgJnBkLT5iYXNlKTsK LQorCWNsZWFudXBfcGFnZV9kbWEodm0sICZwZC0+YmFzZSk7CiAJa2ZyZWUocGQpOwogfQogCiAj ZGVmaW5lIGluaXRfcGQodm0sIHBkLCB0bykgewkJCQkJXAotCUdFTV9ERUJVR19CVUdfT04oIXBk X2hhc19waHlzX3BhZ2UocGQpKTsJCVwKIAlmaWxsX3B4KCh2bSksIChwZCksIGdlbjhfcGRlX2Vu Y29kZShweF9kbWEodG8pLCBJOTE1X0NBQ0hFX0xMQykpOyBcCiAJbWVtc2V0X3AoKHBkKS0+ZW50 cnksICh0byksIDUxMik7CQkJCVwKIH0KQEAgLTc0Nyw4ICs3MzksNyBAQCBzdGF0aWMgdm9pZCBf X3NldF9wZF9lbnRyeShzdHJ1Y3QgaTkxNV9wYWdlX2RpcmVjdG9yeSAqIGNvbnN0IHBkLAogCiAj ZGVmaW5lIHNldF9wZF9lbnRyeShwZCwgcGRlLCB0bykgKHsJCQkJCVwKIAkocGQpLT5lbnRyeVso cGRlKV0gPSAodG8pOwkJCQkJXAotCWlmIChsaWtlbHkocGRfaGFzX3BoeXNfcGFnZShwZCkpKQkJ CQlcCi0JCV9fc2V0X3BkX2VudHJ5KChwZCksIChwZGUpLAkJCQlcCisJX19zZXRfcGRfZW50cnko KHBkKSwgKHBkZSksCQkJCQlcCiAJCSAgICAgICBnZW44X3BkZV9lbmNvZGUocHhfZG1hKHRvKSwg STkxNV9DQUNIRV9MTEMpKTsJXAogfSkKIApAQCAtNzY0LDggKzc1NSw3IEBAIF9fc3dhcF9wZF9l bnRyeShzdHJ1Y3QgaTkxNV9wYWdlX2RpcmVjdG9yeSAqIGNvbnN0IHBkLAogCiAJaWYgKGxpa2Vs eShvbGQgPT0gb2xkX3ZhbCkpIHsKIAkJYXRvbWljX2luYygmcGQtPnVzZWQpOwotCQlpZiAobGlr ZWx5KHBkX2hhc19waHlzX3BhZ2UocGQpKSkKLQkJCV9fc2V0X3BkX2VudHJ5KHBkLCBwZGUsIGVu Y29kZShkYWRkciwgSTkxNV9DQUNIRV9MTEMpKTsKKwkJX19zZXRfcGRfZW50cnkocGQsIHBkZSwg ZW5jb2RlKGRhZGRyLCBJOTE1X0NBQ0hFX0xMQykpOwogCX0KIAogCXJldHVybiBvbGQ7CkBAIC0x NTM5LDYgKzE1MjksNTAgQEAgc3RhdGljIHZvaWQgcHBndHRfaW5pdChzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqaTkxNSwKIAlwcGd0dC0+dm0udm1hX29wcy5jbGVhcl9wYWdlcyA9IGNsZWFyX3Bh Z2VzOwogfQogCitzdGF0aWMgdm9pZCBpbml0X3BkX24oc3RydWN0IGk5MTVfYWRkcmVzc19zcGFj ZSAqdm0sCisJCSAgICAgIHN0cnVjdCBpOTE1X3BhZ2VfZGlyZWN0b3J5ICpwZCwKKwkJICAgICAg c3RydWN0IGk5MTVfcGFnZV9kaXJlY3RvcnkgKnRvLAorCQkgICAgICBjb25zdCB1bnNpZ25lZCBp bnQgZW50cmllcykKK3sKKwljb25zdCB1NjQgZGFkZHIgPSBnZW44X3BkZV9lbmNvZGUocHhfZG1h KHRvKSwgSTkxNV9DQUNIRV9MTEMpOworCXU2NCAqIGNvbnN0IHZhZGRyID0ga21hcF9hdG9taWMo cGQtPmJhc2UucGFnZSk7CisKKwltZW1zZXQ2NCh2YWRkciwgZGFkZHIsIGVudHJpZXMpOworCWt1 bm1hcF9hdG9taWModmFkZHIpOworCisJbWVtc2V0X3AocGQtPmVudHJ5LCB0bywgZW50cmllcyk7 Cit9CisKK3N0YXRpYyBzdHJ1Y3QgaTkxNV9wYWdlX2RpcmVjdG9yeSAqCitnZW44X2FsbG9jX3Rv cF9wZChzdHJ1Y3QgaTkxNV9hZGRyZXNzX3NwYWNlICp2bSkKK3sKKwlzdHJ1Y3QgaTkxNV9wYWdl X2RpcmVjdG9yeSAqcGQ7CisKKwlpZiAoaTkxNV92bV9pc180bHZsKHZtKSkgeworCQlwZCA9IGFs bG9jX3BkKHZtKTsKKwkJaWYgKCFJU19FUlIocGQpKQorCQkJaW5pdF9wZCh2bSwgcGQsIHZtLT5z Y3JhdGNoX3BkcCk7CisKKwkJcmV0dXJuIHBkOworCX0KKworCS8qIDNsdmwgKi8KKwlwZCA9IF9f YWxsb2NfcGQoKTsKKwlpZiAoIXBkKQorCQlyZXR1cm4gRVJSX1BUUigtRU5PTUVNKTsKKworCXBk LT5lbnRyeVtHRU44XzNMVkxfUERQRVNdID0gTlVMTDsKKworCWlmICh1bmxpa2VseShzZXR1cF9w YWdlX2RtYSh2bSwgJnBkLT5iYXNlKSkpIHsKKwkJa2ZyZWUocGQpOworCQlyZXR1cm4gRVJSX1BU UigtRU5PTUVNKTsKKwl9CisKKwlpbml0X3BkX24odm0sIHBkLCB2bS0+c2NyYXRjaF9wZCwgR0VO OF8zTFZMX1BEUEVTKTsKKworCXJldHVybiBwZDsKK30KKwogLyoKICAqIEdFTjggbGVnYWN5IHBw Z3R0IHByb2dyYW1taW5nIGlzIGFjY29tcGxpc2hlZCB0aHJvdWdoIGEgbWF4IDQgUERQIHJlZ2lz dGVycwogICogd2l0aCBhIG5ldCBlZmZlY3QgcmVzZW1ibGluZyBhIDItbGV2ZWwgcGFnZSB0YWJs ZSBpbiBub3JtYWwgeDg2IHRlcm1zLiBFYWNoCkBAIC0xNTQ4LDYgKzE1ODIsNyBAQCBzdGF0aWMg dm9pZCBwcGd0dF9pbml0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1LAogICovCiBzdGF0 aWMgc3RydWN0IGk5MTVfcHBndHQgKmdlbjhfcHBndHRfY3JlYXRlKHN0cnVjdCBkcm1faTkxNV9w cml2YXRlICppOTE1KQogeworCXN0cnVjdCBpOTE1X2FkZHJlc3Nfc3BhY2UgKnZtOwogCXN0cnVj dCBpOTE1X3BwZ3R0ICpwcGd0dDsKIAlpbnQgZXJyOwogCkBAIC0xNTU3LDcwICsxNTkyLDU5IEBA IHN0YXRpYyBzdHJ1Y3QgaTkxNV9wcGd0dCAqZ2VuOF9wcGd0dF9jcmVhdGUoc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmk5MTUpCiAKIAlwcGd0dF9pbml0KGk5MTUsIHBwZ3R0KTsKIAorCXZtID0g JnBwZ3R0LT52bTsKKwogCS8qCiAJICogRnJvbSBiZHcsIHRoZXJlIGlzIGh3IHN1cHBvcnQgZm9y IHJlYWQtb25seSBwYWdlcyBpbiB0aGUgUFBHVFQuCiAJICoKIAkgKiBHZW4xMSBoYXMgSFNERVMj OjE4MDcxMzYxODcgdW5yZXNvbHZlZC4gRGlzYWJsZSBybyBzdXBwb3J0CiAJICogZm9yIG5vdy4K IAkgKi8KLQlwcGd0dC0+dm0uaGFzX3JlYWRfb25seSA9IElOVEVMX0dFTihpOTE1KSAhPSAxMTsK Kwl2bS0+aGFzX3JlYWRfb25seSA9IElOVEVMX0dFTihpOTE1KSAhPSAxMTsKIAogCS8qIFRoZXJl IGFyZSBvbmx5IGZldyBleGNlcHRpb25zIGZvciBnZW4gPj02LiBjaHYgYW5kIGJ4dC4KIAkgKiBB bmQgd2UgYXJlIG5vdCBzdXJlIGFib3V0IHRoZSBsYXR0ZXIgc28gcGxheSBzYWZlIGZvciBub3cu CiAJICovCiAJaWYgKElTX0NIRVJSWVZJRVcoaTkxNSkgfHwgSVNfQlJPWFRPTihpOTE1KSkKLQkJ cHBndHQtPnZtLnB0X2ttYXBfd2MgPSB0cnVlOworCQl2bS0+cHRfa21hcF93YyA9IHRydWU7CiAK LQllcnIgPSBnZW44X2luaXRfc2NyYXRjaCgmcHBndHQtPnZtKTsKKwllcnIgPSBnZW44X2luaXRf c2NyYXRjaCh2bSk7CiAJaWYgKGVycikKIAkJZ290byBlcnJfZnJlZTsKIAotCXBwZ3R0LT5wZCA9 IF9fYWxsb2NfcGQoKTsKLQlpZiAoIXBwZ3R0LT5wZCkgewotCQllcnIgPSAtRU5PTUVNOworCXBw Z3R0LT5wZCA9IGdlbjhfYWxsb2NfdG9wX3BkKHZtKTsKKwlpZiAoSVNfRVJSKHBwZ3R0LT5wZCkp IHsKKwkJZXJyID0gUFRSX0VSUihwcGd0dC0+cGQpOwogCQlnb3RvIGVycl9mcmVlX3NjcmF0Y2g7 CiAJfQogCi0JaWYgKGk5MTVfdm1faXNfNGx2bCgmcHBndHQtPnZtKSkgewotCQllcnIgPSBzZXR1 cF9wYWdlX2RtYSgmcHBndHQtPnZtLCAmcHBndHQtPnBkLT5iYXNlKTsKLQkJaWYgKGVycikKLQkJ CWdvdG8gZXJyX2ZyZWVfcGRwOwotCi0JCWluaXRfcGQoJnBwZ3R0LT52bSwgcHBndHQtPnBkLCBw cGd0dC0+dm0uc2NyYXRjaF9wZHApOwotCi0JCXBwZ3R0LT52bS5hbGxvY2F0ZV92YV9yYW5nZSA9 IGdlbjhfcHBndHRfYWxsb2NfNGx2bDsKLQkJcHBndHQtPnZtLmluc2VydF9lbnRyaWVzID0gZ2Vu OF9wcGd0dF9pbnNlcnRfNGx2bDsKLQkJcHBndHQtPnZtLmNsZWFyX3JhbmdlID0gZ2VuOF9wcGd0 dF9jbGVhcl80bHZsOworCWlmIChpOTE1X3ZtX2lzXzRsdmwodm0pKSB7CisJCXZtLT5hbGxvY2F0 ZV92YV9yYW5nZSA9IGdlbjhfcHBndHRfYWxsb2NfNGx2bDsKKwkJdm0tPmluc2VydF9lbnRyaWVz ID0gZ2VuOF9wcGd0dF9pbnNlcnRfNGx2bDsKKwkJdm0tPmNsZWFyX3JhbmdlID0gZ2VuOF9wcGd0 dF9jbGVhcl80bHZsOwogCX0gZWxzZSB7Ci0JCS8qCi0JCSAqIFdlIGRvbid0IG5lZWQgdG8gc2V0 dXAgZG1hIGZvciB0b3AgbGV2ZWwgcGRwLCBvbmx5Ci0JCSAqIGZvciBlbnRyaWVzLiBTbyBwb2lu dCBlbnRyaWVzIHRvIHNjcmF0Y2guCi0JCSAqLwotCQltZW1zZXRfcChwcGd0dC0+cGQtPmVudHJ5 LCBwcGd0dC0+dm0uc2NyYXRjaF9wZCwKLQkJCSBHRU44XzNMVkxfUERQRVMpOwotCiAJCWlmIChp bnRlbF92Z3B1X2FjdGl2ZShpOTE1KSkgewogCQkJZXJyID0gZ2VuOF9wcmVhbGxvY2F0ZV90b3Bf bGV2ZWxfcGRwKHBwZ3R0KTsKIAkJCWlmIChlcnIpCi0JCQkJZ290byBlcnJfZnJlZV9wZHA7CisJ CQkJZ290byBlcnJfZnJlZV9wZDsKIAkJfQogCi0JCXBwZ3R0LT52bS5hbGxvY2F0ZV92YV9yYW5n ZSA9IGdlbjhfcHBndHRfYWxsb2NfM2x2bDsKLQkJcHBndHQtPnZtLmluc2VydF9lbnRyaWVzID0g Z2VuOF9wcGd0dF9pbnNlcnRfM2x2bDsKLQkJcHBndHQtPnZtLmNsZWFyX3JhbmdlID0gZ2VuOF9w cGd0dF9jbGVhcl8zbHZsOworCQl2bS0+YWxsb2NhdGVfdmFfcmFuZ2UgPSBnZW44X3BwZ3R0X2Fs bG9jXzNsdmw7CisJCXZtLT5pbnNlcnRfZW50cmllcyA9IGdlbjhfcHBndHRfaW5zZXJ0XzNsdmw7 CisJCXZtLT5jbGVhcl9yYW5nZSA9IGdlbjhfcHBndHRfY2xlYXJfM2x2bDsKIAl9CiAKIAlpZiAo aW50ZWxfdmdwdV9hY3RpdmUoaTkxNSkpCiAJCWdlbjhfcHBndHRfbm90aWZ5X3ZndChwcGd0dCwg dHJ1ZSk7CiAKLQlwcGd0dC0+dm0uY2xlYW51cCA9IGdlbjhfcHBndHRfY2xlYW51cDsKKwl2bS0+ Y2xlYW51cCA9IGdlbjhfcHBndHRfY2xlYW51cDsKIAogCXJldHVybiBwcGd0dDsKIAotZXJyX2Zy ZWVfcGRwOgotCWZyZWVfcGQoJnBwZ3R0LT52bSwgcHBndHQtPnBkKTsKK2Vycl9mcmVlX3BkOgor CWZyZWVfcGQodm0sIHBwZ3R0LT5wZCk7CiBlcnJfZnJlZV9zY3JhdGNoOgotCWdlbjhfZnJlZV9z Y3JhdGNoKCZwcGd0dC0+dm0pOworCWdlbjhfZnJlZV9zY3JhdGNoKHZtKTsKIGVycl9mcmVlOgog CWtmcmVlKHBwZ3R0KTsKIAlyZXR1cm4gRVJSX1BUUihlcnIpOwotLSAKMi4xNy4xCgpfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGlu ZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVl ZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZng=