From mboxrd@z Thu Jan 1 00:00:00 1970 From: Imre Deak Subject: [PATCH v2 4/4] drm/i915/gen9: Fix runtime PM refcounting in case DMC firmware isn't loaded Date: Mon, 18 Apr 2016 14:48:21 +0300 Message-ID: <1460980101-14713-1-git-send-email-imre.deak@intel.com> References: <1460963062-13211-5-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 mga03.intel.com (mga03.intel.com [134.134.136.65]) by gabe.freedesktop.org (Postfix) with ESMTP id BFDE06E3D2 for ; Mon, 18 Apr 2016 11:48:44 +0000 (UTC) In-Reply-To: <1460963062-13211-5-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 V2hpbGUgd2UgZGlzYWJsZSBydW50aW1lIFBNIGFuZCB3aXRoIHRoYXQgZGlzcGxheSBwb3dlciB3 ZWxsIHN1cHBvcnQgaWYKdGhlIERNQyBmaXJtd2FyZSBpc24ndCBsb2FkZWQsIHdlIHN0aWxsIHdh bnQgdG8gZGlzYWJsZSBwb3dlciB3ZWxscwpkdXJpbmcgc3lzdGVtIHN1c3BlbmQgYW5kIGRyaXZl ciB1bmxvYWQuIFNvIGRyb3AvcmVhY3F1aXJlIHRoZQpjb3JyZXNwb25kaW5nIHBvd2VyIHJlZmNv dW50IGR1cmluZyBzdXNwZW5kL3Jlc3VtZSBhbmQgZHJpdmVyIHVubG9hZGluZy4KVGhpcyBhbHNv IG1lYW5zIHdlIGhhdmUgdG8gY2hlY2sgaWYgRE1DIGlzIG5vdCBsb2FkZWQgYW5kIHNraXAgZW5h YmxpbmcKREMgc3RhdGVzIGluIHRoZSBwb3dlciB3ZWxsIGNvZGUuCgp2MjoKLSBSZXVzZSBpbnRl bF9jc3JfdWNvZGVfc3VzcGVuZCgpIGluIGludGVsX2Nzcl91Y29kZV9maW5pKCkgaW5zdGVhZCBv ZgogIG9wZW5jb2RpbmcgdGhlIGZvcm1lci4gKENocmlzKQotIEFkZCBkb2Nib29rIGNvbW1lbnQg dG8gdGhlIHB1YmxpYyByZXN1bWUgYW5kIHN1c3BlbmQgZnVuY3Rpb25zLgoKQ0M6IENocmlzIFdp bHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVrPgpTaWduZWQtb2ZmLWJ5OiBJbXJlIERlYWsg PGltcmUuZGVha0BpbnRlbC5jb20+CgotLS0KCkFzIHRoaXMgZml4ZXMgdGhlIHNwZWNpYWwgY2Fz ZSB3aGVuIGZpcm13YXJlIGxvYWRpbmcgZmFpbGVkIHdpdGggdGhlCnJlc3VsdCBvZiBwb3NzaWJs eSBsZWF2aW5nIHBvd2VyIHdlbGxzIGVuYWJsZWQgZHVyaW5nIHN1c3BlbmQvcmVzdW1lIGFuZApk cml2ZXIgdW5sb2FkaW5nIGl0J3Mgbm90IGZvciAtZml4ZXMgb3Igc3RhYmxlLgotLS0KIGRyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmMgICAgICAgICB8ICA1ICsrLS0KIGRyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2Nzci5jICAgICAgICB8IDQ0ICsrKysrKysrKysrKysrKysrKysrKysr KysrKysrKystLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggICAgICAgIHwgIDIg KysKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3J1bnRpbWVfcG0uYyB8ICAzICsrKwogNCBm aWxlcyBjaGFuZ2VkLCA1MCBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2Rydi5jCmluZGV4IDNiNzllOTcuLjlhMDE2ZjEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZHJ2LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9k cnYuYwpAQCAtNjQwLDggKzY0MCw3IEBAIHN0YXRpYyBpbnQgaTkxNV9kcm1fc3VzcGVuZChzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2KQogCiAJaW50ZWxfZGlzcGxheV9zZXRfaW5pdF9wb3dlcihkZXZf cHJpdiwgZmFsc2UpOwogCi0JaWYgKEhBU19DU1IoZGV2X3ByaXYpKQotCQlmbHVzaF93b3JrKCZk ZXZfcHJpdi0+Y3NyLndvcmspOworCWludGVsX2Nzcl91Y29kZV9zdXNwZW5kKGRldl9wcml2KTsK IAogb3V0OgogCWVuYWJsZV9ycG1fd2FrZXJlZl9hc3NlcnRzKGRldl9wcml2KTsKQEAgLTczMyw2 ICs3MzIsOCBAQCBzdGF0aWMgaW50IGk5MTVfZHJtX3Jlc3VtZShzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2KQogCiAJZGlzYWJsZV9ycG1fd2FrZXJlZl9hc3NlcnRzKGRldl9wcml2KTsKIAorCWludGVs X2Nzcl91Y29kZV9yZXN1bWUoZGV2X3ByaXYpOworCiAJbXV0ZXhfbG9jaygmZGV2LT5zdHJ1Y3Rf bXV0ZXgpOwogCWk5MTVfZ2VtX3Jlc3RvcmVfZ3R0X21hcHBpbmdzKGRldik7CiAJbXV0ZXhfdW5s b2NrKCZkZXYtPnN0cnVjdF9tdXRleCk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9jc3IuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Nzci5jCmluZGV4IGQ1 N2IwMGUuLmEzNGMyM2UgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Nz ci5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Nzci5jCkBAIC00NjcsMTAgKzQ2 Nyw1MCBAQCB2b2lkIGludGVsX2Nzcl91Y29kZV9pbml0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdikKIH0KIAogLyoqCisgKiBpbnRlbF9jc3JfdWNvZGVfc3VzcGVuZCgpIC0gcHJl cGFyZSBDU1IgZmlybXdhcmUgYmVmb3JlIHN5c3RlbSBzdXNwZW5kCisgKiBAZGV2X3ByaXY6IGk5 MTUgZHJtIGRldmljZQorICoKKyAqIFByZXBhcmUgdGhlIERNQyBmaXJtd2FyZSBiZWZvcmUgZW50 ZXJpbmcgc3lzdGVtIHN1c3BlbmQuIFRoaXMgaW5jbHVkZXMKKyAqIGZsdXNoaW5nIHBlbmRpbmcg d29yayBpdGVtcyBhbmQgcmVsZWFzaW5nIGFueSByZXNvdXJjZXMgYWNxdWlyZWQgZHVyaW5nCisg KiBpbml0LgorICovCit2b2lkIGludGVsX2Nzcl91Y29kZV9zdXNwZW5kKHN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdikKK3sKKwlpZiAoIUhBU19DU1IoZGV2X3ByaXYpKQorCQlyZXR1 cm47CisKKwlmbHVzaF93b3JrKCZkZXZfcHJpdi0+Y3NyLndvcmspOworCisJLyogRHJvcCB0aGUg cmVmZXJlbmNlIGhlbGQgaW4gY2FzZSBETUMgaXNuJ3QgbG9hZGVkLiAqLworCWlmICghZGV2X3By aXYtPmNzci5kbWNfcGF5bG9hZCkKKwkJaW50ZWxfZGlzcGxheV9wb3dlcl9wdXQoZGV2X3ByaXYs IFBPV0VSX0RPTUFJTl9JTklUKTsKK30KKworLyoqCisgKiBpbnRlbF9jc3JfdWNvZGVfcmVzdW1l KCkgLSBpbml0IENTUiBmaXJtd2FyZSBkdXJpbmcgc3lzdGVtIHJlc3VtZQorICogQGRldl9wcml2 OiBpOTE1IGRybSBkZXZpY2UKKyAqCisgKiBSZWluaXRpYWxpemUgdGhlIERNQyBmaXJtd2FyZSBk dXJpbmcgc3lzdGVtIHJlc3VtZSwgcmVhY3F1aXJpbmcgYW55CisgKiByZXNvdXJjZXMgcmVsZWFz ZWQgaW4gaW50ZWxfY3NyX3Vjb2RlX3N1c3BlbmQoKS4KKyAqLwordm9pZCBpbnRlbF9jc3JfdWNv ZGVfcmVzdW1lKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKK3sKKwlpZiAoIUhB U19DU1IoZGV2X3ByaXYpKQorCQlyZXR1cm47CisKKwkvKgorCSAqIFJlYWNxdWlyZSB0aGUgcmVm ZXJlbmNlIHRvIGtlZXAgUlBNIGRpc2FibGVkIGluIGNhc2UgRE1DIGlzbid0CisJICogbG9hZGVk LgorCSAqLworCWlmICghZGV2X3ByaXYtPmNzci5kbWNfcGF5bG9hZCkKKwkJaW50ZWxfZGlzcGxh eV9wb3dlcl9nZXQoZGV2X3ByaXYsIFBPV0VSX0RPTUFJTl9JTklUKTsKK30KKworLyoqCiAgKiBp bnRlbF9jc3JfdWNvZGVfZmluaSgpIC0gdW5sb2FkIHRoZSBDU1IgZmlybXdhcmUuCiAgKiBAZGV2 X3ByaXY6IGk5MTUgZHJtIGRldmljZS4KICAqCi0gKiBGaXJtbXdhcmUgdW5sb2FkaW5nIGluY2x1 ZGVzIGZyZWVpbmcgdGhlIGludGVybmFsIG1vbW9yeSBhbmQgcmVzZXQgdGhlCisgKiBGaXJtbXdh cmUgdW5sb2FkaW5nIGluY2x1ZGVzIGZyZWVpbmcgdGhlIGludGVybmFsIG1lbW9yeSBhbmQgcmVz ZXQgdGhlCiAgKiBmaXJtd2FyZSBsb2FkaW5nIHN0YXR1cy4KICAqLwogdm9pZCBpbnRlbF9jc3Jf dWNvZGVfZmluaShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCkBAIC00NzgsNyAr NTE4LDcgQEAgdm9pZCBpbnRlbF9jc3JfdWNvZGVfZmluaShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYpCiAJaWYgKCFIQVNfQ1NSKGRldl9wcml2KSkKIAkJcmV0dXJuOwogCi0JZmx1 c2hfd29yaygmZGV2X3ByaXYtPmNzci53b3JrKTsKKwlpbnRlbF9jc3JfdWNvZGVfc3VzcGVuZChk ZXZfcHJpdik7CiAKIAlrZnJlZShkZXZfcHJpdi0+Y3NyLmRtY19wYXlsb2FkKTsKIH0KZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZHJ2LmgKaW5kZXggMTBkZmU3Mi4uYmVlZDllOCAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZHJ2LmgKQEAgLTEyNzUsNiArMTI3NSw4IEBAIHUzMiBza2xfcGxhbmVfY3RsX3JvdGF0 aW9uKHVuc2lnbmVkIGludCByb3RhdGlvbik7CiB2b2lkIGludGVsX2Nzcl91Y29kZV9pbml0KHN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICopOwogdm9pZCBpbnRlbF9jc3JfbG9hZF9wcm9ncmFtKHN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICopOwogdm9pZCBpbnRlbF9jc3JfdWNvZGVfZmluaShzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqKTsKK3ZvaWQgaW50ZWxfY3NyX3Vjb2RlX3N1c3BlbmQoc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKik7Cit2b2lkIGludGVsX2Nzcl91Y29kZV9yZXN1bWUoc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKik7CiAKIC8qIGludGVsX2RwLmMgKi8KIHZvaWQgaW50ZWxf ZHBfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBpOTE1X3JlZ190IG91dHB1dF9yZWcsIGVu dW0gcG9ydCBwb3J0KTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3J1 bnRpbWVfcG0uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3J1bnRpbWVfcG0uYwppbmRl eCAyNTlmNjZmLi5iZmE4NTQ4IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9ydW50aW1lX3BtLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcnVudGltZV9w bS5jCkBAIC04MDksNiArODA5LDkgQEAgc3RhdGljIHZvaWQgZ2VuOV9kY19vZmZfcG93ZXJfd2Vs bF9lbmFibGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogc3RhdGljIHZvaWQg Z2VuOV9kY19vZmZfcG93ZXJfd2VsbF9kaXNhYmxlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdiwKIAkJCQkJICAgc3RydWN0IGk5MTVfcG93ZXJfd2VsbCAqcG93ZXJfd2VsbCkKIHsK KwlpZiAoIWRldl9wcml2LT5jc3IuZG1jX3BheWxvYWQpCisJCXJldHVybjsKKwogCWlmIChkZXZf cHJpdi0+Y3NyLmFsbG93ZWRfZGNfbWFzayAmIERDX1NUQVRFX0VOX1VQVE9fREM2KQogCQlza2xf ZW5hYmxlX2RjNihkZXZfcHJpdik7CiAJZWxzZSBpZiAoZGV2X3ByaXYtPmNzci5hbGxvd2VkX2Rj X21hc2sgJiBEQ19TVEFURV9FTl9VUFRPX0RDNSkKLS0gCjIuNS4wCgpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0Cklu dGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5v cmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK