From mboxrd@z Thu Jan 1 00:00:00 1970 From: Imre Deak Subject: [PATCH 1/2] drm/i915/ddi: Add more sanity check to the encoder HW readout Date: Wed, 7 Nov 2018 22:08:35 +0200 Message-ID: <20181107200836.10191-1-imre.deak@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 ESMTPS id D97716E48C for ; Wed, 7 Nov 2018 20:08:39 +0000 (UTC) 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: Paulo Zanoni , Rodrigo Vivi List-Id: intel-gfx@lists.freedesktop.org Q2hlY2sgZm9yIHJlc2VydmVkIHJlZ2lzdGVyIGZpZWxkIHZhbHVlcyBhbmQgY29uZmxpY3RpbmcK dHJhbnNjb2Rlci0+cG9ydCBtYXBwaW5ncyAoYm90aCBNU1QgYW5kIG5vbi1NU1QgbWFwcGluZ3Mg b3IgbXVsdGlwbGUgU1NUCm1hcHBpbmdzKS4KClRoaXMgaXMgYWxzbyBuZWVkZWQgZm9yIHRoZSBu ZXh0IHBhdGNoIHRvIGRldGVybWluZSBpZiBhIHBvcnQgaXMgaW4gTVNUCm1vZGUgZHVyaW5nIHNh bml0aXphdGlvbiBhZnRlciBIVyByZWFkb3V0LgoKQ2M6IFBhdWxvIFphbm9uaSA8cGF1bG8uci56 YW5vbmlAaW50ZWwuY29tPgpDYzogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4 LmludGVsLmNvbT4KQ2M6IEpvc8OpIFJvYmVydG8gZGUgU291emEgPGpvc2Uuc291emFAaW50ZWwu Y29tPgpDYzogUm9kcmlnbyBWaXZpIDxyb2RyaWdvLnZpdmlAaW50ZWwuY29tPgpDYzogQW50b25p byBBcmdlbnppYW5vIDxhbnRvbmlvLmFyZ2Vuemlhbm9AaW50ZWwuY29tPgpTaWduZWQtb2ZmLWJ5 OiBJbXJlIERlYWsgPGltcmUuZGVha0BpbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZGRpLmMgfCA3NiArKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0t LS0tCiAxIGZpbGUgY2hhbmdlZCwgNTIgaW5zZXJ0aW9ucygrKSwgMjQgZGVsZXRpb25zKC0pCgpk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRpLmMgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9kZGkuYwppbmRleCBhYjlhMzZjNGJhM2IuLmFiYzUxNjkzZWVjOSAx MDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRpLmMKKysrIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRpLmMKQEAgLTIwMDUsMjQgKzIwMDUsMjQgQEAgYm9vbCBp bnRlbF9kZGlfY29ubmVjdG9yX2dldF9od19zdGF0ZShzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpp bnRlbF9jb25uZWN0b3IpCiAJcmV0dXJuIHJldDsKIH0KIAotYm9vbCBpbnRlbF9kZGlfZ2V0X2h3 X3N0YXRlKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAotCQkJICAgIGVudW0gcGlwZSAq cGlwZSkKK3N0YXRpYyB2b2lkIGludGVsX2RkaV9nZXRfZW5jb2Rlcl9waXBlcyhzdHJ1Y3QgaW50 ZWxfZW5jb2RlciAqZW5jb2RlciwKKwkJCQkJdTggKnBpcGVfbWFzaywgYm9vbCAqaXNfZHBfbXN0 KQogewogCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBlbmNvZGVyLT5iYXNlLmRldjsKIAlzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGRldik7CiAJZW51bSBwb3J0 IHBvcnQgPSBlbmNvZGVyLT5wb3J0OwogCWVudW0gcGlwZSBwOwogCXUzMiB0bXA7Ci0JYm9vbCBy ZXQ7CisJdTggbXN0X3BpcGVfbWFzazsKKworCSpwaXBlX21hc2sgPSAwOworCSppc19kcF9tc3Qg PSBmYWxzZTsKIAogCWlmICghaW50ZWxfZGlzcGxheV9wb3dlcl9nZXRfaWZfZW5hYmxlZChkZXZf cHJpdiwKIAkJCQkJCWVuY29kZXItPnBvd2VyX2RvbWFpbikpCi0JCXJldHVybiBmYWxzZTsKLQot CXJldCA9IGZhbHNlOworCQlyZXR1cm47CiAKIAl0bXAgPSBJOTE1X1JFQUQoRERJX0JVRl9DVEwo cG9ydCkpOwotCiAJaWYgKCEodG1wICYgRERJX0JVRl9DVExfRU5BQkxFKSkKIAkJZ290byBvdXQ7 CiAKQEAgLTIwMzAsNDQgKzIwMzAsNTggQEAgYm9vbCBpbnRlbF9kZGlfZ2V0X2h3X3N0YXRlKHN0 cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogCQl0bXAgPSBJOTE1X1JFQUQoVFJBTlNfRERJ X0ZVTkNfQ1RMKFRSQU5TQ09ERVJfRURQKSk7CiAKIAkJc3dpdGNoICh0bXAgJiBUUkFOU19ERElf RURQX0lOUFVUX01BU0spIHsKKwkJZGVmYXVsdDoKKwkJCU1JU1NJTkdfQ0FTRSh0bXAgJiBUUkFO U19ERElfRURQX0lOUFVUX01BU0spOworCQkJLyogZmFsbHRocm91Z2ggKi8KIAkJY2FzZSBUUkFO U19ERElfRURQX0lOUFVUX0FfT046CiAJCWNhc2UgVFJBTlNfRERJX0VEUF9JTlBVVF9BX09OT0ZG OgotCQkJKnBpcGUgPSBQSVBFX0E7CisJCQkqcGlwZV9tYXNrID0gQklUKFBJUEVfQSk7CiAJCQli cmVhazsKIAkJY2FzZSBUUkFOU19ERElfRURQX0lOUFVUX0JfT05PRkY6Ci0JCQkqcGlwZSA9IFBJ UEVfQjsKKwkJCSpwaXBlX21hc2sgPSBCSVQoUElQRV9CKTsKIAkJCWJyZWFrOwogCQljYXNlIFRS QU5TX0RESV9FRFBfSU5QVVRfQ19PTk9GRjoKLQkJCSpwaXBlID0gUElQRV9DOworCQkJKnBpcGVf bWFzayA9IEJJVChQSVBFX0MpOwogCQkJYnJlYWs7CiAJCX0KIAotCQlyZXQgPSB0cnVlOwotCiAJ CWdvdG8gb3V0OwogCX0KIAorCW1zdF9waXBlX21hc2sgPSAwOwogCWZvcl9lYWNoX3BpcGUoZGV2 X3ByaXYsIHApIHsKLQkJZW51bSB0cmFuc2NvZGVyIGNwdV90cmFuc2NvZGVyID0gKGVudW0gdHJh bnNjb2RlcikgcDsKKwkJZW51bSB0cmFuc2NvZGVyIGNwdV90cmFuc2NvZGVyID0gKGVudW0gdHJh bnNjb2RlcilwOwogCiAJCXRtcCA9IEk5MTVfUkVBRChUUkFOU19ERElfRlVOQ19DVEwoY3B1X3Ry YW5zY29kZXIpKTsKIAotCQlpZiAoKHRtcCAmIFRSQU5TX0RESV9QT1JUX01BU0spID09IFRSQU5T X0RESV9TRUxFQ1RfUE9SVChwb3J0KSkgewotCQkJaWYgKCh0bXAgJiBUUkFOU19ERElfTU9ERV9T RUxFQ1RfTUFTSykgPT0KLQkJCSAgICBUUkFOU19ERElfTU9ERV9TRUxFQ1RfRFBfTVNUKQotCQkJ CWdvdG8gb3V0OworCQlpZiAoKHRtcCAmIFRSQU5TX0RESV9QT1JUX01BU0spICE9IFRSQU5TX0RE SV9TRUxFQ1RfUE9SVChwb3J0KSkKKwkJCWNvbnRpbnVlOwogCi0JCQkqcGlwZSA9IHA7Ci0JCQly ZXQgPSB0cnVlOworCQlpZiAoKHRtcCAmIFRSQU5TX0RESV9NT0RFX1NFTEVDVF9NQVNLKSA9PQor CQkgICAgVFJBTlNfRERJX01PREVfU0VMRUNUX0RQX01TVCkKKwkJCW1zdF9waXBlX21hc2sgfD0g QklUKHApOwogCi0JCQlnb3RvIG91dDsKLQkJfQorCQkqcGlwZV9tYXNrIHw9IEJJVChwKTsKIAl9 CiAKLQlEUk1fREVCVUdfS01TKCJObyBwaXBlIGZvciBkZGkgcG9ydCAlYyBmb3VuZFxuIiwgcG9y dF9uYW1lKHBvcnQpKTsKKwlpZiAoISpwaXBlX21hc2spCisJCURSTV9ERUJVR19LTVMoIk5vIHBp cGUgZm9yIGRkaSBwb3J0ICVjIGZvdW5kXG4iLAorCQkJICAgICAgcG9ydF9uYW1lKHBvcnQpKTsK KworCWlmICghbXN0X3BpcGVfbWFzayAmJiBod2VpZ2h0OCgqcGlwZV9tYXNrKSA+IDEpIHsKKwkJ RFJNX0RFQlVHX0tNUygiTXVsdGlwbGUgcGlwZXMgZm9yIG5vbiBEUC1NU1QgcG9ydCAlYyAocGlw ZV9tYXNrICUwMngpXG4iLAorCQkJICAgICAgcG9ydF9uYW1lKHBvcnQpLCAqcGlwZV9tYXNrKTsK KwkJKnBpcGVfbWFzayA9IEJJVChmZnMoKnBpcGVfbWFzaykgLSAxKTsKKwl9CisKKwlpZiAobXN0 X3BpcGVfbWFzayAmJiBtc3RfcGlwZV9tYXNrICE9ICpwaXBlX21hc2spCisJCURSTV9ERUJVR19L TVMoIkNvbmZsaWN0aW5nIE1TVCBhbmQgbm9uLU1TVCBlbmNvZGVycyBmb3IgcG9ydCAlYyAocGlw ZV9tYXNrICUwMnggbXN0X3BpcGVfbWFzayAlMDJ4KVxuIiwKKwkJCSAgICAgIHBvcnRfbmFtZShw b3J0KSwgKnBpcGVfbWFzaywgbXN0X3BpcGVfbWFzayk7CisJZWxzZQorCQkqaXNfZHBfbXN0ID0g bXN0X3BpcGVfbWFzazsKIAogb3V0OgotCWlmIChyZXQgJiYgSVNfR0VOOV9MUChkZXZfcHJpdikp IHsKKwlpZiAoKnBpcGVfbWFzayAmJiBJU19HRU45X0xQKGRldl9wcml2KSkgewogCQl0bXAgPSBJ OTE1X1JFQUQoQlhUX1BIWV9DVEwocG9ydCkpOwogCQlpZiAoKHRtcCAmIChCWFRfUEhZX0NNTkxB TkVfUE9XRVJET1dOX0FDSyB8CiAJCQkgICAgQlhUX1BIWV9MQU5FX1BPV0VSRE9XTl9BQ0sgfApA QCAtMjA3Nyw4ICsyMDkxLDIyIEBAIGJvb2wgaW50ZWxfZGRpX2dldF9od19zdGF0ZShzdHJ1Y3Qg aW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAl9CiAKIAlpbnRlbF9kaXNwbGF5X3Bvd2VyX3B1dChk ZXZfcHJpdiwgZW5jb2Rlci0+cG93ZXJfZG9tYWluKTsKK30KIAotCXJldHVybiByZXQ7Citib29s IGludGVsX2RkaV9nZXRfaHdfc3RhdGUoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCisJ CQkgICAgZW51bSBwaXBlICpwaXBlKQoreworCXU4IHBpcGVfbWFzazsKKwlib29sIGlzX21zdDsK KworCWludGVsX2RkaV9nZXRfZW5jb2Rlcl9waXBlcyhlbmNvZGVyLCAmcGlwZV9tYXNrLCAmaXNf bXN0KTsKKworCWlmIChpc19tc3QgfHwgIXBpcGVfbWFzaykKKwkJcmV0dXJuIGZhbHNlOworCisJ KnBpcGUgPSBmZnMocGlwZV9tYXNrKSAtIDE7CisKKwlyZXR1cm4gdHJ1ZTsKIH0KIAogc3RhdGlj IGlubGluZSBlbnVtIGludGVsX2Rpc3BsYXlfcG93ZXJfZG9tYWluCi0tIAoyLjEzLjIKCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWls aW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZy ZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=