From mboxrd@z Thu Jan 1 00:00:00 1970 From: Imre Deak Subject: [PATCH v4 2/3] drm/i915/gen9: Fix PCODE polling during CDCLK change notification Date: Mon, 28 Nov 2016 17:29:28 +0200 Message-ID: <1480346969-16121-2-git-send-email-imre.deak@intel.com> References: <1480346969-16121-1-git-send-email-imre.deak@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by gabe.freedesktop.org (Postfix) with ESMTPS id 4AC7C6E3F5 for ; Mon, 28 Nov 2016 15:29:34 +0000 (UTC) In-Reply-To: <1480346969-16121-1-git-send-email-imre.deak@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 Y29tbWl0IDg0ODQ5NmU1OTAyODMzNjAwZjc5OTJmNGZhYTgyZGMxNTQ2MDUxYmEKQXV0aG9yOiBW aWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPgpEYXRlOiAgIFdl ZCBKdWwgMTMgMTY6MzI6MDMgMjAxNiArMDMwMAoKICAgIGRybS9pOTE1OiBXYWl0IHVwIHRvIDNt cyBmb3IgdGhlIHBjdSB0byBhY2sgdGhlIGNkY2xrIGNoYW5nZSByZXF1ZXN0IG9uIFNLTAoKaW5j cmVhc2VkIHRoZSB0aW1lb3V0IHRvIG1hdGNoIHRoZSBzcGVjLCBidXQgd2Ugc3RpbGwgc2VlIGEg dGltZW91dCBvbgphdCBsZWFzdCBvbmUgU0tMLiBBIENEQ0xLIGNoYW5nZSByZXF1ZXN0IGZvbGxv d2luZyB0aGUgZmFpbGVkIG9uZSB3aWxsCnN1Y2NlZWQgbmV2ZXJ0aGVsZXNzLgoKSSBjb3VsZCBy ZXByb2R1Y2UgdGhpcyBwcm9ibGVtIGVhc2lseSBieSBydW5uaW5nIGttc19waXBlX2NyY19iYXNp YyBpbiBhCmxvb3AuIEluIGFsbCBmYWlsdXJlIGNhc2VzIF93YWl0X2ZvcigpIHdhcyBwcmUtZW1w dGVkIGZvciA+M21zIGFuZCBzbyBpbgp0aGUgd29yc3QgY2FzZSAtIHdoZW4gdGhlIHByZS1lbXB0 aW9uIGhhcHBlbmVkIHJpZ2h0IGFmdGVyIGNhbGN1bGF0aW5nCnRpbWVvdXRfXyBpbiBfd2FpdF9m b3IoKSAtIHdlIGNhbGxlZCBza2xfY2RjbGtfd2FpdF9mb3JfcGN1X3JlYWR5KCkgb25seQpvbmNl IHdoaWNoIGZhaWxlZCBhbmQgc28gX3dhaXRfZm9yKCkgdGltZWQgb3V0LiBBcyBvcHBvc2VkIHRv IHRoaXMgdGhlCnNwZWMgc2F5cyB0byBrZWVwIHJldHJ5aW5nIHRoZSByZXF1ZXN0IGZvciBhdCBt b3N0IGEgM21zIHBlcmlvZC4KClRvIGZpeCB0aGlzIGRpc2FibGUgcHJlLWVtcHRpb24gdG8gbWF4 aW1pemUgdGhlIG51bWJlciBvZiB0aW1lcyB3ZSByZXRyeQp0aGUgcmVxdWVzdC4gQWxzbyBpbmNy ZWFzZSB0aGUgdGltZW91dCB0byAxMG1zIHRvIGFjY291bnQgZm9yIGludGVycnVwdHMKdGhhdCBj b3VsZCByZWR1Y2UgdGhlIG51bWJlciBvZiB0aGVzZSBhdHRlbXB0cy4gV2l0aCB0aGlzIGNoYW5n ZSBJCmNvdWxkbid0IHRyaWdnZXIgdGhlIHByb2JsZW0uCgp2MjoKLSBVc2UgMW1zIHBvbGwgcGVy aW9kIGluc3RlYWQgb2YgMTB1cy4gKENocmlzKQp2MzoKLSBQb2xsIHdpdGggcHJlLWVtcHRpb24g ZGlzYWJsZWQgdG8gaW5jcmVhc2UgdGhlIG51bWJlciBvZiByZXF1ZXN0CiAgYXR0ZW1wdHMuIChW aWxsZSwgQ2hyaXMpCi0gRmFjdG9yIG91dCBhIGhlbHBlciB0byBwb2xsLCBpdCdzIGFsc28gbmVl ZGVkIGJ5IHRoZSBuZXh0IHBhdGNoLgp2NDoKLSBQYXNzIHJlcGx5X21hc2ssIHJlcGx5IHRvIHNr bF9wY29kZV9yZXF1ZXN0KCksIGluc3RlYWQgb2YgYXNzdW1pbmcgdGhlCiAgcmVwbHkgaXMgZ2Vu ZXJpYy4gKFZpbGxlKQoKQ2M6IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBsaW51eC5p bnRlbC5jb20+CkNjOiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51az4KUmVm ZXJlbmNlOiBodHRwczovL2J1Z3MuZnJlZWRlc2t0b3Aub3JnL3Nob3dfYnVnLmNnaT9pZD05Nzky OQpUZXN0Y2FzZTogaWd0L2ttc19waXBlX2NyY19iYXNpYy9zdXNwZW5kLXJlYWQtY3JjLXBpcGUt QgpTaWduZWQtb2ZmLWJ5OiBJbXJlIERlYWsgPGltcmUuZGVha0BpbnRlbC5jb20+Ci0tLQogZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCAgICAgIHwgIDIgKysKIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2Rpc3BsYXkuYyB8IDMxICsrKysrKysrLS0tLS0tLS0tLS0tLS0tCiBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jICAgICAgfCA0OSArKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysKIDMgZmlsZXMgY2hhbmdlZCwgNjEgaW5zZXJ0aW9ucygrKSwgMjEg ZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYu aCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKaW5kZXggMDFmNTA2Ny4uMWJlNWJh YiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAorKysgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCkBAIC0zNTkzLDYgKzM1OTMsOCBAQCBleHRlcm4g dm9pZCBpbnRlbF9kaXNwbGF5X3ByaW50X2Vycm9yX3N0YXRlKHN0cnVjdCBkcm1faTkxNV9lcnJv cl9zdGF0ZV9idWYgKmUsCiAKIGludCBzYW5keWJyaWRnZV9wY29kZV9yZWFkKHN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdiwgdTMyIG1ib3gsIHUzMiAqdmFsKTsKIGludCBzYW5keWJy aWRnZV9wY29kZV93cml0ZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIHUzMiBt Ym94LCB1MzIgdmFsKTsKK2ludCBza2xfcGNvZGVfcmVxdWVzdChzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYsIHUzMiBtYm94LCB1MzIgcmVxdWVzdCwKKwkJICAgICAgdTMyIHJlcGx5 X21hc2ssIHUzMiByZXBseSk7CiAKIC8qIGludGVsX3NpZGViYW5kLmMgKi8KIHUzMiB2bHZfcHVu aXRfcmVhZChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIHUzMiBhZGRyKTsKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwppbmRleCA1ZDExMDAyLi4zZDIyMGRhIDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKKysrIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCkBAIC02MjQ1LDM1ICs2MjQ1LDI0IEBAIHNr bF9kcGxsMF9kaXNhYmxlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAlkZXZf cHJpdi0+Y2RjbGtfcGxsLnZjbyA9IDA7CiB9CiAKLXN0YXRpYyBib29sIHNrbF9jZGNsa19wY3Vf cmVhZHkoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQotewotCWludCByZXQ7Ci0J dTMyIHZhbDsKLQotCS8qIGluZm9ybSBQQ1Ugd2Ugd2FudCB0byBjaGFuZ2UgQ0RDTEsgKi8KLQl2 YWwgPSBTS0xfQ0RDTEtfUFJFUEFSRV9GT1JfQ0hBTkdFOwotCW11dGV4X2xvY2soJmRldl9wcml2 LT5ycHMuaHdfbG9jayk7Ci0JcmV0ID0gc2FuZHlicmlkZ2VfcGNvZGVfcmVhZChkZXZfcHJpdiwg U0tMX1BDT0RFX0NEQ0xLX0NPTlRST0wsICZ2YWwpOwotCW11dGV4X3VubG9jaygmZGV2X3ByaXYt PnJwcy5od19sb2NrKTsKLQotCXJldHVybiByZXQgPT0gMCAmJiAodmFsICYgU0tMX0NEQ0xLX1JF QURZX0ZPUl9DSEFOR0UpOwotfQotCi1zdGF0aWMgYm9vbCBza2xfY2RjbGtfd2FpdF9mb3JfcGN1 X3JlYWR5KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKLXsKLQlyZXR1cm4gX3dh aXRfZm9yKHNrbF9jZGNsa19wY3VfcmVhZHkoZGV2X3ByaXYpLCAzMDAwLCAxMCkgPT0gMDsKLX0K LQogc3RhdGljIHZvaWQgc2tsX3NldF9jZGNsayhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYsIGludCBjZGNsaywgaW50IHZjbykKIHsKIAl1MzIgZnJlcV9zZWxlY3QsIHBjdV9hY2s7 CisJaW50IHJldDsKIAogCVdBUk5fT04oKGNkY2xrID09IDI0MDAwKSAhPSAodmNvID09IDApKTsK IAogCURSTV9ERUJVR19EUklWRVIoIkNoYW5naW5nIENEQ0xLIHRvICVkIGtIeiAoVkNPICVkIGtI eilcbiIsIGNkY2xrLCB2Y28pOwogCi0JaWYgKCFza2xfY2RjbGtfd2FpdF9mb3JfcGN1X3JlYWR5 KGRldl9wcml2KSkgewotCQlEUk1fRVJST1IoImZhaWxlZCB0byBpbmZvcm0gUENVIGFib3V0IGNk Y2xrIGNoYW5nZVxuIik7CisJbXV0ZXhfbG9jaygmZGV2X3ByaXYtPnJwcy5od19sb2NrKTsKKwly ZXQgPSBza2xfcGNvZGVfcmVxdWVzdChkZXZfcHJpdiwgU0tMX1BDT0RFX0NEQ0xLX0NPTlRST0ws CisJCQkJU0tMX0NEQ0xLX1BSRVBBUkVfRk9SX0NIQU5HRSwKKwkJCQlTS0xfQ0RDTEtfUkVBRFlf Rk9SX0NIQU5HRSwKKwkJCQlTS0xfQ0RDTEtfUkVBRFlfRk9SX0NIQU5HRSk7CisJbXV0ZXhfdW5s b2NrKCZkZXZfcHJpdi0+cnBzLmh3X2xvY2spOworCWlmIChyZXQpIHsKKwkJRFJNX0VSUk9SKCJG YWlsZWQgdG8gaW5mb3JtIFBDVSBhYm91dCBjZGNsayBjaGFuZ2UgKCVkKVxuIiwKKwkJCSAgcmV0 KTsKIAkJcmV0dXJuOwogCX0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfcG0uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMKaW5kZXggNjZjNjJmMy4u YWVkODhlMCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYworKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jCkBAIC03ODY0LDYgKzc4NjQsNTUgQEAg aW50IHNhbmR5YnJpZGdlX3Bjb2RlX3dyaXRlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdiwKIAlyZXR1cm4gMDsKIH0KIAorc3RhdGljIGJvb2wgc2tsX3Bjb2RlX3RyeV9yZXF1ZXN0 KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwgdTMyIG1ib3gsCisJCQkJICB1MzIg cmVxdWVzdCwgdTMyIHJlcGx5X21hc2ssIHUzMiByZXBseSwKKwkJCQkgIHUzMiAqc3RhdHVzKQor eworCXUzMiB2YWwgPSByZXF1ZXN0OworCisJKnN0YXR1cyA9IHNhbmR5YnJpZGdlX3Bjb2RlX3Jl YWQoZGV2X3ByaXYsIG1ib3gsICZ2YWwpOworCisJcmV0dXJuICpzdGF0dXMgfHwgKCh2YWwgJiBy ZXBseV9tYXNrKSA9PSByZXBseSk7Cit9CisKKy8qKgorICogc2tsX3Bjb2RlX3JlcXVlc3QgLSBz ZW5kIFBDT0RFIHJlcXVlc3QgdW50aWwgYWNrbm93bGVkZ21lbnQKKyAqIEBkZXZfcHJpdjogZGV2 aWNlIHByaXZhdGUKKyAqIEBtYm94OiBQQ09ERSBtYWlsYm94IElEIHRoZSByZXF1ZXN0IGlzIHRh cmdldGVkIGZvcgorICogQHJlcXVlc3Q6IHJlcXVlc3QgSUQKKyAqIEByZXBseV9tYXNrOiBtYXNr IHVzZWQgdG8gY2hlY2sgZm9yIHJlcXVlc3QgYWNrbm93bGVkZ21lbnQKKyAqIEByZXBseTogdmFs dWUgdXNlZCB0byBjaGVjayBmb3IgcmVxdWVzdCBhY2tub3dsZWRnZW1lbnQKKyAqCisgKiBLZWVw IHJlc2VuZGluZyB0aGUgQHJlcXVlc3QgdG8gQG1ib3ggdW50aWwgUENPREUgYWNrbm93bGVkZ2Vz IGl0LCBQQ09ERQorICogcmVwb3J0cyBhbiBlcnJvciBvciBhIDEwbXMgdGltZW91dCBleHBpcmVz LiBUaGUgcmVxdWVzdCBpcyBhY2tub3dsZWRnZWQKKyAqIG9uY2UgdGhlIFBDT0RFIHJlcGx5IGR3 b3JkIGVxdWFscyBAcmVwbHkgYWZ0ZXIgYXBseWluZyBAcmVwbHlfbWFzay4KKyAqCisgKiBSZXR1 cm5zIDAgb24gc3VjY2VzcywgJS1FVElNRURPVVQgaW4gY2FzZSBvZiBhIHRpbWVvdXQsIDwwIGlu IGNhc2Ugb2Ygc29tZQorICogb3RoZXIgZXJyb3IgYXMgcmVwb3J0ZWQgYnkgUENPREUuCisgKi8K K2ludCBza2xfcGNvZGVfcmVxdWVzdChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYs IHUzMiBtYm94LCB1MzIgcmVxdWVzdCwKKwkJICAgICAgdTMyIHJlcGx5X21hc2ssIHUzMiByZXBs eSkKK3sKKwl1MzIgc3RhdHVzOworCWludCByZXQ7CisKKwlXQVJOX09OKCFtdXRleF9pc19sb2Nr ZWQoJmRldl9wcml2LT5ycHMuaHdfbG9jaykpOworCisJLyoKKwkgKiBUaGUgc3BlYyBzYXlzIHRv IGtlZXAgcmV0cnlpbmcgdGhlIHJlcXVlc3QgZm9yIGF0IG1vc3QgM21zIHVudGlsCisJICogYWNr bm93bGVkZ2VtZW50LCBzbyBkaXNhYmxlIHByZS1lbXB0aW9uIHRvIG1heGltaXplIHRoZSBudW1i ZXIgb2YKKwkgKiBhdHRlbXB0cyB3aXRoaW4gdGhpcyBkdXJhdGlvbi4gVXNlIGEgMTBtcyBvdmVy YWxsIHRpbWVvdXQgdG8KKwkgKiBhY2NvdW50IGZvciBpbnRlcnJ1cHRzIHRoYXQgY291bGQgcmVk dWNlIHRoZSBudW1iZXIgb2YgYXR0ZW1wdHMuCisJICovCisJcHJlZW1wdF9kaXNhYmxlKCk7CisJ cmV0ID0gd2FpdF9mb3JfYXRvbWljKHNrbF9wY29kZV90cnlfcmVxdWVzdChkZXZfcHJpdiwgbWJv eCwgcmVxdWVzdCwKKwkJCQkJCSAgICByZXBseV9tYXNrLCByZXBseSwgJnN0YXR1cyksCisJCQkg ICAgICAxMCk7CisJcHJlZW1wdF9lbmFibGUoKTsKKworCXJldHVybiByZXQgPyByZXQgOiBzdGF0 dXM7Cit9CisKIHN0YXRpYyBpbnQgYnl0X2dwdV9mcmVxKHN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdiwgaW50IHZhbCkKIHsKIAkvKgotLSAKMi41LjAKCl9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50 ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9y Zy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=