From mboxrd@z Thu Jan 1 00:00:00 1970 From: Zhi Wang Subject: [RFC 2/7] drm/i915/gvt: Introduce GEN8 private PAT ops Date: Wed, 16 Aug 2017 05:31:10 +0800 Message-ID: <1502832675-6123-3-git-send-email-zhi.a.wang@intel.com> References: <1502832675-6123-1-git-send-email-zhi.a.wang@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1502832675-6123-1-git-send-email-zhi.a.wang@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, intel-gvt-dev@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org VGhpcyBwYXRjaCBpbnRyb2R1Y2VzIHByaXZhdGUgUEFUIG9wZXJhdGlvbnMgZm9yIEdFTjguCgpU aGUgImdldF9wYXRfdmFsdWUiIG9wZXJhdGlvbiBvZmZlcnMgYW4gQVBJIHRvIGdldCBhIFBQQVQg ZW50cnkgZnJvbSB0aGUKdmlydHVhbCBvciBwaHlzaWNhbCBQUEFUIE1NSU8gcmVnaXN0ZXJzLiBT aW1pbGFyIHdpdGggdGhlICJnZXRfcGF0X3ZhbHVlIiwKdGhlICJzZXRfcGF0X3ZhbHVlIiBvcGVy YXRpb24gb2ZmZXJzIHRoZSBBUEkgdG8gd3JpdGUgYSBQUEFUIGVudHJ5IGJhY2sgdG8KUFBBVCBN TUlPIHJlZ2lzdGVycy4gVGhlIGNhbGxlciBkb2Vzbid0IG5lZWQgdG8gY2FyZSBhYm91dCB0aGUg UFBBVCBNTUlPCmxheW91dCwgc2luY2UgdGhlIGxheW91dCBpcyBkaWZmZXJlbnQgYmV0d2VlbiBk aWZmZXJlbnQgR0VOcy4KClRoZSAibWF0Y2hfcGF0X3ZhbHVlIiB3aWxsIHRyeSB0byBjb21wYXJl IHR3byBQQVQgZW50cmllcyBhbmQgZ2l2ZSBhIHNjb3JlCnRvIGluZGljYXRlIGhvdyBwZXJmZWN0 IHRoZXkgbWF0Y2ggd2l0aCBlYWNoIG90aGVyLiBUaGUgbW9zdCBpbXBvcnRhbnQKYXR0cmlidXRl IGlzICJjYWNoZSBhdHRyaWJ1dGUiLCB3aGljaCBhZmZlY3RzIHRoZSBjb3JyZWN0bmVzcyBhbmQg aGFzIHRvCmJlIG1hdGNoZWQuIE90aGVyIGF0dHJpYnV0ZXMgZ2FpbiBkaWZmZXJlbnQgc2NvcmVz IGJ5IHRoZSB0aGVpcgppbXBvcnRhbmNlIGluIGEgcGFydGlhbCBtYXRjaC4KClNpZ25lZC1vZmYt Ynk6IFpoaSBXYW5nIDx6aGkuYS53YW5nQGludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0v aTkxNS9ndnQvZ3R0LmMgfCA4MSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2d2dC9ndHQuaCB8ICA5ICsrKysrCiAyIGZpbGVz IGNoYW5nZWQsIDkwIGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9ndnQvZ3R0LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndnQvZ3R0LmMKaW5kZXggZTZk ZmMzMy4uMTZiZmNhOSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Z0L2d0dC5j CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d2dC9ndHQuYwpAQCAtNDAyLDYgKzQwMiw4MCBA QCBERUZJTkVfUFBHVFRfR01BX1RPX0lOREVYKGdlbjgsIGwzX3BkcCwgKGdtYSA+PiAzMCAmIDB4 MykpOwogREVGSU5FX1BQR1RUX0dNQV9UT19JTkRFWChnZW44LCBsNF9wZHAsIChnbWEgPj4gMzAg JiAweDFmZikpOwogREVGSU5FX1BQR1RUX0dNQV9UT19JTkRFWChnZW44LCBwbWw0LCAoZ21hID4+ IDM5ICYgMHgxZmYpKTsKIAorc3RhdGljIHVuc2lnbmVkIGludCBnZW44X3BhdF9nZXRfdmFsdWUo dTMyICptZW0sIHVuc2lnbmVkIGludCBpbmRleCwKKwkJCQkgICAgICAgc3RydWN0IGludGVsX2d2 dCAqZ3Z0KQoreworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGd2dC0+ZGV2 X3ByaXY7CisJaW50IHJlZ19pbmRleCA9IGluZGV4IC8gNDsKKwl1MzIgYnVmWzJdOworCisJaWYg KFdBUk5fT04ocmVnX2luZGV4ID49IDIpKQorCQlyZXR1cm4gMDsKKworCWlmICghbWVtKSB7CisJ CW1lbSA9IGJ1ZjsKKwkJbWVtW3JlZ19pbmRleF0gPSByZWdfaW5kZXggPyBJOTE1X1JFQUQoR0VO OF9QUklWQVRFX1BBVF9ISSkgOgorCQkJCSBJOTE1X1JFQUQoR0VOOF9QUklWQVRFX1BBVF9MTyk7 CisJfQorCisJaW5kZXggLT0gcmVnX2luZGV4ICogNDsKKwlyZXR1cm4gKG1lbVtyZWdfaW5kZXhd ID4+IChpbmRleCAqIDgpKSAmIDB4M2Y7Cit9CisKK3N0YXRpYyB2b2lkIGdlbjhfcGF0X3NldF92 YWx1ZSh1MzIgKm1lbSwgdW5zaWduZWQgaW50IGluZGV4LCB1bnNpZ25lZCBpbnQgdmFsdWUsCisJ CQkgICAgICAgc3RydWN0IGludGVsX2d2dCAqZ3Z0KQoreworCXN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdiA9IGd2dC0+ZGV2X3ByaXY7CisJaW50IHJlZ19pbmRleCA9IGluZGV4IC8g NDsKKwl1MzIgYnVmWzJdOworCWJvb2wgd3JpdGViYWNrID0gZmFsc2U7CisKKwlpZiAoV0FSTl9P TihyZWdfaW5kZXggPj0gMikpCisJCXJldHVybjsKKworCWlmICghbWVtKSB7CisJCW1lbSA9IGJ1 ZjsKKwkJd3JpdGViYWNrID0gdHJ1ZTsKKwkJbWVtW3JlZ19pbmRleF0gPSByZWdfaW5kZXggPyBJ OTE1X1JFQUQoR0VOOF9QUklWQVRFX1BBVF9ISSkgOgorCQkJCSBJOTE1X1JFQUQoR0VOOF9QUklW QVRFX1BBVF9MTyk7CisJfQorCisJaW5kZXggLT0gcmVnX2luZGV4ICogNDsKKworCW1lbVtyZWdf aW5kZXhdICY9IH4oMHhmZiA8PCAoaW5kZXggKiA4KSk7CisJbWVtW3JlZ19pbmRleF0gfD0gKCh2 YWx1ZSAmIDB4M2YpIDw8IChpbmRleCAqIDgpKTsKKworCWlmICh3cml0ZWJhY2spIHsKKwkJaWYg KHJlZ19pbmRleCkKKwkJCUk5MTVfV1JJVEUoR0VOOF9QUklWQVRFX1BBVF9MTywgbWVtWzFdKTsK KwkJZWxzZQorCQkJSTkxNV9XUklURShHRU44X1BSSVZBVEVfUEFUX0xPLCBtZW1bMF0pOworCX0K K30KKworI2RlZmluZSBnZW44X3BhdF9jYSh2KSAoKHYpICYgMHgzKQorI2RlZmluZSBnZW44X3Bh dF90Yyh2KSAoKHYpID4+IDIgJiAweDMpCisjZGVmaW5lIGdlbjhfcGF0X2FnZSh2KSAoKHYpID4+ IDQgJiAweDMpCisKK3N0YXRpYyB1bnNpZ25lZCBpbnQgZ2VuOF9wYXRfbWF0Y2hfdmFsdWUodW5z aWduZWQgaW50IHNyYywgdW5zaWduZWQgaW50IGRzdCkKK3sKKwl1bnNpZ25lZCBpbnQgc2NvcmUg PSAwOworCisJaWYgKGdlbjhfcGF0X2NhKHNyYykgIT0gZ2VuOF9wYXRfY2EoZHN0KSkKKwkJcmV0 dXJuIDA7CisKKwlpZiAoZ2VuOF9wYXRfYWdlKHNyYykgPT0gZ2VuOF9wYXRfYWdlKGRzdCkpCisJ CXNjb3JlICs9IDE7CisKKwlpZiAoZ2VuOF9wYXRfdGMoc3JjKSA9PSBnZW44X3BhdF90Yyhkc3Qp KQorCQlzY29yZSArPSAyOworCisJaWYgKHNjb3JlID09IDMpCisJCXJldHVybiB+MDsKKworCXJl dHVybiBzY29yZTsKK30KKwogc3RhdGljIHN0cnVjdCBpbnRlbF9ndnRfZ3R0X3B0ZV9vcHMgZ2Vu OF9ndHRfcHRlX29wcyA9IHsKIAkuZ2V0X2VudHJ5ID0gZ3R0X2dldF9lbnRyeTY0LAogCS5zZXRf ZW50cnkgPSBndHRfc2V0X2VudHJ5NjQsCkBAIC00MjEsNiArNDk1LDEyIEBAIHN0YXRpYyBzdHJ1 Y3QgaW50ZWxfZ3Z0X2d0dF9nbWFfb3BzIGdlbjhfZ3R0X2dtYV9vcHMgPSB7CiAJLmdtYV90b19w bWw0X2luZGV4ID0gZ2VuOF9nbWFfdG9fcG1sNF9pbmRleCwKIH07CiAKK3N0YXRpYyBzdHJ1Y3Qg aW50ZWxfZ3Z0X2d0dF9wYXRfb3BzIGdlbjhfcGF0X29wcyA9IHsKKwkuZ2V0X3BhdF92YWx1ZSA9 IGdlbjhfcGF0X2dldF92YWx1ZSwKKwkuc2V0X3BhdF92YWx1ZSA9IGdlbjhfcGF0X3NldF92YWx1 ZSwKKwkubWF0Y2hfcGF0X3ZhbHVlID0gZ2VuOF9wYXRfbWF0Y2hfdmFsdWUsCit9OworCiBzdGF0 aWMgaW50IGd0dF9lbnRyeV9wMm0oc3RydWN0IGludGVsX3ZncHUgKnZncHUsIHN0cnVjdCBpbnRl bF9ndnRfZ3R0X2VudHJ5ICpwLAogCQlzdHJ1Y3QgaW50ZWxfZ3Z0X2d0dF9lbnRyeSAqbSkKIHsK QEAgLTIyNjcsNiArMjM0Nyw3IEBAIGludCBpbnRlbF9ndnRfaW5pdF9ndHQoc3RydWN0IGludGVs X2d2dCAqZ3Z0KQogCQl8fCBJU19LQUJZTEFLRShndnQtPmRldl9wcml2KSkgewogCQlndnQtPmd0 dC5wdGVfb3BzID0gJmdlbjhfZ3R0X3B0ZV9vcHM7CiAJCWd2dC0+Z3R0LmdtYV9vcHMgPSAmZ2Vu OF9ndHRfZ21hX29wczsKKwkJZ3Z0LT5ndHQucGF0X29wcyA9ICZnZW44X3BhdF9vcHM7CiAJCWd2 dC0+Z3R0Lm1tX2FsbG9jX3BhZ2VfdGFibGUgPSBnZW44X21tX2FsbG9jX3BhZ2VfdGFibGU7CiAJ CWd2dC0+Z3R0Lm1tX2ZyZWVfcGFnZV90YWJsZSA9IGdlbjhfbW1fZnJlZV9wYWdlX3RhYmxlOwog CX0gZWxzZSB7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndnQvZ3R0LmggYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9ndnQvZ3R0LmgKaW5kZXggMzBhNGM4ZC4uN2E5ZWIwNSAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Z0L2d0dC5oCisrKyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2d2dC9ndHQuaApAQCAtNzcsOSArNzcsMTggQEAgc3RydWN0IGludGVsX2d2dF9n dHRfZ21hX29wcyB7CiAJdW5zaWduZWQgbG9uZyAoKmdtYV90b19wbWw0X2luZGV4KSh1bnNpZ25l ZCBsb25nIGdtYSk7CiB9OwogCitzdHJ1Y3QgaW50ZWxfZ3Z0X2d0dF9wYXRfb3BzIHsKKwl1bnNp Z25lZCBpbnQgKCpnZXRfcGF0X3ZhbHVlKSh1MzIgKm1lbSwgdW5zaWduZWQgaW50IGluZGV4LAor CQkJCSAgICAgIHN0cnVjdCBpbnRlbF9ndnQgKmd2dCk7CisJdm9pZCAoKnNldF9wYXRfdmFsdWUp KHUzMiAqbWVtLCB1bnNpZ25lZCBpbnQgaW5kZXgsIHVuc2lnbmVkIGludCB2YWx1ZSwKKwkJCSAg ICAgIHN0cnVjdCBpbnRlbF9ndnQgKmd2dCk7CisJdW5zaWduZWQgaW50ICgqbWF0Y2hfcGF0X3Zh bHVlKSh1bnNpZ25lZCBpbnQgc3JjLCB1bnNpZ25lZCBpbnQgZHN0KTsKK307CisKIHN0cnVjdCBp bnRlbF9ndnRfZ3R0IHsKIAlzdHJ1Y3QgaW50ZWxfZ3Z0X2d0dF9wdGVfb3BzICpwdGVfb3BzOwog CXN0cnVjdCBpbnRlbF9ndnRfZ3R0X2dtYV9vcHMgKmdtYV9vcHM7CisJc3RydWN0IGludGVsX2d2 dF9ndHRfcGF0X29wcyAqcGF0X29wczsKIAlpbnQgKCptbV9hbGxvY19wYWdlX3RhYmxlKShzdHJ1 Y3QgaW50ZWxfdmdwdV9tbSAqbW0pOwogCXZvaWQgKCptbV9mcmVlX3BhZ2VfdGFibGUpKHN0cnVj dCBpbnRlbF92Z3B1X21tICptbSk7CiAJc3RydWN0IGxpc3RfaGVhZCBvb3NfcGFnZV91c2VfbGlz dF9oZWFkOwotLSAKMi43LjQKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNr dG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2lu dGVsLWdmeAo=