From mboxrd@z Thu Jan 1 00:00:00 1970 From: Arun Siluvery Subject: [PATCH v4 1/8] drm/i915/gen9: Add framework to whitelist specific GPU registers Date: Thu, 14 Jan 2016 15:27:35 +0000 Message-ID: <1452785255-4079-1-git-send-email-arun.siluvery@linux.intel.com> References: <1452679593-3922-1-git-send-email-arun.siluvery@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTP id 006606E9F7 for ; Thu, 14 Jan 2016 07:27:38 -0800 (PST) In-Reply-To: <1452679593-3922-1-git-send-email-arun.siluvery@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 Cc: Mika Kuoppala List-Id: intel-gfx@lists.freedesktop.org U29tZSBvZiB0aGUgSFcgcmVnaXN0ZXJzIGFyZSBwcml2aWxlZ2VkIGFuZCBjYW5ub3QgYmUgd3Jp dHRlbiB0byBmcm9tCm5vbi1wcml2aWxlZ2VkIGJhdGNoIGJ1ZmZlcnMgY29taW5nIGZyb20gdXNl cnNwYWNlIHVubGVzcyB0aGV5IGFyZSBhZGRlZCB0bwp0aGUgSFcgd2hpdGVsaXN0LiBUaGlzIHdo aXRlbGlzdCBpcyBtYWludGFpbmVkIGJ5IEhXIGFuZCBpdCBpcyBkaWZmZXJlbnQgZnJvbQpTVyB3 aGl0ZWxpc3QuIFVzZXJzcGFjZSBuZWVkIHdyaXRlIGFjY2VzcyB0byB0aGVtIHRvIGltcGxlbWVu dCBwcmVlbXB0aW9uCnJlbGF0ZWQgV0EuCgpUaGUgcmVhc29uIGZvciB1c2luZyB0aGlzIGFwcHJv YWNoIGlzLCB0aGUgcmVnaXN0ZXIgYml0cyB0aGF0IGNvbnRyb2wKcHJlZW1wdGlvbiBncmFudWxh cml0eSBhdCB0aGUgSFcgbGV2ZWwgYXJlIG5vdCBjb250ZXh0IHNhdmUvcmVzdG9yZWQ7IHNvIGV2 ZW4KaWYgd2Ugc2V0IHRoZXNlIGJpdHMgYWx3YXlzIGluIGtlcm5lbCB0aGV5IGFyZSBnb2luZyB0 byBjaGFuZ2Ugb25jZSB0aGUKY29udGV4dCBpcyBzd2l0Y2hlZCBvdXQuICBXZSBjYW4gY29uc2lk ZXIgbWFraW5nIHRoZW0gbm9uLXByaXZpbGVnZWQgYnkKZGVmYXVsdCBidXQgdGhlc2UgcmVnaXN0 ZXJzIGFsc28gY29udGFpbiBvdGhlciBjaGlja2VuIGJpdHMgd2hpY2ggc2hvdWxkIG5vdApiZSBh bGxvd2VkIHRvIGJlIG1vZGlmaWVkLgoKSW4gdGhlIGxhdGVyIHJldmlzaW9ucyBjb250cm9sbGlu ZyBiaXRzIGFyZSBzYXZlL3Jlc3RvcmVkIGF0IGNvbnRleHQgbGV2ZWwgYnV0CmluIHRoZSBleGlz dGluZyByZXZpc2lvbnMgdGhlc2UgYXJlIGV4cG9ydGVkIHZpYSBvdGhlciBkZWJ1ZyByZWdpc3Rl cnMgYW5kCnNob3VsZCBiZSBvbiB0aGUgd2hpdGVsaXN0LiBUaGlzIHBhdGNoIGFkZHMgY2hhbmdl cyB0byBwcm92aWRlIEhXIHdpdGggYSBsaXN0Cm9mIHJlZ2lzdGVycyB0byBiZSB3aGl0ZWxpc3Rl ZC4gSFcgY2hlY2tzIHRoaXMgbGlzdCBkdXJpbmcgZXhlY3V0aW9uIGFuZApwcm92aWRlcyBhY2Nl c3MgYWNjb3JkaW5nbHkuCgpIVyBpbXBvc2VzIGEgbGltaXQgb24gdGhlIG51bWJlciBvZiByZWdp c3RlcnMgb24gd2hpdGVsaXN0IGFuZCBpdCBpcwpwZXItZW5naW5lLiAgQXQgdGhpcyBwb2ludCB3 ZSBhcmUgb25seSBlbmFibGluZyB3aGl0ZWxpc3QgZm9yIFJDUyBhbmQgd2UgZG9uJ3QKZm9yZXNl ZSBhbnkgcmVxdWlyZW1lbnQgZm9yIG90aGVyIGVuZ2luZXMuCgpUaGUgcmVnaXN0ZXJzIHRvIGJl IHdoaXRlbGlzdGVkIGFyZSBhZGRlZCB1c2luZyBnZW5lcmljIHdvcmthcm91bmQgbGlzdAptZWNo YW5pc20sIGV2ZW4gdGhlc2UgYXJlIG9ubHkgZW5hYmxlcnMgZm9yIHVzZXJzcGFjZSB3b3JrYXJv dW5kcy4gQnV0IGJ5CnNoYXJpbmcgdGhpcyBtZWNoYW5pc20gd2UgZ2V0IHNvbWUgdGVzdCBhc3Nl dHMgd2l0aG91dCBhZGRpdGlvbmFsIGNvc3QgKE1pa2EpLgoKdjI6IHJlYmFzZQoKdjM6IHBhcmFt ZXRlcml6ZSBSSU5HX0ZPUkNFX1RPX05PTlBSSVYoKSBhcyBfTU1JTygpIHNob3VsZCBiZSBsaW1p dGVkIHRvCmk5MTVfcmVnLmggKFZpbGxlKSwgZHJvcCBpbmxpbmUgZm9yIHdhX3Jpbmdfd2hpdGVs aXN0X3JlZyAoTWlrYSkuCgp2NDogaW1wcm92ZW1lbnRzIHN1Z2dlc3RlZCBieSBDaHJpcyBXaWxz b24uCkNsYXJpZnkgdGhhdCB0aGlzIGlzIEhXIHdoaXRlbGlzdCBhbmQgZGlmZmVyZW50IGZyb20g dGhlIG9uZSBtYWludGFpbmVkIGluCmRyaXZlci4gVGhpcyBsaXN0IGlzIGVuZ2luZSBzcGVjaWZp YyBidXQgaXQgZ2V0cyBpbml0aWFsaXplZCBhbG9uZyB3aXRoIG90aGVyCldBIHdoaWNoIGlzIFJD UyBzcGVjaWZpYyB0aGluZywgc28gbWFrZSBpdCBjbGVhciB0aGF0IHdlIGFyZSBub3QgZG9pbmcg YW55CmNyb3NzIGVuZ2luZSBzZXR1cCBkdXJpbmcgaW5pdGlhbGl6YXRpb24uCk1ha2UgSFcgd2hp dGVsaXN0IGNvdW50IG9mIGVhY2ggZW5naW5lIGF2YWlsYWJsZSBpbiBkZWJ1Z2ZzLgoKUmV2aWV3 ZWQtYnk6IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVrPgpSZXZpZXdlZC1i eTogTWlrYSBLdW9wcGFsYSA8bWlrYS5rdW9wcGFsYUBpbnRlbC5jb20+CkNjOiBNaWthIEt1b3Bw YWxhIDxtaWthLmt1b3BwYWxhQGludGVsLmNvbT4KQ2M6IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hy aXMtd2lsc29uLmNvLnVrPgpTaWduZWQtb2ZmLWJ5OiBBcnVuIFNpbHV2ZXJ5IDxhcnVuLnNpbHV2 ZXJ5QGxpbnV4LmludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVn ZnMuYyAgICAgfCAxNSArKysrKysrKysrLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf ZHJ2LmggICAgICAgICB8ICA5ICsrKysrKysrLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9y ZWcuaCAgICAgICAgIHwgIDMgKysrCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVm ZmVyLmMgfCAxNyArKysrKysrKysrKysrKysrKwogNCBmaWxlcyBjaGFuZ2VkLCAzOCBpbnNlcnRp b25zKCspLCA2IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZGVidWdmcy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMKaW5k ZXggZTMzNzdhYi4uN2ViMDAyYyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9kZWJ1Z2ZzLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMKQEAg LTMyMjksOSArMzIyOSwxMSBAQCBzdGF0aWMgaW50IGk5MTVfd2FfcmVnaXN0ZXJzKHN0cnVjdCBz ZXFfZmlsZSAqbSwgdm9pZCAqdW51c2VkKQogewogCWludCBpOwogCWludCByZXQ7CisJc3RydWN0 IGludGVsX2VuZ2luZV9jcyAqcmluZzsKIAlzdHJ1Y3QgZHJtX2luZm9fbm9kZSAqbm9kZSA9IChz dHJ1Y3QgZHJtX2luZm9fbm9kZSAqKSBtLT5wcml2YXRlOwogCXN0cnVjdCBkcm1fZGV2aWNlICpk ZXYgPSBub2RlLT5taW5vci0+ZGV2OwogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp diA9IGRldi0+ZGV2X3ByaXZhdGU7CisJc3RydWN0IGk5MTVfd29ya2Fyb3VuZHMgKndvcmthcm91 bmRzID0gJmRldl9wcml2LT53b3JrYXJvdW5kczsKIAogCXJldCA9IG11dGV4X2xvY2tfaW50ZXJy dXB0aWJsZSgmZGV2LT5zdHJ1Y3RfbXV0ZXgpOwogCWlmIChyZXQpCkBAIC0zMjM5LDE1ICszMjQx LDE4IEBAIHN0YXRpYyBpbnQgaTkxNV93YV9yZWdpc3RlcnMoc3RydWN0IHNlcV9maWxlICptLCB2 b2lkICp1bnVzZWQpCiAKIAlpbnRlbF9ydW50aW1lX3BtX2dldChkZXZfcHJpdik7CiAKLQlzZXFf cHJpbnRmKG0sICJXb3JrYXJvdW5kcyBhcHBsaWVkOiAlZFxuIiwgZGV2X3ByaXYtPndvcmthcm91 bmRzLmNvdW50KTsKLQlmb3IgKGkgPSAwOyBpIDwgZGV2X3ByaXYtPndvcmthcm91bmRzLmNvdW50 OyArK2kpIHsKKwlzZXFfcHJpbnRmKG0sICJXb3JrYXJvdW5kcyBhcHBsaWVkOiAlZFxuIiwgd29y a2Fyb3VuZHMtPmNvdW50KTsKKwlmb3JfZWFjaF9yaW5nKHJpbmcsIGRldl9wcml2LCBpKQorCQlz ZXFfcHJpbnRmKG0sICJIVyB3aGl0ZWxpc3QgY291bnQgZm9yICVzOiAlZFxuIiwKKwkJCSAgIHJp bmctPm5hbWUsIHdvcmthcm91bmRzLT5od193aGl0ZWxpc3RfY291bnRbaV0pOworCWZvciAoaSA9 IDA7IGkgPCB3b3JrYXJvdW5kcy0+Y291bnQ7ICsraSkgewogCQlpOTE1X3JlZ190IGFkZHI7CiAJ CXUzMiBtYXNrLCB2YWx1ZSwgcmVhZDsKIAkJYm9vbCBvazsKIAotCQlhZGRyID0gZGV2X3ByaXYt Pndvcmthcm91bmRzLnJlZ1tpXS5hZGRyOwotCQltYXNrID0gZGV2X3ByaXYtPndvcmthcm91bmRz LnJlZ1tpXS5tYXNrOwotCQl2YWx1ZSA9IGRldl9wcml2LT53b3JrYXJvdW5kcy5yZWdbaV0udmFs dWU7CisJCWFkZHIgPSB3b3JrYXJvdW5kcy0+cmVnW2ldLmFkZHI7CisJCW1hc2sgPSB3b3JrYXJv dW5kcy0+cmVnW2ldLm1hc2s7CisJCXZhbHVlID0gd29ya2Fyb3VuZHMtPnJlZ1tpXS52YWx1ZTsK IAkJcmVhZCA9IEk5MTVfUkVBRChhZGRyKTsKIAkJb2sgPSAodmFsdWUgJiBtYXNrKSA9PSAocmVh ZCAmIG1hc2spOwogCQlzZXFfcHJpbnRmKG0sICIweCVYOiAweCUwOFgsIG1hc2s6IDB4JTA4WCwg cmVhZDogMHglMDh4LCBzdGF0dXM6ICVzXG4iLApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKaW5kZXgg MTA0YmQxOC4uODNmY2NjMCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9k cnYuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCkBAIC0xNjUzLDExICsx NjUzLDE4IEBAIHN0cnVjdCBpOTE1X3dhX3JlZyB7CiAJdTMyIG1hc2s7CiB9OwogCi0jZGVmaW5l IEk5MTVfTUFYX1dBX1JFR1MgMTYKKy8qCisgKiBSSU5HX01BWF9OT05QUklWX1NMT1RTIGlzIHBl ci1lbmdpbmUgYnV0IGF0IHRoaXMgcG9pbnQgd2UgYXJlIG9ubHkKKyAqIGFsbG93aW5nIGl0IGZv ciBSQ1MgYXMgd2UgZG9uJ3QgZm9yZXNlZSBhbnkgcmVxdWlyZW1lbnQgb2YgaGF2aW5nCisgKiBh IHdoaXRlbGlzdCBmb3Igb3RoZXIgZW5naW5lcy4gV2hlbiBpdCBpcyByZWFsbHkgcmVxdWlyZWQg Zm9yCisgKiBvdGhlciBlbmdpbmVzIHRoZW4gdGhlIGxpbWl0IG5lZWQgdG8gYmUgaW5jcmVhc2Vk LgorICovCisjZGVmaW5lIEk5MTVfTUFYX1dBX1JFR1MgKDE2ICsgUklOR19NQVhfTk9OUFJJVl9T TE9UUykKIAogc3RydWN0IGk5MTVfd29ya2Fyb3VuZHMgewogCXN0cnVjdCBpOTE1X3dhX3JlZyBy ZWdbSTkxNV9NQVhfV0FfUkVHU107CiAJdTMyIGNvdW50OworCXUzMiBod193aGl0ZWxpc3RfY291 bnRbSTkxNV9OVU1fUklOR1NdOwogfTsKIAogc3RydWN0IGk5MTVfdmlydHVhbF9ncHUgewpkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaCBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfcmVnLmgKaW5kZXggMGE5ODg4OS4uNzkzODgxNCAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X3JlZy5oCkBAIC0xNjM1LDYgKzE2MzUsOSBAQCBlbnVtIHNrbF9kaXNwX3Bvd2VyX3dlbGxz IHsKICNkZWZpbmUgICBSSU5HX1dBSVQJCSgxPDwxMSkgLyogZ2VuMyssIFBSQnhfQ1RMICovCiAj ZGVmaW5lICAgUklOR19XQUlUX1NFTUFQSE9SRQkoMTw8MTApIC8qIGdlbjYrICovCiAKKyNkZWZp bmUgUklOR19GT1JDRV9UT19OT05QUklWKGJhc2UsIGkpIF9NTUlPKCgoYmFzZSkrMHg0RDApICsg KGkpKjQpCisjZGVmaW5lICAgUklOR19NQVhfTk9OUFJJVl9TTE9UUyAgMTIKKwogI2RlZmluZSBH RU43X1RMQl9SRF9BRERSCV9NTUlPKDB4NDcwMCkKIAogI2lmIDAKZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX3JpbmdidWZmZXIuYwppbmRleCA0MDYwYWNmLi41NmFmNzM2IDEwMDY0NAotLS0gYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmMKKysrIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5jCkBAIC03ODcsNiArNzg3LDIyIEBAIHN0YXRpYyBp bnQgd2FfYWRkKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIAogI2RlZmluZSBX QV9XUklURShhZGRyLCB2YWwpIFdBX1JFRyhhZGRyLCAweGZmZmZmZmZmLCB2YWwpCiAKK3N0YXRp YyBpbnQgd2FfcmluZ193aGl0ZWxpc3RfcmVnKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcs IGk5MTVfcmVnX3QgcmVnKQoreworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9 IHJpbmctPmRldi0+ZGV2X3ByaXZhdGU7CisJc3RydWN0IGk5MTVfd29ya2Fyb3VuZHMgKndhID0g JmRldl9wcml2LT53b3JrYXJvdW5kczsKKwljb25zdCB1aW50MzJfdCBpbmRleCA9IHdhLT5od193 aGl0ZWxpc3RfY291bnRbcmluZy0+aWRdOworCisJaWYgKFdBUk5fT04oaW5kZXggPj0gUklOR19N QVhfTk9OUFJJVl9TTE9UUykpCisJCXJldHVybiAtRUlOVkFMOworCisJV0FfV1JJVEUoUklOR19G T1JDRV9UT19OT05QUklWKHJpbmctPm1taW9fYmFzZSwgaW5kZXgpLAorCQkgaTkxNV9tbWlvX3Jl Z19vZmZzZXQocmVnKSk7CisJd2EtPmh3X3doaXRlbGlzdF9jb3VudFtyaW5nLT5pZF0rKzsKKwor CXJldHVybiAwOworfQorCiBzdGF0aWMgaW50IGdlbjhfaW5pdF93b3JrYXJvdW5kcyhzdHJ1Y3Qg aW50ZWxfZW5naW5lX2NzICpyaW5nKQogewogCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSByaW5n LT5kZXY7CkBAIC0xMTE1LDYgKzExMzEsNyBAQCBpbnQgaW5pdF93b3JrYXJvdW5kc19yaW5nKHN0 cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcpCiAJV0FSTl9PTihyaW5nLT5pZCAhPSBSQ1MpOwog CiAJZGV2X3ByaXYtPndvcmthcm91bmRzLmNvdW50ID0gMDsKKwlkZXZfcHJpdi0+d29ya2Fyb3Vu ZHMuaHdfd2hpdGVsaXN0X2NvdW50W1JDU10gPSAwOwogCiAJaWYgKElTX0JST0FEV0VMTChkZXYp KQogCQlyZXR1cm4gYmR3X2luaXRfd29ya2Fyb3VuZHMocmluZyk7Ci0tIAoxLjkuMQoKX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxp bmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVl ZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK