From mboxrd@z Thu Jan 1 00:00:00 1970 From: Inki Dae Subject: [PATCH v2 4/7] drm/exynos: add pm_runtime to Mixer Date: Tue, 03 Nov 2015 19:47:06 +0900 Message-ID: <1446547629-12521-5-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 IHRyYWNrIHRoZSBlbmFibGVkIHN0YXRlLgoKU2lnbmVkLW9mZi1ieTogR3VzdGF2byBQYWRvdmFu IDxndXN0YXZvLnBhZG92YW5AY29sbGFib3JhLmNvLnVrPgpTaWduZWQtb2ZmLWJ5OiBJbmtpIERh ZSA8aW5raS5kYWVAc2Ftc3VuZy5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9leHlu b3NfbWl4ZXIuYyB8IDEyNSArKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tCiAxIGZp bGUgY2hhbmdlZCwgNjEgaW5zZXJ0aW9ucygrKSwgNjQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9leHlub3NfbWl4ZXIuYyBiL2RyaXZlcnMvZ3B1L2Ry bS9leHlub3MvZXh5bm9zX21peGVyLmMKaW5kZXggZDA5ZjhmOS4uNzQ5OGM2ZSAxMDA2NDQKLS0t IGEvZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9leHlub3NfbWl4ZXIuYworKysgYi9kcml2ZXJzL2dw dS9kcm0vZXh5bm9zL2V4eW5vc19taXhlci5jCkBAIC03MCw3ICs3MCw2IEBAIGVudW0gbWl4ZXJf dmVyc2lvbl9pZCB7CiB9OwogCiBlbnVtIG1peGVyX2ZsYWdfYml0cyB7Ci0JTVhSX0JJVF9QT1dF UkVELAogCU1YUl9CSVRfVlNZTkMsCiB9OwogCkBAIC05MjYsOCArOTI1LDYgQEAgc3RhdGljIGlu dCBtaXhlcl9lbmFibGVfdmJsYW5rKHN0cnVjdCBleHlub3NfZHJtX2NydGMgKmNydGMpCiAJc3Ry dWN0IG1peGVyX3Jlc291cmNlcyAqcmVzID0gJm1peGVyX2N0eC0+bWl4ZXJfcmVzOwogCiAJX19z ZXRfYml0KE1YUl9CSVRfVlNZTkMsICZtaXhlcl9jdHgtPmZsYWdzKTsKLQlpZiAoIXRlc3RfYml0 KE1YUl9CSVRfUE9XRVJFRCwgJm1peGVyX2N0eC0+ZmxhZ3MpKQotCQlyZXR1cm4gMDsKIAogCS8q IGVuYWJsZSB2c3luYyBpbnRlcnJ1cHQgKi8KIAltaXhlcl9yZWdfd3JpdGVtYXNrKHJlcywgTVhS X0lOVF9TVEFUVVMsIH4wLCBNWFJfSU5UX0NMRUFSX1ZTWU5DKTsKQEAgLTk0Myw5ICs5NDAsNiBA QCBzdGF0aWMgdm9pZCBtaXhlcl9kaXNhYmxlX3ZibGFuayhzdHJ1Y3QgZXh5bm9zX2RybV9jcnRj ICpjcnRjKQogCiAJX19jbGVhcl9iaXQoTVhSX0JJVF9WU1lOQywgJm1peGVyX2N0eC0+ZmxhZ3Mp OwogCi0JaWYgKCF0ZXN0X2JpdChNWFJfQklUX1BPV0VSRUQsICZtaXhlcl9jdHgtPmZsYWdzKSkK LQkJcmV0dXJuOwotCiAJLyogZGlzYWJsZSB2c3luYyBpbnRlcnJ1cHQgKi8KIAltaXhlcl9yZWdf d3JpdGVtYXNrKHJlcywgTVhSX0lOVF9TVEFUVVMsIH4wLCBNWFJfSU5UX0NMRUFSX1ZTWU5DKTsK IAltaXhlcl9yZWdfd3JpdGVtYXNrKHJlcywgTVhSX0lOVF9FTiwgMCwgTVhSX0lOVF9FTl9WU1lO Qyk7CkBAIC05NTgsOSArOTUyLDYgQEAgc3RhdGljIHZvaWQgbWl4ZXJfdXBkYXRlX3BsYW5lKHN0 cnVjdCBleHlub3NfZHJtX2NydGMgKmNydGMsCiAKIAlEUk1fREVCVUdfS01TKCJ3aW46ICVkXG4i LCBwbGFuZS0+enBvcyk7CiAKLQlpZiAoIXRlc3RfYml0KE1YUl9CSVRfUE9XRVJFRCwgJm1peGVy X2N0eC0+ZmxhZ3MpKQotCQlyZXR1cm47Ci0KIAlpZiAocGxhbmUtPnpwb3MgPiAxICYmIG1peGVy X2N0eC0+dnBfZW5hYmxlZCkKIAkJdnBfdmlkZW9fYnVmZmVyKG1peGVyX2N0eCwgcGxhbmUpOwog CWVsc2UKQEAgLTk3Niw5ICs5NjcsNiBAQCBzdGF0aWMgdm9pZCBtaXhlcl9kaXNhYmxlX3BsYW5l KHN0cnVjdCBleHlub3NfZHJtX2NydGMgKmNydGMsCiAKIAlEUk1fREVCVUdfS01TKCJ3aW46ICVk XG4iLCBwbGFuZS0+enBvcyk7CiAKLQlpZiAoIXRlc3RfYml0KE1YUl9CSVRfUE9XRVJFRCwgJm1p eGVyX2N0eC0+ZmxhZ3MpKQotCQlyZXR1cm47Ci0KIAlzcGluX2xvY2tfaXJxc2F2ZSgmcmVzLT5y ZWdfc2xvY2ssIGZsYWdzKTsKIAltaXhlcl92c3luY19zZXRfdXBkYXRlKG1peGVyX2N0eCwgZmFs c2UpOwogCkBAIC05OTMsOSArOTgxLDYgQEAgc3RhdGljIHZvaWQgbWl4ZXJfd2FpdF9mb3JfdmJs YW5rKHN0cnVjdCBleHlub3NfZHJtX2NydGMgKmNydGMpCiAJc3RydWN0IG1peGVyX2NvbnRleHQg Km1peGVyX2N0eCA9IGNydGMtPmN0eDsKIAlpbnQgZXJyOwogCi0JaWYgKCF0ZXN0X2JpdChNWFJf QklUX1BPV0VSRUQsICZtaXhlcl9jdHgtPmZsYWdzKSkKLQkJcmV0dXJuOwotCiAJZXJyID0gZHJt X3ZibGFua19nZXQobWl4ZXJfY3R4LT5kcm1fZGV2LCBtaXhlcl9jdHgtPnBpcGUpOwogCWlmIChl cnIgPCAwKSB7CiAJCURSTV9ERUJVR19LTVMoImZhaWxlZCB0byBhY3F1aXJlIHZibGFuayBjb3Vu dGVyXG4iKTsKQEAgLTEwMjAsNDMgKzEwMDUsOSBAQCBzdGF0aWMgdm9pZCBtaXhlcl9lbmFibGUo c3RydWN0IGV4eW5vc19kcm1fY3J0YyAqY3J0YykKIHsKIAlzdHJ1Y3QgbWl4ZXJfY29udGV4dCAq Y3R4ID0gY3J0Yy0+Y3R4OwogCXN0cnVjdCBtaXhlcl9yZXNvdXJjZXMgKnJlcyA9ICZjdHgtPm1p eGVyX3JlczsKLQlpbnQgcmV0OwotCi0JaWYgKHRlc3RfYml0KE1YUl9CSVRfUE9XRVJFRCwgJmN0 eC0+ZmxhZ3MpKQotCQlyZXR1cm47CiAKIAlwbV9ydW50aW1lX2dldF9zeW5jKGN0eC0+ZGV2KTsK IAotCXJldCA9IGNsa19wcmVwYXJlX2VuYWJsZShyZXMtPm1peGVyKTsKLQlpZiAocmV0IDwgMCkg ewotCQlEUk1fRVJST1IoIkZhaWxlZCB0byBwcmVwYXJlX2VuYWJsZSB0aGUgbWl4ZXIgY2xrIFsl ZF1cbiIsIHJldCk7Ci0JCXJldHVybjsKLQl9Ci0JcmV0ID0gY2xrX3ByZXBhcmVfZW5hYmxlKHJl cy0+aGRtaSk7Ci0JaWYgKHJldCA8IDApIHsKLQkJRFJNX0VSUk9SKCJGYWlsZWQgdG8gcHJlcGFy ZV9lbmFibGUgdGhlIGhkbWkgY2xrIFslZF1cbiIsIHJldCk7Ci0JCXJldHVybjsKLQl9Ci0JaWYg KGN0eC0+dnBfZW5hYmxlZCkgewotCQlyZXQgPSBjbGtfcHJlcGFyZV9lbmFibGUocmVzLT52cCk7 Ci0JCWlmIChyZXQgPCAwKSB7Ci0JCQlEUk1fRVJST1IoIkZhaWxlZCB0byBwcmVwYXJlX2VuYWJs ZSB0aGUgdnAgY2xrIFslZF1cbiIsCi0JCQkJICByZXQpOwotCQkJcmV0dXJuOwotCQl9Ci0JCWlm IChjdHgtPmhhc19zY2xrKSB7Ci0JCQlyZXQgPSBjbGtfcHJlcGFyZV9lbmFibGUocmVzLT5zY2xr X21peGVyKTsKLQkJCWlmIChyZXQgPCAwKSB7Ci0JCQkJRFJNX0VSUk9SKCJGYWlsZWQgdG8gcHJl cGFyZV9lbmFibGUgdGhlICIgXAotCQkJCQkgICAic2Nsa19taXhlciBjbGsgWyVkXVxuIiwKLQkJ CQkJICByZXQpOwotCQkJCXJldHVybjsKLQkJCX0KLQkJfQotCX0KLQotCXNldF9iaXQoTVhSX0JJ VF9QT1dFUkVELCAmY3R4LT5mbGFncyk7Ci0KIAltaXhlcl9yZWdfd3JpdGVtYXNrKHJlcywgTVhS X1NUQVRVUywgfjAsIE1YUl9TVEFUVVNfU09GVF9SRVNFVCk7CiAKIAlpZiAodGVzdF9iaXQoTVhS X0JJVF9WU1lOQywgJmN0eC0+ZmxhZ3MpKSB7CkBAIC0xMDY5LDI5ICsxMDIwLDE1IEBAIHN0YXRp YyB2b2lkIG1peGVyX2VuYWJsZShzdHJ1Y3QgZXh5bm9zX2RybV9jcnRjICpjcnRjKQogc3RhdGlj IHZvaWQgbWl4ZXJfZGlzYWJsZShzdHJ1Y3QgZXh5bm9zX2RybV9jcnRjICpjcnRjKQogewogCXN0 cnVjdCBtaXhlcl9jb250ZXh0ICpjdHggPSBjcnRjLT5jdHg7Ci0Jc3RydWN0IG1peGVyX3Jlc291 cmNlcyAqcmVzID0gJmN0eC0+bWl4ZXJfcmVzOwogCWludCBpOwogCi0JaWYgKCF0ZXN0X2JpdChN WFJfQklUX1BPV0VSRUQsICZjdHgtPmZsYWdzKSkKLQkJcmV0dXJuOwotCiAJbWl4ZXJfc3RvcChj dHgpOwogCW1peGVyX3JlZ3NfZHVtcChjdHgpOwogCiAJZm9yIChpID0gMDsgaSA8IE1JWEVSX1dJ Tl9OUjsgaSsrKQogCQltaXhlcl9kaXNhYmxlX3BsYW5lKGNydGMsICZjdHgtPnBsYW5lc1tpXSk7 CiAKLQljbGVhcl9iaXQoTVhSX0JJVF9QT1dFUkVELCAmY3R4LT5mbGFncyk7Ci0KLQljbGtfZGlz YWJsZV91bnByZXBhcmUocmVzLT5oZG1pKTsKLQljbGtfZGlzYWJsZV91bnByZXBhcmUocmVzLT5t aXhlcik7Ci0JaWYgKGN0eC0+dnBfZW5hYmxlZCkgewotCQljbGtfZGlzYWJsZV91bnByZXBhcmUo cmVzLT52cCk7Ci0JCWlmIChjdHgtPmhhc19zY2xrKQotCQkJY2xrX2Rpc2FibGVfdW5wcmVwYXJl KHJlcy0+c2Nsa19taXhlcik7Ci0JfQotCi0JcG1fcnVudGltZV9wdXRfc3luYyhjdHgtPmRldik7 CisJcG1fcnVudGltZV9wdXQoY3R4LT5kZXYpOwogfQogCiAvKiBPbmx5IHZhbGlkIGZvciBNaXhl ciB2ZXJzaW9uIDE2LjAuMzMuMCAqLwpAQCAtMTI5MywxMCArMTIzMCw3MCBAQCBzdGF0aWMgaW50 IG1peGVyX3JlbW92ZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQogCXJldHVybiAwOwog fQogCisjaWZkZWYgQ09ORklHX1BNX1NMRUVQCitzdGF0aWMgaW50IGV4eW5vc19taXhlcl9zdXNw ZW5kKHN0cnVjdCBkZXZpY2UgKmRldikKK3sKKwlzdHJ1Y3QgbWl4ZXJfY29udGV4dCAqY3R4ID0g ZGV2X2dldF9kcnZkYXRhKGRldik7CisJc3RydWN0IG1peGVyX3Jlc291cmNlcyAqcmVzID0gJmN0 eC0+bWl4ZXJfcmVzOworCisJY2xrX2Rpc2FibGVfdW5wcmVwYXJlKHJlcy0+aGRtaSk7CisJY2xr X2Rpc2FibGVfdW5wcmVwYXJlKHJlcy0+bWl4ZXIpOworCWlmIChjdHgtPnZwX2VuYWJsZWQpIHsK KwkJY2xrX2Rpc2FibGVfdW5wcmVwYXJlKHJlcy0+dnApOworCQlpZiAoY3R4LT5oYXNfc2NsaykK KwkJCWNsa19kaXNhYmxlX3VucHJlcGFyZShyZXMtPnNjbGtfbWl4ZXIpOworCX0KKworCXJldHVy biAwOworfQorCitzdGF0aWMgaW50IGV4eW5vc19taXhlcl9yZXN1bWUoc3RydWN0IGRldmljZSAq ZGV2KQoreworCXN0cnVjdCBtaXhlcl9jb250ZXh0ICpjdHggPSBkZXZfZ2V0X2RydmRhdGEoZGV2 KTsKKwlzdHJ1Y3QgbWl4ZXJfcmVzb3VyY2VzICpyZXMgPSAmY3R4LT5taXhlcl9yZXM7CisJaW50 IHJldDsKKworCXJldCA9IGNsa19wcmVwYXJlX2VuYWJsZShyZXMtPm1peGVyKTsKKwlpZiAocmV0 IDwgMCkgeworCQlEUk1fRVJST1IoIkZhaWxlZCB0byBwcmVwYXJlX2VuYWJsZSB0aGUgbWl4ZXIg Y2xrIFslZF1cbiIsIHJldCk7CisJCXJldHVybiByZXQ7CisJfQorCXJldCA9IGNsa19wcmVwYXJl X2VuYWJsZShyZXMtPmhkbWkpOworCWlmIChyZXQgPCAwKSB7CisJCURSTV9FUlJPUigiRmFpbGVk IHRvIHByZXBhcmVfZW5hYmxlIHRoZSBoZG1pIGNsayBbJWRdXG4iLCByZXQpOworCQlyZXR1cm4g cmV0OworCX0KKwlpZiAoY3R4LT52cF9lbmFibGVkKSB7CisJCXJldCA9IGNsa19wcmVwYXJlX2Vu YWJsZShyZXMtPnZwKTsKKwkJaWYgKHJldCA8IDApIHsKKwkJCURSTV9FUlJPUigiRmFpbGVkIHRv IHByZXBhcmVfZW5hYmxlIHRoZSB2cCBjbGsgWyVkXVxuIiwKKwkJCQkgIHJldCk7CisJCQlyZXR1 cm4gcmV0OworCQl9CisJCWlmIChjdHgtPmhhc19zY2xrKSB7CisJCQlyZXQgPSBjbGtfcHJlcGFy ZV9lbmFibGUocmVzLT5zY2xrX21peGVyKTsKKwkJCWlmIChyZXQgPCAwKSB7CisJCQkJRFJNX0VS Uk9SKCJGYWlsZWQgdG8gcHJlcGFyZV9lbmFibGUgdGhlICIgXAorCQkJCQkgICAic2Nsa19taXhl ciBjbGsgWyVkXVxuIiwKKwkJCQkJICByZXQpOworCQkJCXJldHVybiByZXQ7CisJCQl9CisJCX0K Kwl9CisKKwlyZXR1cm4gMDsKK30KKyNlbmRpZgorCitzdGF0aWMgY29uc3Qgc3RydWN0IGRldl9w bV9vcHMgZXh5bm9zX21peGVyX3BtX29wcyA9IHsKKwlTRVRfUlVOVElNRV9QTV9PUFMoZXh5bm9z X21peGVyX3N1c3BlbmQsIGV4eW5vc19taXhlcl9yZXN1bWUsIE5VTEwpCit9OworCiBzdHJ1Y3Qg cGxhdGZvcm1fZHJpdmVyIG1peGVyX2RyaXZlciA9IHsKIAkuZHJpdmVyID0gewogCQkubmFtZSA9 ICJleHlub3MtbWl4ZXIiLAogCQkub3duZXIgPSBUSElTX01PRFVMRSwKKwkJLnBtID0gJmV4eW5v c19taXhlcl9wbV9vcHMsCiAJCS5vZl9tYXRjaF90YWJsZSA9IG1peGVyX21hdGNoX3R5cGVzLAog CX0sCiAJLnByb2JlID0gbWl4ZXJfcHJvYmUsCi0tIAoxLjkuMQoKX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmkt ZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcv bWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK