From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: [PATCH] drm/i915: Fix runtime pm inbalance due to reg I/O forcewake dance Date: Fri, 14 Mar 2014 08:48:46 +0100 Message-ID: <1394783326-10484-1-git-send-email-daniel.vetter@ffwll.ch> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-ee0-f47.google.com (mail-ee0-f47.google.com [74.125.83.47]) by gabe.freedesktop.org (Postfix) with ESMTP id 62858FB182 for ; Fri, 14 Mar 2014 00:48:54 -0700 (PDT) Received: by mail-ee0-f47.google.com with SMTP id b15so1017086eek.34 for ; Fri, 14 Mar 2014 00:48:53 -0700 (PDT) List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: intel-gfx-bounces@lists.freedesktop.org Errors-To: intel-gfx-bounces@lists.freedesktop.org To: Intel Graphics Development Cc: Ben Widawsky , Paulo Zanoni , Daniel Vetter List-Id: intel-gfx@lists.freedesktop.org VGhpcyByZWdyZXNzaW9uIGhhcyBiZWVuIGludHJvZHVjZWQgaW4KCmNvbW1pdCA4MjMyNjQ0Y2Nm MDk5NTQ4NzEwODQzZTk3MzYwYTNmY2Q2ZDI4ZTA0CkF1dGhvcjogQ2hyaXMgV2lsc29uIDxjaHJp c0BjaHJpcy13aWxzb24uY28udWs+CkRhdGU6ICAgV2VkIE1hciA1IDEyOjAwOjM5IDIwMTQgKzAw MDAKCiAgICBkcm0vaTkxNTogQ29udmVydCB0aGUgZm9yY2V3YWtlIHdvcmtlciBpbnRvIGEgdGlt ZXIgZnVuYwoKd2hpY2ggc3RhcnRlZCB0byB1c2UgdGhlIGRlbGF5ZWQgZm9yY2V3YWtlIHB1dCBh bHNvIGZvciB0aGUgcmVnaXN0ZXIKSS9PIGZvcmNld2FrZSBkYW5jZS4gQnV0IHRoaXMgY29uZmxp Y3RzIGZ1bmN0aW9uYWxseSB3aXRoIHRoZQoocmV2aWV3ZWQgaW4gcGFyYWxsZWwpCgpjb21taXQg NmQ4ODA2NGVkY2ZjNWU1ODkzMzcxZjdjMDZiOWYzMDc4ZGMxZWRmNgpBdXRob3I6IFBhdWxvIFph bm9uaSA8cGF1bG8uci56YW5vbmlAaW50ZWwuY29tPgpEYXRlOiAgIEZyaSBGZWIgMjEgMTc6NTg6 MjkgMjAxNCAtMDMwMAoKICAgIGRybS9pOTE1OiBwdXQgcnVudGltZSBQTSBvbmx5IHdoZW4gd2Ug YWN0dWFsbHkgcmVsZWFzZSBmb3JjZV93YWtlCgp3aGljaCBtb3ZlZCB0aGUgcnVudGltZSBwbSBw dXQgY2FsbHMgaW50byB0aGUgZGVsYXllZCBmb3JjZXdha2UgcHV0CmZ1bmN0aW9uIHRvIGF2b2lk IGFuIGludmVyc2lvbiBiZXR3ZWVuIHRoZXNlLiBUaGUgcHJvYmxlbSBpcyB0aGF0IHRoZQpyZWdp c3RlciBJL08gZnVuY3Rpb24gZG8gX25vdF8gZ3JhYiBhIHJ1bnRpbWUgcG0gcmVmZXJlbmNlLCBo ZW5jZQpkcm9wcGluZyBpdCBpcyBhIGJ1Zy4KClNvIHNwbGl0IHRoZSB0aW1lciBpbnRvIHR3byB0 byByZS1iYWxhbmNlIHRoZSBydW50aW1lIHBtIHJlZmNvdW50aW5nLgpUaGUgdHJpY2t5IGJpdCB0 byBlbnN1cmUgaXMgdGhhdCB0aGUgX3JhdyB0aW1lciBkb2Vzbid0IHJ1biBhZnRlcgp3ZSd2ZSBy dW50aW1lLXN1c3BlbmRlZCB0aGUgZGV2aWNlLiBBZnRlciBhbGwgaXQgb25seSBoYXMgYW4gaW1w bGljaXQKcnVudGltZSBwbSByZWZlcmVuY2UgcHJvdmlkZWQgYnkgaXRzIGNhbGxlci4gQnV0IHRo ZSBkZWxfdGltZXJfc3luYyBpbgp0aGUgcnVudGltZSBzdXNwZW5kIGNvZGUgd2lsbCBlbnN1cmUg dGhpcy4KCkFkZCBhIGNvbW1lbnQgdG8gZG9jdW1lbnQgdGhpcyBhbGwuCgpDYzogQ2hyaXMgV2ls c29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+CkNjOiBCZW4gV2lkYXdza3kgPGJlbkBid2lk YXdzay5uZXQ+CkNjOiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwu Y29tPgpDYzogUGF1bG8gWmFub25pIDxwYXVsby5yLnphbm9uaUBpbnRlbC5jb20+CkNjOiBKZXNz ZSBCYXJuZXMgPGpiYXJuZXNAdmlydHVvdXNnZWVrLm9yZz4KQnVnemlsbGE6IGh0dHBzOi8vYnVn cy5mcmVlZGVza3RvcC5vcmcvc2hvd19idWcuY2dpP2lkPTc2MTUxClNpZ25lZC1vZmYtYnk6IERh bmllbCBWZXR0ZXIgPGRhbmllbC52ZXR0ZXJAZmZ3bGwuY2g+Ci0tLQogZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9kcnYuaCAgICAgfCAgOSArKysrKysrKysKIGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX3VuY29yZS5jIHwgMTQgKysrKysrKysrKysrLS0KIDIgZmlsZXMgY2hhbmdlZCwgMjEg aW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAppbmRl eCA3MGZiZTkwNDAxNmYuLmMyNzg5NzAyYjlhNSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9kcnYuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCkBA IC01MTEsNyArNTExLDE2IEBAIHN0cnVjdCBpbnRlbF91bmNvcmUgewogCXVuc2lnbmVkIGZ3X3Jl bmRlcmNvdW50OwogCXVuc2lnbmVkIGZ3X21lZGlhY291bnQ7CiAKKwkvKgorCSAqIERlbGF5ZWQg Zm9yY2V3YWtlIHB1dCB0aW1lcnMuIFRoZSBfcmF3IG9uZSBpcyBmb3IgcmVnaXN0ZXIgSS9PCisJ ICogZnVuY3Rpb25zIHdoaWNoIGRvbid0IGdyYWIgYSBydW50aW1lIHBtIHJlZmVyZW5jZSwgaW5z dGVhZCBwcmVzdW1pbmcKKwkgKiB0aGF0IHNvbWVvbmUgZWxzZSBob2xkcyB0aGF0IGFscmVhZHku CisJICoKKwkgKiBTeW5jaHJvbml6YXRpb24gd2l0aCBydW50aW1lIHBtIGFjdHVhbGx5IHN1c3Bl bmRlZCB0aGUgZGV2aWNlIGhhcHBlbnMKKwkgKiBpbiB0aGUgcnVudGltZSBzdXNwZW5kIHBhdGgg aW4gaW50ZWxfdW5jb3JlX2ZvcmNld2FrZV9yZXNldC4KKwkgKi8KIAlzdHJ1Y3QgdGltZXJfbGlz dCBmb3JjZV93YWtlX3RpbWVyOworCXN0cnVjdCB0aW1lcl9saXN0IGZvcmNlX3dha2VfdGltZXJf cmF3OwogfTsKIAogI2RlZmluZSBERVZfSU5GT19GT1JfRUFDSF9GTEFHKGZ1bmMsIHNlcCkgXApk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdW5jb3JlLmMgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF91bmNvcmUuYwppbmRleCBlNmJiNDIxYTNkYmQuLjgwMTBlMmNh ZjgyMSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdW5jb3JlLmMKKysr IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdW5jb3JlLmMKQEAgLTI5Myw3ICsyOTMsNyBA QCB2b2lkIHZsdl9mb3JjZV93YWtlX3B1dChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYsCiAJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmZGV2X3ByaXYtPnVuY29yZS5sb2NrLCBpcnFm bGFncyk7CiB9CiAKLXN0YXRpYyB2b2lkIGdlbjZfZm9yY2Vfd2FrZV90aW1lcih1bnNpZ25lZCBs b25nIGFyZykKK3N0YXRpYyB2b2lkIGdlbjZfZm9yY2Vfd2FrZV90aW1lcl9yYXcodW5zaWduZWQg bG9uZyBhcmcpCiB7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gKHZvaWQg Kilhcmc7CiAJdW5zaWduZWQgbG9uZyBpcnFmbGFnczsKQEAgLTMwNCw2ICszMDQsMTMgQEAgc3Rh dGljIHZvaWQgZ2VuNl9mb3JjZV93YWtlX3RpbWVyKHVuc2lnbmVkIGxvbmcgYXJnKQogCWlmICgt LWRldl9wcml2LT51bmNvcmUuZm9yY2V3YWtlX2NvdW50ID09IDApCiAJCWRldl9wcml2LT51bmNv cmUuZnVuY3MuZm9yY2Vfd2FrZV9wdXQoZGV2X3ByaXYsIEZPUkNFV0FLRV9BTEwpOwogCXNwaW5f dW5sb2NrX2lycXJlc3RvcmUoJmRldl9wcml2LT51bmNvcmUubG9jaywgaXJxZmxhZ3MpOworfQor CitzdGF0aWMgdm9pZCBnZW42X2ZvcmNlX3dha2VfdGltZXIodW5zaWduZWQgbG9uZyBhcmcpCit7 CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gKHZvaWQgKilhcmc7CisKKwln ZW42X2ZvcmNlX3dha2VfdGltZXJfcmF3KGFyZyk7CiAKIAlpbnRlbF9ydW50aW1lX3BtX3B1dChk ZXZfcHJpdik7CiB9CkBAIC0zMTQsNiArMzIxLDcgQEAgc3RhdGljIHZvaWQgaW50ZWxfdW5jb3Jl X2ZvcmNld2FrZV9yZXNldChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBib29sIHJlc3RvcmUpCiAJ dW5zaWduZWQgbG9uZyBpcnFmbGFnczsKIAogCWRlbF90aW1lcl9zeW5jKCZkZXZfcHJpdi0+dW5j b3JlLmZvcmNlX3dha2VfdGltZXIpOworCWRlbF90aW1lcl9zeW5jKCZkZXZfcHJpdi0+dW5jb3Jl LmZvcmNlX3dha2VfdGltZXJfcmF3KTsKIAogCS8qIEhvbGQgdW5jb3JlLmxvY2sgYWNyb3NzIHJl c2V0IHRvIHByZXZlbnQgYW55IHJlZ2lzdGVyIGFjY2VzcwogCSAqIHdpdGggZm9yY2V3YWtlIG5v dCBzZXQgY29ycmVjdGx5CkBAIC01NDIsNyArNTUwLDcgQEAgZ2VuNl9yZWFkIyN4KHN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwgb2ZmX3QgcmVnLCBib29sIHRyYWNlKSB7IFwKIAkJ ZGV2X3ByaXYtPnVuY29yZS5mdW5jcy5mb3JjZV93YWtlX2dldChkZXZfcHJpdiwgXAogCQkJCQkJ ICAgICAgRk9SQ0VXQUtFX0FMTCk7IFwKIAkJZGV2X3ByaXYtPnVuY29yZS5mb3JjZXdha2VfY291 bnQrKzsgXAotCQltb2RfdGltZXJfcGlubmVkKCZkZXZfcHJpdi0+dW5jb3JlLmZvcmNlX3dha2Vf dGltZXIsIFwKKwkJbW9kX3RpbWVyX3Bpbm5lZCgmZGV2X3ByaXYtPnVuY29yZS5mb3JjZV93YWtl X3RpbWVyX3JhdywgXAogCQkJCSBqaWZmaWVzICsgMSk7IFwKIAl9IFwKIAl2YWwgPSBfX3Jhd19p OTE1X3JlYWQjI3goZGV2X3ByaXYsIHJlZyk7IFwKQEAgLTcyNiw2ICs3MzQsOCBAQCB2b2lkIGlu dGVsX3VuY29yZV9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCiAKIAlzZXR1cF90aW1lcigm ZGV2X3ByaXYtPnVuY29yZS5mb3JjZV93YWtlX3RpbWVyLAogCQkgICAgZ2VuNl9mb3JjZV93YWtl X3RpbWVyLCAodW5zaWduZWQgbG9uZylkZXZfcHJpdik7CisJc2V0dXBfdGltZXIoJmRldl9wcml2 LT51bmNvcmUuZm9yY2Vfd2FrZV90aW1lcl9yYXcsCisJCSAgICBnZW42X2ZvcmNlX3dha2VfdGlt ZXJfcmF3LCAodW5zaWduZWQgbG9uZylkZXZfcHJpdik7CiAKIAlpZiAoSVNfVkFMTEVZVklFVyhk ZXYpKSB7CiAJCWRldl9wcml2LT51bmNvcmUuZnVuY3MuZm9yY2Vfd2FrZV9nZXQgPSBfX3Zsdl9m b3JjZV93YWtlX2dldDsKLS0gCjEuOC41LjIKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3Rz LmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlz dGluZm8vaW50ZWwtZ2Z4Cg==