From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: [PATCH 3/4] drm/i915/pmu: Fix sleep under atomic in RC6 readout Date: Tue, 13 Feb 2018 09:29:07 +0000 Message-ID: <20180213092908.1600-3-tvrtko.ursulin@linux.intel.com> References: <20180213073842.hb5mgh6i7jd2f6um@intel.com> <20180213092908.1600-1-tvrtko.ursulin@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wr0-x244.google.com (mail-wr0-x244.google.com [IPv6:2a00:1450:400c:c0c::244]) by gabe.freedesktop.org (Postfix) with ESMTPS id A7AC86E1CF for ; Tue, 13 Feb 2018 09:29:20 +0000 (UTC) Received: by mail-wr0-x244.google.com with SMTP id v65so11114570wrc.11 for ; Tue, 13 Feb 2018 01:29:20 -0800 (PST) In-Reply-To: <20180213092908.1600-1-tvrtko.ursulin@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 List-Id: intel-gfx@lists.freedesktop.org RnJvbTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KCldlIGFyZSBu b3QgYWxsb3dlZCB0byBjYWxsIGludGVsX3J1bnRpbWVfcG1fZ2V0IGZyb20gdGhlIFBNVSBjb3Vu dGVyIHJlYWQKY2FsbGJhY2sgc2luY2UgdGhlIGZvcm1lciBjYW4gc2xlZXAsIGFuZCB0aGUgbGF0 dGVyIGlzIHJ1bm5pbmcgdW5kZXIgSVJRCmNvbnRleHQuCgpUbyB3b3JrYXJvdW5kIHRoaXMsIHdl IHJlY29yZCB0aGUgbGFzdCBrbm93biBSQzYgYW5kIHdoaWxlIHJ1bnRpbWUKc3VzcGVuZGVkIGVz dGltYXRlIGl0cyBpbmNyZWFzZSBieSBxdWVyeWluZyB0aGUgcnVudGltZSBQTSBjb3JlCnRpbWVz dGFtcHMuCgpEb3duc2lkZSBvZiB0aGlzIGFwcHJvYWNoIGlzIHRoYXQgd2UgY2FuIHRlbXBvcmFy aWx5IGxvc2UgYSBjaHVuayBvZiBSQzYKdGltZSwgZnJvbSB0aGUgbGFzdCBQTVUgcmVhZC1vdXQg dG8gcnVudGltZSBzdXNwZW5kIGVudHJ5LCBidXQgdGhhdCB3aWxsCmV2ZW50dWFsbHkgY2F0Y2gg dXAsIG9uY2UgZGV2aWNlIGNvbWVzIGJhY2sgb25saW5lIGFuZCBpbiB0aGUgcHJlc2VuY2Ugb2YK UE1VIHF1ZXJpZXMuCgpBbHNvLCB3ZSBoYXZlIHRvIGJlIGNhcmVmdWwgbm90IHRvIG92ZXJzaG9v dCB0aGUgUkM2IGVzdGltYXRlLCBzbyBvbmNlCnJlc3VtZWQgYWZ0ZXIgYSBwZXJpb2Qgb2YgYXBw cm94aW1hdGlvbiwgd2Ugb25seSB1cGRhdGUgdGhlIGNvdW50ZXIgb25jZQppdCBjYXRjaGVzIHVw LiBXaXRoIHRoZSBvYnNlcnZhdGlvbiB0aGF0IFJDNiBpcyBpbmNyZWFzaW5nIHdoaWxlIHRoZQpk ZXZpY2UgaXMgc3VzcGVuZGVkLCB0aGlzIHNob3VsZCBub3QgcG9zZSBhIHByb2JsZW0gYW5kIGNh biBvbmx5IGNhdXNlCnNsaWdodCBpbmFjY3VyYWNpZXMgZHVlIGNsb2NrIGJhc2UgZGlmZmVyZW5j ZXMuCgp2MjogU2ltcGxpZnkgYnkgZXN0aW1hdGluZyBvbiB0b3Agb2YgUE0gY29yZSBjb3VudGVy cy4gKEltcmUpCgpTaWduZWQtb2ZmLWJ5OiBUdnJ0a28gVXJzdWxpbiA8dHZydGtvLnVyc3VsaW5A aW50ZWwuY29tPgpCdWd6aWxsYTogaHR0cHM6Ly9idWdzLmZyZWVkZXNrdG9wLm9yZy9zaG93X2J1 Zy5jZ2k/aWQ9MTA0OTQzCkZpeGVzOiA2MDYwYjZhZWMwM2MgKCJkcm0vaTkxNS9wbXU6IEFkZCBS QzYgcmVzaWRlbmN5IG1ldHJpY3MiKQpUZXN0Y2FzZTogaWd0L3BlcmZfcG11L3JjNi1ydW50aW1l LXBtCkNjOiBUdnJ0a28gVXJzdWxpbiA8dHZydGtvLnVyc3VsaW5AaW50ZWwuY29tPgpDYzogQ2hy aXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+CkNjOiBJbXJlIERlYWsgPGltcmUu ZGVha0BpbnRlbC5jb20+CkNjOiBKYW5pIE5pa3VsYSA8amFuaS5uaWt1bGFAbGludXguaW50ZWwu Y29tPgpDYzogSm9vbmFzIExhaHRpbmVuIDxqb29uYXMubGFodGluZW5AbGludXguaW50ZWwuY29t PgpDYzogUm9kcmlnbyBWaXZpIDxyb2RyaWdvLnZpdmlAaW50ZWwuY29tPgpDYzogRGF2aWQgQWly bGllIDxhaXJsaWVkQGxpbnV4LmllPgpDYzogaW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9y ZwpDYzogZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpSZXZpZXdlZC1ieTogQ2hyaXMg V2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+Ckxpbms6IGh0dHBzOi8vcGF0Y2h3b3Jr LmZyZWVkZXNrdG9wLm9yZy9wYXRjaC9tc2dpZC8yMDE4MDIwNjE4MzMxMS4xNzkyNC0xLXR2cnRr by51cnN1bGluQGxpbnV4LmludGVsLmNvbQotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf cG11LmMgfCA5MyArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLQogZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wbXUuaCB8ICA2ICsrKwogMiBmaWxlcyBjaGFuZ2VkLCA4 NCBpbnNlcnRpb25zKCspLCAxNSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X3BtdS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wbXUuYwpp bmRleCAzMzdlYWE2ZWRlNTIuLmUxMzg1OWFhYTJhMyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9wbXUuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BtdS5j CkBAIC00MDksNyArNDA5LDgxIEBAIHN0YXRpYyBpbnQgaTkxNV9wbXVfZXZlbnRfaW5pdChzdHJ1 Y3QgcGVyZl9ldmVudCAqZXZlbnQpCiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyB1NjQgX19pOTE1 X3BtdV9ldmVudF9yZWFkKHN0cnVjdCBwZXJmX2V2ZW50ICpldmVudCkKK3N0YXRpYyB1NjQgZ2V0 X3JjNihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwgYm9vbCBsb2NrZWQpCit7CisJdW5z aWduZWQgbG9uZyBmbGFnczsKKwl1NjQgdmFsOworCisJaWYgKGludGVsX3J1bnRpbWVfcG1fZ2V0 X2lmX2luX3VzZShpOTE1KSkgeworCQl2YWwgPSBpbnRlbF9yYzZfcmVzaWRlbmN5X25zKGk5MTUs IElTX1ZBTExFWVZJRVcoaTkxNSkgPworCQkJCQkJICAgVkxWX0dUX1JFTkRFUl9SQzYgOgorCQkJ CQkJICAgR0VONl9HVF9HRlhfUkM2KTsKKworCQlpZiAoSEFTX1JDNnAoaTkxNSkpCisJCQl2YWwg Kz0gaW50ZWxfcmM2X3Jlc2lkZW5jeV9ucyhpOTE1LCBHRU42X0dUX0dGWF9SQzZwKTsKKworCQlp ZiAoSEFTX1JDNnBwKGk5MTUpKQorCQkJdmFsICs9IGludGVsX3JjNl9yZXNpZGVuY3lfbnMoaTkx NSwgR0VONl9HVF9HRlhfUkM2cHApOworCisJCWludGVsX3J1bnRpbWVfcG1fcHV0KGk5MTUpOwor CisJCS8qCisJCSAqIElmIHdlIGFyZSBjb21pbmcgYmFjayBmcm9tIGJlaW5nIHJ1bnRpbWUgc3Vz cGVuZGVkIHdlIG11c3QKKwkJICogYmUgY2FyZWZ1bCBub3QgdG8gcmVwb3J0IGEgbGFyZ2VyIHZh bHVlIHRoYW4gcmV0dXJuZWQKKwkJICogcHJldmlvdXNseS4KKwkJICovCisKKwkJaWYgKCFsb2Nr ZWQpCisJCQlzcGluX2xvY2tfaXJxc2F2ZSgmaTkxNS0+cG11LmxvY2ssIGZsYWdzKTsKKworCQlp ZiAodmFsID49IGk5MTUtPnBtdS5zYW1wbGVbX19JOTE1X1NBTVBMRV9SQzZfRVNUSU1BVEVEXS5j dXIpIHsKKwkJCWk5MTUtPnBtdS5zYW1wbGVbX19JOTE1X1NBTVBMRV9SQzZfRVNUSU1BVEVEXS5j dXIgPSAwOworCQkJaTkxNS0+cG11LnNhbXBsZVtfX0k5MTVfU0FNUExFX1JDNl0uY3VyID0gdmFs OworCQl9IGVsc2UgeworCQkJdmFsID0gaTkxNS0+cG11LnNhbXBsZVtfX0k5MTVfU0FNUExFX1JD Nl9FU1RJTUFURURdLmN1cjsKKwkJfQorCisJCWlmICghbG9ja2VkKQorCQkJc3Bpbl91bmxvY2tf aXJxcmVzdG9yZSgmaTkxNS0+cG11LmxvY2ssIGZsYWdzKTsKKwl9IGVsc2UgeworCQlzdHJ1Y3Qg cGNpX2RldiAqcGRldiA9IGk5MTUtPmRybS5wZGV2OworCQlzdHJ1Y3QgZGV2aWNlICprZGV2ID0g JnBkZXYtPmRldjsKKwkJdW5zaWduZWQgbG9uZyBmbGFnczI7CisKKwkJLyoKKwkJICogV2UgYXJl IHJ1bnRpbWUgc3VzcGVuZGVkLgorCQkgKgorCQkgKiBSZXBvcnQgdGhlIGRlbHRhIGZyb20gd2hl biB0aGUgZGV2aWNlIHdhcyBzdXNwZW5kZWQgdG8gbm93LAorCQkgKiBvbiB0b3Agb2YgdGhlIGxh c3Qga25vd24gcmVhbCB2YWx1ZSwgYXMgdGhlIGFwcHJveGltYXRlZCBSQzYKKwkJICogY291bnRl ciB2YWx1ZS4KKwkJICovCisJCWlmICghbG9ja2VkKQorCQkJc3Bpbl9sb2NrX2lycXNhdmUoJmk5 MTUtPnBtdS5sb2NrLCBmbGFncyk7CisKKwkJc3Bpbl9sb2NrX2lycXNhdmUoJmtkZXYtPnBvd2Vy LmxvY2ssIGZsYWdzMik7CisKKwkJaWYgKCFpOTE1LT5wbXUuc2FtcGxlW19fSTkxNV9TQU1QTEVf UkM2X0VTVElNQVRFRF0uY3VyKQorCQkJaTkxNS0+cG11LnN1c3BlbmRlZF9qaWZmaWVzX2xhc3Qg PQorCQkJCQkJa2Rldi0+cG93ZXIuc3VzcGVuZGVkX2ppZmZpZXM7CisKKwkJdmFsID0ga2Rldi0+ cG93ZXIuc3VzcGVuZGVkX2ppZmZpZXMgLQorCQkgICAgICBpOTE1LT5wbXUuc3VzcGVuZGVkX2pp ZmZpZXNfbGFzdDsKKwkJdmFsICs9IGppZmZpZXMgLSBrZGV2LT5wb3dlci5hY2NvdW50aW5nX3Rp bWVzdGFtcDsKKworCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZrZGV2LT5wb3dlci5sb2NrLCBm bGFnczIpOworCisJCXZhbCA9IGppZmZpZXNfdG9fbnNlY3ModmFsKTsKKwkJdmFsICs9IGk5MTUt PnBtdS5zYW1wbGVbX19JOTE1X1NBTVBMRV9SQzZdLmN1cjsKKwkJaTkxNS0+cG11LnNhbXBsZVtf X0k5MTVfU0FNUExFX1JDNl9FU1RJTUFURURdLmN1ciA9IHZhbDsKKworCQlpZiAoIWxvY2tlZCkK KwkJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmk5MTUtPnBtdS5sb2NrLCBmbGFncyk7CisJfQor CisJcmV0dXJuIHZhbDsKK30KKworc3RhdGljIHU2NCBfX2k5MTVfcG11X2V2ZW50X3JlYWQoc3Ry dWN0IHBlcmZfZXZlbnQgKmV2ZW50LCBib29sIGxvY2tlZCkKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqaTkxNSA9CiAJCWNvbnRhaW5lcl9vZihldmVudC0+cG11LCB0eXBlb2YoKmk5MTUp LCBwbXUuYmFzZSk7CkBAIC00NDcsMTggKzUyMSw3IEBAIHN0YXRpYyB1NjQgX19pOTE1X3BtdV9l dmVudF9yZWFkKHN0cnVjdCBwZXJmX2V2ZW50ICpldmVudCkKIAkJCXZhbCA9IGNvdW50X2ludGVy cnVwdHMoaTkxNSk7CiAJCQlicmVhazsKIAkJY2FzZSBJOTE1X1BNVV9SQzZfUkVTSURFTkNZOgot CQkJaW50ZWxfcnVudGltZV9wbV9nZXQoaTkxNSk7Ci0JCQl2YWwgPSBpbnRlbF9yYzZfcmVzaWRl bmN5X25zKGk5MTUsCi0JCQkJCQkgICAgIElTX1ZBTExFWVZJRVcoaTkxNSkgPwotCQkJCQkJICAg ICBWTFZfR1RfUkVOREVSX1JDNiA6Ci0JCQkJCQkgICAgIEdFTjZfR1RfR0ZYX1JDNik7Ci0JCQlp ZiAoSEFTX1JDNnAoaTkxNSkpCi0JCQkJdmFsICs9IGludGVsX3JjNl9yZXNpZGVuY3lfbnMoaTkx NSwKLQkJCQkJCQkgICAgICBHRU42X0dUX0dGWF9SQzZwKTsKLQkJCWlmIChIQVNfUkM2cHAoaTkx NSkpCi0JCQkJdmFsICs9IGludGVsX3JjNl9yZXNpZGVuY3lfbnMoaTkxNSwKLQkJCQkJCQkgICAg ICBHRU42X0dUX0dGWF9SQzZwcCk7Ci0JCQlpbnRlbF9ydW50aW1lX3BtX3B1dChpOTE1KTsKKwkJ CXZhbCA9IGdldF9yYzYoaTkxNSwgbG9ja2VkKTsKIAkJCWJyZWFrOwogCQl9CiAJfQpAQCAtNDcz LDcgKzUzNiw3IEBAIHN0YXRpYyB2b2lkIGk5MTVfcG11X2V2ZW50X3JlYWQoc3RydWN0IHBlcmZf ZXZlbnQgKmV2ZW50KQogCiBhZ2FpbjoKIAlwcmV2ID0gbG9jYWw2NF9yZWFkKCZod2MtPnByZXZf Y291bnQpOwotCW5ldyA9IF9faTkxNV9wbXVfZXZlbnRfcmVhZChldmVudCk7CisJbmV3ID0gX19p OTE1X3BtdV9ldmVudF9yZWFkKGV2ZW50LCBmYWxzZSk7CiAKIAlpZiAobG9jYWw2NF9jbXB4Y2hn KCZod2MtPnByZXZfY291bnQsIHByZXYsIG5ldykgIT0gcHJldikKIAkJZ290byBhZ2FpbjsKQEAg LTUyOCw3ICs1OTEsNyBAQCBzdGF0aWMgdm9pZCBpOTE1X3BtdV9lbmFibGUoc3RydWN0IHBlcmZf ZXZlbnQgKmV2ZW50KQogCSAqIGZvciBhbGwgbGlzdGVuZXJzLiBFdmVuIHdoZW4gdGhlIGV2ZW50 IHdhcyBhbHJlYWR5IGVuYWJsZWQgYW5kIGhhcwogCSAqIGFuIGV4aXN0aW5nIG5vbi16ZXJvIHZh bHVlLgogCSAqLwotCWxvY2FsNjRfc2V0KCZldmVudC0+aHcucHJldl9jb3VudCwgX19pOTE1X3Bt dV9ldmVudF9yZWFkKGV2ZW50KSk7CisJbG9jYWw2NF9zZXQoJmV2ZW50LT5ody5wcmV2X2NvdW50 LCBfX2k5MTVfcG11X2V2ZW50X3JlYWQoZXZlbnQsIHRydWUpKTsKIAogCXNwaW5fdW5sb2NrX2ly cXJlc3RvcmUoJmk5MTUtPnBtdS5sb2NrLCBmbGFncyk7CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X3BtdS5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wbXUu aAppbmRleCA0MGMxNTRkMTM1NjUuLmJiNjJkZjE1YWZhNCAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9wbXUuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3Bt dS5oCkBAIC0yNyw2ICsyNyw4IEBACiBlbnVtIHsKIAlfX0k5MTVfU0FNUExFX0ZSRVFfQUNUID0g MCwKIAlfX0k5MTVfU0FNUExFX0ZSRVFfUkVRLAorCV9fSTkxNV9TQU1QTEVfUkM2LAorCV9fSTkx NV9TQU1QTEVfUkM2X0VTVElNQVRFRCwKIAlfX0k5MTVfTlVNX1BNVV9TQU1QTEVSUwogfTsKIApA QCAtOTQsNiArOTYsMTAgQEAgc3RydWN0IGk5MTVfcG11IHsKIAkgKiBzdHJ1Y3QgaW50ZWxfZW5n aW5lX2NzLgogCSAqLwogCXN0cnVjdCBpOTE1X3BtdV9zYW1wbGUgc2FtcGxlW19fSTkxNV9OVU1f UE1VX1NBTVBMRVJTXTsKKwkvKioKKwkgKiBAc3VzcGVuZGVkX2ppZmZpZXNfbGFzdDogQ2FjaGVk IHN1c3BlbmQgdGltZSBmcm9tIFBNIGNvcmUuCisJICovCisJdW5zaWduZWQgbG9uZyBzdXNwZW5k ZWRfamlmZmllc19sYXN0OwogfTsKIAogI2lmZGVmIENPTkZJR19QRVJGX0VWRU5UUwotLSAKMi4x NC4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRl bC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6 Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK