From mboxrd@z Thu Jan 1 00:00:00 1970 From: changbin.du@intel.com Subject: [PATCH v5 04/14] drm/i915/gvt: Detect 64K gtt entry by IPS bit of PDE Date: Mon, 7 May 2018 15:21:43 +0800 Message-ID: <1525677713-8395-5-git-send-email-changbin.du@intel.com> References: <1525677713-8395-1-git-send-email-changbin.du@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1525677713-8395-1-git-send-email-changbin.du@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-gvt-dev@lists.freedesktop.org Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org RnJvbTogQ2hhbmdiaW4gRHUgPGNoYW5nYmluLmR1QGludGVsLmNvbT4KClRoaXMgY2hhbmdlIGhl bHAgdXMgZGV0ZWN0IHRoZSByZWFsIGVudHJ5IHR5cGUgcGVyIFBTRSBhbmQgSVBTIHNldHRpbmcu CkZvciA2NEsgZW50cnksIHdlIGFsc28gbmVlZCB0byBjaGVjayByZWcgR0VOOF9HQU1XX0VDT19E RVZfUldfSUEuCgpTaWduZWQtb2ZmLWJ5OiBDaGFuZ2JpbiBEdSA8Y2hhbmdiaW4uZHVAaW50ZWwu Y29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2d2dC9ndHQuYyB8IDY4ICsrKysrKysrKysr KysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Z0 L2d0dC5oIHwgIDIgKysKIDIgZmlsZXMgY2hhbmdlZCwgNDkgaW5zZXJ0aW9ucygrKSwgMjEgZGVs ZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Z0L2d0dC5jIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Z0L2d0dC5jCmluZGV4IGNkMmEyMjcuLjdhODA1MTggMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d2dC9ndHQuYworKysgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9ndnQvZ3R0LmMKQEAgLTM4NCwyMCArMzg0LDcgQEAgc3RhdGljIHZvaWQgZ2Vu OF9ndHRfc2V0X3BmbihzdHJ1Y3QgaW50ZWxfZ3Z0X2d0dF9lbnRyeSAqZSwgdW5zaWduZWQgbG9u ZyBwZm4pCiAKIHN0YXRpYyBib29sIGdlbjhfZ3R0X3Rlc3RfcHNlKHN0cnVjdCBpbnRlbF9ndnRf Z3R0X2VudHJ5ICplKQogewotCS8qIEVudHJ5IGRvZXNuJ3QgaGF2ZSBQU0UgYml0LiAqLwotCWlm IChnZXRfcHNlX3R5cGUoZS0+dHlwZSkgPT0gR1RUX1RZUEVfSU5WQUxJRCkKLQkJcmV0dXJuIGZh bHNlOwotCi0JZS0+dHlwZSA9IGdldF9lbnRyeV90eXBlKGUtPnR5cGUpOwotCWlmICghKGUtPnZh bDY0ICYgX1BBR0VfUFNFKSkKLQkJcmV0dXJuIGZhbHNlOwotCi0JLyogV2UgZG9uJ3Qgc3VwcG9y dCA2NEsgZW50cnkgeWV0LCB3aWxsIHJlbW92ZSB0aGlzIGxhdGVyLiAqLwotCWlmIChnZXRfcHNl X3R5cGUoZS0+dHlwZSkgPT0gR1RUX1RZUEVfUFBHVFRfUFRFXzY0S19FTlRSWSkKLQkJcmV0dXJu IGZhbHNlOwotCi0JZS0+dHlwZSA9IGdldF9wc2VfdHlwZShlLT50eXBlKTsKLQlyZXR1cm4gdHJ1 ZTsKKwlyZXR1cm4gISEoZS0+dmFsNjQgJiBfUEFHRV9QU0UpOwogfQogCiBzdGF0aWMgYm9vbCBn ZW44X2d0dF90ZXN0X2lwcyhzdHJ1Y3QgaW50ZWxfZ3Z0X2d0dF9lbnRyeSAqZSkKQEAgLTQ4Nyw2 ICs0NzQsMjcgQEAgc3RhdGljIHN0cnVjdCBpbnRlbF9ndnRfZ3R0X2dtYV9vcHMgZ2VuOF9ndHRf Z21hX29wcyA9IHsKIAkuZ21hX3RvX3BtbDRfaW5kZXggPSBnZW44X2dtYV90b19wbWw0X2luZGV4 LAogfTsKIAorLyogVXBkYXRlIGVudHJ5IHR5cGUgcGVyIHBzZSBhbmQgaXBzIGJpdC4gKi8KK3N0 YXRpYyB2b2lkIHVwZGF0ZV9lbnRyeV90eXBlX2Zvcl9yZWFsKHN0cnVjdCBpbnRlbF9ndnRfZ3R0 X3B0ZV9vcHMgKnB0ZV9vcHMsCisJc3RydWN0IGludGVsX2d2dF9ndHRfZW50cnkgKmVudHJ5LCBi b29sIGlwcykKK3sKKwlzd2l0Y2ggKGVudHJ5LT50eXBlKSB7CisJY2FzZSBHVFRfVFlQRV9QUEdU VF9QREVfRU5UUlk6CisJY2FzZSBHVFRfVFlQRV9QUEdUVF9QRFBfRU5UUlk6CisJCWlmIChwdGVf b3BzLT50ZXN0X3BzZShlbnRyeSkpCisJCQllbnRyeS0+dHlwZSA9IGdldF9wc2VfdHlwZShlbnRy eS0+dHlwZSk7CisJCWJyZWFrOworCWNhc2UgR1RUX1RZUEVfUFBHVFRfUFRFXzRLX0VOVFJZOgor CQlpZiAoaXBzKQorCQkJZW50cnktPnR5cGUgPSBnZXRfcHNlX3R5cGUoZW50cnktPnR5cGUpOwor CQlicmVhazsKKwlkZWZhdWx0OgorCQlHRU1fQlVHX09OKCFndHRfdHlwZV9pc19lbnRyeShlbnRy eS0+dHlwZSkpOworCX0KKworCUdFTV9CVUdfT04oZW50cnktPnR5cGUgPT0gR1RUX1RZUEVfSU5W QUxJRCk7Cit9CisKIC8qCiAgKiBNTSBoZWxwZXJzLgogICovCkBAIC01MDIsOCArNTEwLDcgQEAg c3RhdGljIHZvaWQgX3BwZ3R0X2dldF9yb290X2VudHJ5KHN0cnVjdCBpbnRlbF92Z3B1X21tICpt bSwKIAlwdGVfb3BzLT5nZXRfZW50cnkoZ3Vlc3QgPyBtbS0+cHBndHRfbW0uZ3Vlc3RfcGRwcyA6 CiAJCQkgICBtbS0+cHBndHRfbW0uc2hhZG93X3BkcHMsCiAJCQkgICBlbnRyeSwgaW5kZXgsIGZh bHNlLCAwLCBtbS0+dmdwdSk7Ci0KLQlwdGVfb3BzLT50ZXN0X3BzZShlbnRyeSk7CisJdXBkYXRl X2VudHJ5X3R5cGVfZm9yX3JlYWwocHRlX29wcywgZW50cnksIGZhbHNlKTsKIH0KIAogc3RhdGlj IGlubGluZSB2b2lkIHBwZ3R0X2dldF9ndWVzdF9yb290X2VudHJ5KHN0cnVjdCBpbnRlbF92Z3B1 X21tICptbSwKQEAgLTYwOCw3ICs2MTUsOCBAQCBzdGF0aWMgaW5saW5lIGludCBwcGd0dF9zcHRf Z2V0X2VudHJ5KAogCWlmIChyZXQpCiAJCXJldHVybiByZXQ7CiAKLQlvcHMtPnRlc3RfcHNlKGUp OworCXVwZGF0ZV9lbnRyeV90eXBlX2Zvcl9yZWFsKG9wcywgZSwgZ3Vlc3QgPworCQkJCSAgIHNw dC0+Z3Vlc3RfcGFnZS5wZGVfaXBzIDogZmFsc2UpOwogCiAJZ3Z0X3ZkYmdfbW0oInJlYWQgcHBn dHQgZW50cnksIHNwdCB0eXBlICVkLCBlbnRyeSB0eXBlICVkLCBpbmRleCAlbHUsIHZhbHVlICVs bHhcbiIsCiAJCSAgICB0eXBlLCBlLT50eXBlLCBpbmRleCwgZS0+dmFsNjQpOwpAQCAtNzUyLDcg Kzc2MCw4IEBAIHN0YXRpYyBpbmxpbmUgc3RydWN0IGludGVsX3ZncHVfcHBndHRfc3B0ICppbnRl bF92Z3B1X2ZpbmRfc3B0X2J5X21mbigKIHN0YXRpYyBpbnQgcmVjbGFpbV9vbmVfcHBndHRfbW0o c3RydWN0IGludGVsX2d2dCAqZ3Z0KTsKIAogc3RhdGljIHN0cnVjdCBpbnRlbF92Z3B1X3BwZ3R0 X3NwdCAqcHBndHRfYWxsb2Nfc3B0KAotCQlzdHJ1Y3QgaW50ZWxfdmdwdSAqdmdwdSwgaW50IHR5 cGUsIHVuc2lnbmVkIGxvbmcgZ2ZuKQorCQlzdHJ1Y3QgaW50ZWxfdmdwdSAqdmdwdSwgaW50IHR5 cGUsIHVuc2lnbmVkIGxvbmcgZ2ZuLAorCQlib29sIGd1ZXN0X3BkZV9pcHMpCiB7CiAJc3RydWN0 IGRldmljZSAqa2RldiA9ICZ2Z3B1LT5ndnQtPmRldl9wcml2LT5kcm0ucGRldi0+ZGV2OwogCXN0 cnVjdCBpbnRlbF92Z3B1X3BwZ3R0X3NwdCAqc3B0ID0gTlVMTDsKQEAgLTc5Miw2ICs4MDEsNyBA QCBzdGF0aWMgc3RydWN0IGludGVsX3ZncHVfcHBndHRfc3B0ICpwcGd0dF9hbGxvY19zcHQoCiAJ ICovCiAJc3B0LT5ndWVzdF9wYWdlLnR5cGUgPSB0eXBlOwogCXNwdC0+Z3Vlc3RfcGFnZS5nZm4g PSBnZm47CisJc3B0LT5ndWVzdF9wYWdlLnBkZV9pcHMgPSBndWVzdF9wZGVfaXBzOwogCiAJcmV0 ID0gaW50ZWxfdmdwdV9yZWdpc3Rlcl9wYWdlX3RyYWNrKHZncHUsIHNwdC0+Z3Vlc3RfcGFnZS5n Zm4sCiAJCQkJCXBwZ3R0X3dyaXRlX3Byb3RlY3Rpb25faGFuZGxlciwgc3B0KTsKQEAgLTkzNCw2 ICs5NDQsMjAgQEAgc3RhdGljIGludCBwcGd0dF9pbnZhbGlkYXRlX3NwdChzdHJ1Y3QgaW50ZWxf dmdwdV9wcGd0dF9zcHQgKnNwdCkKIAlyZXR1cm4gcmV0OwogfQogCitzdGF0aWMgYm9vbCB2Z3B1 X2lwc19lbmFibGVkKHN0cnVjdCBpbnRlbF92Z3B1ICp2Z3B1KQoreworCWlmIChJTlRFTF9HRU4o dmdwdS0+Z3Z0LT5kZXZfcHJpdikgPT0gOSkgeworCQl1MzIgaXBzID0gdmdwdV92cmVnX3Qodmdw dSwgR0VOOF9HQU1XX0VDT19ERVZfUldfSUEpICYKKwkJCUdBTVdfRUNPX0VOQUJMRV82NEtfSVBT X0ZJRUxEOworCisJCXJldHVybiBpcHMgPT0gR0FNV19FQ09fRU5BQkxFXzY0S19JUFNfRklFTEQ7 CisJfSBlbHNlIGlmIChJTlRFTF9HRU4odmdwdS0+Z3Z0LT5kZXZfcHJpdikgPj0gMTApIHsKKwkJ LyogNjRLIHBhZ2luZyBvbmx5IGNvbnRyb2xsZWQgYnkgSVBTIGJpdCBpbiBQVEUgbm93LiAqLwor CQlyZXR1cm4gdHJ1ZTsKKwl9IGVsc2UKKwkJcmV0dXJuIGZhbHNlOworfQorCiBzdGF0aWMgaW50 IHBwZ3R0X3BvcHVsYXRlX3NwdChzdHJ1Y3QgaW50ZWxfdmdwdV9wcGd0dF9zcHQgKnNwdCk7CiAK IHN0YXRpYyBzdHJ1Y3QgaW50ZWxfdmdwdV9wcGd0dF9zcHQgKnBwZ3R0X3BvcHVsYXRlX3NwdF9i eV9ndWVzdF9lbnRyeSgKQEAgLTk0MSw2ICs5NjUsNyBAQCBzdGF0aWMgc3RydWN0IGludGVsX3Zn cHVfcHBndHRfc3B0ICpwcGd0dF9wb3B1bGF0ZV9zcHRfYnlfZ3Vlc3RfZW50cnkoCiB7CiAJc3Ry dWN0IGludGVsX2d2dF9ndHRfcHRlX29wcyAqb3BzID0gdmdwdS0+Z3Z0LT5ndHQucHRlX29wczsK IAlzdHJ1Y3QgaW50ZWxfdmdwdV9wcGd0dF9zcHQgKnNwdCA9IE5VTEw7CisJYm9vbCBpcHMgPSBm YWxzZTsKIAlpbnQgcmV0OwogCiAJR0VNX0JVR19PTighZ3R0X3R5cGVfaXNfcHQoZ2V0X25leHRf cHRfdHlwZSh3ZS0+dHlwZSkpKTsKQEAgLTk1MSw3ICs5NzYsMTAgQEAgc3RhdGljIHN0cnVjdCBp bnRlbF92Z3B1X3BwZ3R0X3NwdCAqcHBndHRfcG9wdWxhdGVfc3B0X2J5X2d1ZXN0X2VudHJ5KAog CWVsc2UgewogCQlpbnQgdHlwZSA9IGdldF9uZXh0X3B0X3R5cGUod2UtPnR5cGUpOwogCi0JCXNw dCA9IHBwZ3R0X2FsbG9jX3NwdCh2Z3B1LCB0eXBlLCBvcHMtPmdldF9wZm4od2UpKTsKKwkJaWYg KHdlLT50eXBlID09IEdUVF9UWVBFX1BQR1RUX1BERV9FTlRSWSkKKwkJCWlwcyA9IHZncHVfaXBz X2VuYWJsZWQodmdwdSkgJiYgb3BzLT50ZXN0X2lwcyh3ZSk7CisKKwkJc3B0ID0gcHBndHRfYWxs b2Nfc3B0KHZncHUsIHR5cGUsIG9wcy0+Z2V0X3Bmbih3ZSksIGlwcyk7CiAJCWlmIChJU19FUlIo c3B0KSkgewogCQkJcmV0ID0gUFRSX0VSUihzcHQpOwogCQkJZ290byBmYWlsOwpAQCAtMTQyNyw4 ICsxNDU1LDYgQEAgc3RhdGljIGludCBwcGd0dF9oYW5kbGVfZ3Vlc3Rfd3JpdGVfcGFnZV90YWJs ZV9ieXRlcygKIAogCXBwZ3R0X2dldF9ndWVzdF9lbnRyeShzcHQsICZ3ZSwgaW5kZXgpOwogCi0J b3BzLT50ZXN0X3BzZSgmd2UpOwotCiAJaWYgKGJ5dGVzID09IGluZm8tPmd0dF9lbnRyeV9zaXpl KSB7CiAJCXJldCA9IHBwZ3R0X2hhbmRsZV9ndWVzdF93cml0ZV9wYWdlX3RhYmxlKHNwdCwgJndl LCBpbmRleCk7CiAJCWlmIChyZXQpCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9n dnQvZ3R0LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndnQvZ3R0LmgKaW5kZXggOTI1N2I3NC4u YzExMjg0YiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Z0L2d0dC5oCisrKyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d2dC9ndHQuaApAQCAtMjIzLDYgKzIyMyw3IEBAIHN0cnVj dCBpbnRlbF92Z3B1X3BwZ3R0X3NwdCB7CiAKIAlzdHJ1Y3QgewogCQlpbnRlbF9ndnRfZ3R0X3R5 cGVfdCB0eXBlOworCQlib29sIHBkZV9pcHM7IC8qIGZvciA2NEtCIFBURXMgKi8KIAkJdm9pZCAq dmFkZHI7CiAJCXN0cnVjdCBwYWdlICpwYWdlOwogCQl1bnNpZ25lZCBsb25nIG1mbjsKQEAgLTIz MCw2ICsyMzEsNyBAQCBzdHJ1Y3QgaW50ZWxfdmdwdV9wcGd0dF9zcHQgewogCiAJc3RydWN0IHsK IAkJaW50ZWxfZ3Z0X2d0dF90eXBlX3QgdHlwZTsKKwkJYm9vbCBwZGVfaXBzOyAvKiBmb3IgNjRL QiBQVEVzICovCiAJCXVuc2lnbmVkIGxvbmcgZ2ZuOwogCQl1bnNpZ25lZCBsb25nIHdyaXRlX2Nu dDsKIAkJc3RydWN0IGludGVsX3ZncHVfb29zX3BhZ2UgKm9vc19wYWdlOwotLSAKMi43LjQKCl9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBt YWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3Rz LmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=