From mboxrd@z Thu Jan 1 00:00:00 1970 From: Inki Dae Subject: [PATCH v2 5/7] drm/exynos: add pm_runtime to FIMD Date: Tue, 03 Nov 2015 19:47:07 +0900 Message-ID: <1446547629-12521-6-git-send-email-inki.dae@samsung.com> References: <1446547629-12521-1-git-send-email-inki.dae@samsung.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-reply-to: <1446547629-12521-1-git-send-email-inki.dae@samsung.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org Cc: linux-samsung-soc@vger.kernel.org, Gustavo Padovan List-Id: linux-samsung-soc@vger.kernel.org RnJvbTogR3VzdGF2byBQYWRvdmFuIDxndXN0YXZvLnBhZG92YW5AY29sbGFib3JhLmNvLnVrPgoK TGV0IHBtX3J1bnRpbWUgaGFuZGxlIHRoZSBlbmFibGluZy9kaXNhYmxpbmcgb2YgdGhlIGRldmlj ZSB3aXRoIHByb3BlcgpyZWZjbnQgaW5zdGVhZCBvZiByZWx5IG9uIHNwZWNpZmljIGZsYWdzIHRv IHRyYWNrIHRoZSBlbmFibGVkIHN0YXRlLgoKQ2hhbmdlbG9nIHYyOgotIFJlbW92ZSB1bm5lY2Vz c2FyeSBjaGFuZ2VzIHdoaWNoIHJlbW92ZWQgY29tbWl0IGNhbGxiYWNrIGZyb20gZGVjb24gZHJp dmVycwogIGFuZCBtb2RpZnkgQ09ORklHX1BNX1NMRUVQIC0+IENPTkZJR19QTQoKU2lnbmVkLW9m Zi1ieTogR3VzdGF2byBQYWRvdmFuIDxndXN0YXZvLnBhZG92YW5AY29sbGFib3JhLmNvLnVrPgpT aWduZWQtb2ZmLWJ5OiBJbmtpIERhZSA8aW5raS5kYWVAc2Ftc3VuZy5jb20+Ci0tLQogZHJpdmVy cy9ncHUvZHJtL2V4eW5vcy9leHlub3NfZHJtX2ZpbWQuYyB8IDkxICsrKysrKysrKysrKystLS0t LS0tLS0tLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgMzcgaW5zZXJ0aW9ucygrKSwgNTQgZGVs ZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9leHlub3NfZHJt X2ZpbWQuYyBiL2RyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9zX2RybV9maW1kLmMKaW5kZXgg YmQ3NWMxNS4uYWU5NzI3MSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9leHlu b3NfZHJtX2ZpbWQuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vc19kcm1fZmlt ZC5jCkBAIC0xNjAsNyArMTYwLDYgQEAgc3RydWN0IGZpbWRfY29udGV4dCB7CiAJdTMyCQkJCXZp ZG91dF9jb247CiAJdTMyCQkJCWk4MGlmY29uOwogCWJvb2wJCQkJaTgwX2lmOwotCWJvb2wJCQkJ c3VzcGVuZGVkOwogCWludAkJCQlwaXBlOwogCXdhaXRfcXVldWVfaGVhZF90CQl3YWl0X3ZzeW5j X3F1ZXVlOwogCWF0b21pY190CQkJd2FpdF92c3luY19ldmVudDsKQEAgLTIwOSw5ICsyMDgsNiBA QCBzdGF0aWMgaW50IGZpbWRfZW5hYmxlX3ZibGFuayhzdHJ1Y3QgZXh5bm9zX2RybV9jcnRjICpj cnRjKQogCXN0cnVjdCBmaW1kX2NvbnRleHQgKmN0eCA9IGNydGMtPmN0eDsKIAl1MzIgdmFsOwog Ci0JaWYgKGN0eC0+c3VzcGVuZGVkKQotCQlyZXR1cm4gLUVQRVJNOwotCiAJaWYgKCF0ZXN0X2Fu ZF9zZXRfYml0KDAsICZjdHgtPmlycV9mbGFncykpIHsKIAkJdmFsID0gcmVhZGwoY3R4LT5yZWdz ICsgVklESU5UQ09OMCk7CiAKQEAgLTI0MSw5ICsyMzcsNiBAQCBzdGF0aWMgdm9pZCBmaW1kX2Rp c2FibGVfdmJsYW5rKHN0cnVjdCBleHlub3NfZHJtX2NydGMgKmNydGMpCiAJc3RydWN0IGZpbWRf Y29udGV4dCAqY3R4ID0gY3J0Yy0+Y3R4OwogCXUzMiB2YWw7CiAKLQlpZiAoY3R4LT5zdXNwZW5k ZWQpCi0JCXJldHVybjsKLQogCWlmICh0ZXN0X2FuZF9jbGVhcl9iaXQoMCwgJmN0eC0+aXJxX2Zs YWdzKSkgewogCQl2YWwgPSByZWFkbChjdHgtPnJlZ3MgKyBWSURJTlRDT04wKTsKIApAQCAtMjY0 LDkgKzI1Nyw2IEBAIHN0YXRpYyB2b2lkIGZpbWRfd2FpdF9mb3JfdmJsYW5rKHN0cnVjdCBleHlu b3NfZHJtX2NydGMgKmNydGMpCiB7CiAJc3RydWN0IGZpbWRfY29udGV4dCAqY3R4ID0gY3J0Yy0+ Y3R4OwogCi0JaWYgKGN0eC0+c3VzcGVuZGVkKQotCQlyZXR1cm47Ci0KIAlhdG9taWNfc2V0KCZj dHgtPndhaXRfdnN5bmNfZXZlbnQsIDEpOwogCiAJLyoKQEAgLTMzOSwxNCArMzI5LDEyIEBAIHN0 YXRpYyB2b2lkIGZpbWRfY2xlYXJfY2hhbm5lbHMoc3RydWN0IGV4eW5vc19kcm1fY3J0YyAqY3J0 YykKIAkJaW50IHBpcGUgPSBjdHgtPnBpcGU7CiAKIAkJLyogZW5zdXJlIHRoYXQgdmJsYW5rIGlu dGVycnVwdCB3b24ndCBiZSByZXBvcnRlZCB0byBjb3JlICovCi0JCWN0eC0+c3VzcGVuZGVkID0g ZmFsc2U7CiAJCWN0eC0+cGlwZSA9IC0xOwogCiAJCWZpbWRfZW5hYmxlX3ZibGFuayhjdHgtPmNy dGMpOwogCQlmaW1kX3dhaXRfZm9yX3ZibGFuayhjdHgtPmNydGMpOwogCQlmaW1kX2Rpc2FibGVf dmJsYW5rKGN0eC0+Y3J0Yyk7CiAKLQkJY3R4LT5zdXNwZW5kZWQgPSB0cnVlOwogCQljdHgtPnBp cGUgPSBwaXBlOwogCX0KIApAQCAtMzg0LDkgKzM3Miw2IEBAIHN0YXRpYyB2b2lkIGZpbWRfY29t bWl0KHN0cnVjdCBleHlub3NfZHJtX2NydGMgKmNydGMpCiAJdm9pZCAqdGltaW5nX2Jhc2UgPSBj dHgtPnJlZ3MgKyBkcml2ZXJfZGF0YS0+dGltaW5nX2Jhc2U7CiAJdTMyIHZhbCwgY2xrZGl2Owog Ci0JaWYgKGN0eC0+c3VzcGVuZGVkKQotCQlyZXR1cm47Ci0KIAkvKiBub3RoaW5nIHRvIGRvIGlm IHdlIGhhdmVuJ3Qgc2V0IHRoZSBtb2RlIHlldCAqLwogCWlmIChtb2RlLT5odG90YWwgPT0gMCB8 fCBtb2RlLT52dG90YWwgPT0gMCkKIAkJcmV0dXJuOwpAQCAtNjIwLDkgKzYwNSw2IEBAIHN0YXRp YyB2b2lkIGZpbWRfYXRvbWljX2JlZ2luKHN0cnVjdCBleHlub3NfZHJtX2NydGMgKmNydGMsCiB7 CiAJc3RydWN0IGZpbWRfY29udGV4dCAqY3R4ID0gY3J0Yy0+Y3R4OwogCi0JaWYgKGN0eC0+c3Vz cGVuZGVkKQotCQlyZXR1cm47Ci0KIAlmaW1kX3NoYWRvd19wcm90ZWN0X3dpbihjdHgsIHBsYW5l LT56cG9zLCB0cnVlKTsKIH0KIApAQCAtNjMxLDkgKzYxMyw2IEBAIHN0YXRpYyB2b2lkIGZpbWRf YXRvbWljX2ZsdXNoKHN0cnVjdCBleHlub3NfZHJtX2NydGMgKmNydGMsCiB7CiAJc3RydWN0IGZp bWRfY29udGV4dCAqY3R4ID0gY3J0Yy0+Y3R4OwogCi0JaWYgKGN0eC0+c3VzcGVuZGVkKQotCQly ZXR1cm47Ci0KIAlmaW1kX3NoYWRvd19wcm90ZWN0X3dpbihjdHgsIHBsYW5lLT56cG9zLCBmYWxz ZSk7CiB9CiAKQEAgLTY0OSw5ICs2MjgsNiBAQCBzdGF0aWMgdm9pZCBmaW1kX3VwZGF0ZV9wbGFu ZShzdHJ1Y3QgZXh5bm9zX2RybV9jcnRjICpjcnRjLAogCXVuc2lnbmVkIGludCBicHAgPSBzdGF0 ZS0+ZmItPmJpdHNfcGVyX3BpeGVsID4+IDM7CiAJdW5zaWduZWQgaW50IHBpdGNoID0gc3RhdGUt PmZiLT5waXRjaGVzWzBdOwogCi0JaWYgKGN0eC0+c3VzcGVuZGVkKQotCQlyZXR1cm47Ci0KIAlv ZmZzZXQgPSBwbGFuZS0+c3JjX3ggKiBicHA7CiAJb2Zmc2V0ICs9IHBsYW5lLT5zcmNfeSAqIHBp dGNoOwogCkBAIC03MzMsOSArNzA5LDYgQEAgc3RhdGljIHZvaWQgZmltZF9kaXNhYmxlX3BsYW5l KHN0cnVjdCBleHlub3NfZHJtX2NydGMgKmNydGMsCiAJc3RydWN0IGZpbWRfY29udGV4dCAqY3R4 ID0gY3J0Yy0+Y3R4OwogCXVuc2lnbmVkIGludCB3aW4gPSBwbGFuZS0+enBvczsKIAotCWlmIChj dHgtPnN1c3BlbmRlZCkKLQkJcmV0dXJuOwotCiAJZmltZF9lbmFibGVfdmlkZW9fb3V0cHV0KGN0 eCwgd2luLCBmYWxzZSk7CiAKIAlpZiAoY3R4LT5kcml2ZXJfZGF0YS0+aGFzX3NoYWRvd2NvbikK QEAgLTc0NSwyNyArNzE4LDkgQEAgc3RhdGljIHZvaWQgZmltZF9kaXNhYmxlX3BsYW5lKHN0cnVj dCBleHlub3NfZHJtX2NydGMgKmNydGMsCiBzdGF0aWMgdm9pZCBmaW1kX2VuYWJsZShzdHJ1Y3Qg ZXh5bm9zX2RybV9jcnRjICpjcnRjKQogewogCXN0cnVjdCBmaW1kX2NvbnRleHQgKmN0eCA9IGNy dGMtPmN0eDsKLQlpbnQgcmV0OwotCi0JaWYgKCFjdHgtPnN1c3BlbmRlZCkKLQkJcmV0dXJuOwot Ci0JY3R4LT5zdXNwZW5kZWQgPSBmYWxzZTsKIAogCXBtX3J1bnRpbWVfZ2V0X3N5bmMoY3R4LT5k ZXYpOwogCi0JcmV0ID0gY2xrX3ByZXBhcmVfZW5hYmxlKGN0eC0+YnVzX2Nsayk7Ci0JaWYgKHJl dCA8IDApIHsKLQkJRFJNX0VSUk9SKCJGYWlsZWQgdG8gcHJlcGFyZV9lbmFibGUgdGhlIGJ1cyBj bGsgWyVkXVxuIiwgcmV0KTsKLQkJcmV0dXJuOwotCX0KLQotCXJldCA9IGNsa19wcmVwYXJlX2Vu YWJsZShjdHgtPmxjZF9jbGspOwotCWlmICAocmV0IDwgMCkgewotCQlEUk1fRVJST1IoIkZhaWxl ZCB0byBwcmVwYXJlX2VuYWJsZSB0aGUgbGNkIGNsayBbJWRdXG4iLCByZXQpOwotCQlyZXR1cm47 Ci0JfQotCiAJLyogaWYgdmJsYW5rIHdhcyBlbmFibGVkIHN0YXR1cywgZW5hYmxlIGl0IGFnYWlu LiAqLwogCWlmICh0ZXN0X2FuZF9jbGVhcl9iaXQoMCwgJmN0eC0+aXJxX2ZsYWdzKSkKIAkJZmlt ZF9lbmFibGVfdmJsYW5rKGN0eC0+Y3J0Yyk7CkBAIC03NzgsOSArNzMzLDYgQEAgc3RhdGljIHZv aWQgZmltZF9kaXNhYmxlKHN0cnVjdCBleHlub3NfZHJtX2NydGMgKmNydGMpCiAJc3RydWN0IGZp bWRfY29udGV4dCAqY3R4ID0gY3J0Yy0+Y3R4OwogCWludCBpOwogCi0JaWYgKGN0eC0+c3VzcGVu ZGVkKQotCQlyZXR1cm47Ci0KIAkvKgogCSAqIFdlIG5lZWQgdG8gbWFrZSBzdXJlIHRoYXQgYWxs IHdpbmRvd3MgYXJlIGRpc2FibGVkIGJlZm9yZSB3ZQogCSAqIHN1c3BlbmQgdGhhdCBjb25uZWN0 b3IuIE90aGVyd2lzZSB3ZSBtaWdodCB0cnkgdG8gc2NhbiBmcm9tCkBAIC03OTUsMTIgKzc0Nyw3 IEBAIHN0YXRpYyB2b2lkIGZpbWRfZGlzYWJsZShzdHJ1Y3QgZXh5bm9zX2RybV9jcnRjICpjcnRj KQogCiAJd3JpdGVsKDAsIGN0eC0+cmVncyArIFZJRENPTjApOwogCi0JY2xrX2Rpc2FibGVfdW5w cmVwYXJlKGN0eC0+bGNkX2Nsayk7Ci0JY2xrX2Rpc2FibGVfdW5wcmVwYXJlKGN0eC0+YnVzX2Ns ayk7Ci0KIAlwbV9ydW50aW1lX3B1dF9zeW5jKGN0eC0+ZGV2KTsKLQotCWN0eC0+c3VzcGVuZGVk ID0gdHJ1ZTsKIH0KIAogc3RhdGljIHZvaWQgZmltZF90cmlnZ2VyKHN0cnVjdCBkZXZpY2UgKmRl dikKQEAgLTEwMTEsNyArOTU4LDYgQEAgc3RhdGljIGludCBmaW1kX3Byb2JlKHN0cnVjdCBwbGF0 Zm9ybV9kZXZpY2UgKnBkZXYpCiAJCXJldHVybiAtRU5PTUVNOwogCiAJY3R4LT5kZXYgPSBkZXY7 Ci0JY3R4LT5zdXNwZW5kZWQgPSB0cnVlOwogCWN0eC0+ZHJpdmVyX2RhdGEgPSBkcm1fZmltZF9n ZXRfZHJpdmVyX2RhdGEocGRldik7CiAKIAlpZiAob2ZfcHJvcGVydHlfcmVhZF9ib29sKGRldi0+ b2Zfbm9kZSwgInNhbXN1bmcsaW52ZXJ0LXZkZW4iKSkKQEAgLTExMjEsMTIgKzEwNjcsNDkgQEAg c3RhdGljIGludCBmaW1kX3JlbW92ZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQogCXJl dHVybiAwOwogfQogCisjaWZkZWYgQ09ORklHX1BNCitzdGF0aWMgaW50IGV4eW5vc19maW1kX3N1 c3BlbmQoc3RydWN0IGRldmljZSAqZGV2KQoreworCXN0cnVjdCBmaW1kX2NvbnRleHQgKmN0eCA9 IGRldl9nZXRfZHJ2ZGF0YShkZXYpOworCisJY2xrX2Rpc2FibGVfdW5wcmVwYXJlKGN0eC0+bGNk X2Nsayk7CisJY2xrX2Rpc2FibGVfdW5wcmVwYXJlKGN0eC0+YnVzX2Nsayk7CisKKwlyZXR1cm4g MDsKK30KKworc3RhdGljIGludCBleHlub3NfZmltZF9yZXN1bWUoc3RydWN0IGRldmljZSAqZGV2 KQoreworCXN0cnVjdCBmaW1kX2NvbnRleHQgKmN0eCA9IGRldl9nZXRfZHJ2ZGF0YShkZXYpOwor CWludCByZXQ7CisKKwlyZXQgPSBjbGtfcHJlcGFyZV9lbmFibGUoY3R4LT5idXNfY2xrKTsKKwlp ZiAocmV0IDwgMCkgeworCQlEUk1fRVJST1IoIkZhaWxlZCB0byBwcmVwYXJlX2VuYWJsZSB0aGUg YnVzIGNsayBbJWRdXG4iLCByZXQpOworCQlyZXR1cm4gcmV0OworCX0KKworCXJldCA9IGNsa19w cmVwYXJlX2VuYWJsZShjdHgtPmxjZF9jbGspOworCWlmICAocmV0IDwgMCkgeworCQlEUk1fRVJS T1IoIkZhaWxlZCB0byBwcmVwYXJlX2VuYWJsZSB0aGUgbGNkIGNsayBbJWRdXG4iLCByZXQpOwor CQlyZXR1cm4gcmV0OworCX0KKworCXJldHVybiAwOworfQorI2VuZGlmCisKK3N0YXRpYyBjb25z dCBzdHJ1Y3QgZGV2X3BtX29wcyBleHlub3NfZmltZF9wbV9vcHMgPSB7CisJU0VUX1JVTlRJTUVf UE1fT1BTKGV4eW5vc19maW1kX3N1c3BlbmQsIGV4eW5vc19maW1kX3Jlc3VtZSwgTlVMTCkKK307 CisKIHN0cnVjdCBwbGF0Zm9ybV9kcml2ZXIgZmltZF9kcml2ZXIgPSB7CiAJLnByb2JlCQk9IGZp bWRfcHJvYmUsCiAJLnJlbW92ZQkJPSBmaW1kX3JlbW92ZSwKIAkuZHJpdmVyCQk9IHsKIAkJLm5h bWUJPSAiZXh5bm9zNC1mYiIsCiAJCS5vd25lcgk9IFRISVNfTU9EVUxFLAorCQkucG0JPSAmZXh5 bm9zX2ZpbWRfcG1fb3BzLAogCQkub2ZfbWF0Y2hfdGFibGUgPSBmaW1kX2RyaXZlcl9kdF9tYXRj aCwKIAl9LAogfTsKLS0gCjEuOS4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVl ZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZv L2RyaS1kZXZlbAo=