From mboxrd@z Thu Jan 1 00:00:00 1970 From: Bibby Hsieh Subject: [PATCH v4 01/11] drm/mediatek: add refcount for DPI power on/off Date: Tue, 2 Oct 2018 16:10:31 +0800 Message-ID: <20181002081041.32629-2-bibby.hsieh@mediatek.com> References: <20181002081041.32629-1-bibby.hsieh@mediatek.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20181002081041.32629-1-bibby.hsieh@mediatek.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: David Airlie , Matthias Brugger , Daniel Vetter , dri-devel@lists.freedesktop.org, linux-mediatek@lists.infradead.org Cc: chunhui dai , linux-kernel@vger.kernel.org, Cawa Cheng , Mao Huang , Thierry Reding , Yingjoe Chen , Sascha Hauer , linux-arm-kernel@lists.infradead.org List-Id: linux-mediatek@lists.infradead.org RnJvbTogY2h1bmh1aSBkYWkgPGNodW5odWkuZGFpQG1lZGlhdGVrLmNvbT4KCkFmdGVyIHRoZSBr ZXJuZWwgNC40LCB0aGUgRFJNIGRpc2FibGUgZmxvdyB3YXMgY2hhbmdlZCwgaWYgRFBJIHdhcwpk aXNhYmxlZWQgYmVmb3JlIENSVEMsIGl0IHdpbGwgY2F1c2Ugd2FybmluZyBtZXNzYWdlIGFzIGZv bGxvd2luZzoKCi0tLS0tLS0tLS0tLVsgY3V0IGhlcmUgXS0tLS0tLS0tLS0tLQpXQVJOSU5HOiBD UFU6IDAgUElEOiAxMzM5IGF0IC4uLy4uL2xpbnV4L2xpbnV4LTQuNC4yNC1tdGsvZHJpdmVycy9n cHUvZHJtL2RybV9pcnEuYzoxMzI2IGRybV93YWl0X29uZV92YmxhbmsrMHgxODgvMHgxOGMoKQp2 Ymxhbmsgd2FpdCB0aW1lZCBvdXQgb24gY3J0YyAwCk1vZHVsZXMgbGlua2VkIGluOiBicmlkZ2Ug bXQ4NTIxcF9pcl9zaGltKE8pIGkyY19lZXByb20oTykgbXRrX200KE8pIGZ1c2VfY3RybChPKSB2 aXJ0dWFsX2Jsb2NrKE8pIGNhYW1rZXlzKFBPKSBjaGsoUE8pIGFtcGVyY3RsKE8pIGxlZGN0bChP KSBhcHBsZV9hdXRoKFBPKSBtaWNjdGwoTykgc2Vuc29ycyhQTykgbGxhKE8pIHNkZChQTykgaWNl NDBfZnBnYShPKSBwc21vbihPKSBldmVudF9xdWV1ZShQTykgdXRpbHMoTykgYmxhY2tib3goTykK Q1BVOiAwIFBJRDogMTMzOSBDb21tOiBrd29ya2VyLzA6MSBUYWludGVkOiBQICAgICAgICBXICBP ICAgIDQuNC4yNCAjMQpIYXJkd2FyZSBuYW1lOiBNZWRpYXRlayBDb3J0ZXgtQTcgKERldmljZSBU cmVlKQpXb3JrcXVldWU6IGV2ZW50cyBkcm1fbW9kZV9ybWZiX3dvcmtfZm4KWzxjMDAxYTcxMD5d ICh1bndpbmRfYmFja3RyYWNlKSBmcm9tIFs8YzAwMTUxZTQ+XSAoc2hvd19zdGFjaysweDIwLzB4 MjQpCls8YzAwMTUxZTQ+XSAoc2hvd19zdGFjaykgZnJvbSBbPGMwMjc5NjFjPl0gKGR1bXBfc3Rh Y2srMHg5OC8weGFjKQpbPGMwMjc5NjFjPl0gKGR1bXBfc3RhY2spIGZyb20gWzxjMDAyYWM1ND5d ICh3YXJuX3Nsb3dwYXRoX2NvbW1vbisweDk0LzB4YzQpCls8YzAwMmFjNTQ+XSAod2Fybl9zbG93 cGF0aF9jb21tb24pIGZyb20gWzxjMDAyYWNjND5dICh3YXJuX3Nsb3dwYXRoX2ZtdCsweDQwLzB4 NDgpCls8YzAwMmFjYzQ+XSAod2Fybl9zbG93cGF0aF9mbXQpIGZyb20gWzxjMDMzMDdhYz5dIChk cm1fd2FpdF9vbmVfdmJsYW5rKzB4MTg4LzB4MThjKQpbPGMwMzMwN2FjPl0gKGRybV93YWl0X29u ZV92YmxhbmspIGZyb20gWzxjMDMzMDdkOD5dIChkcm1fY3J0Y193YWl0X29uZV92YmxhbmsrMHgy OC8weDJjKQpbPGMwMzMwN2Q4Pl0gKGRybV9jcnRjX3dhaXRfb25lX3ZibGFuaykgZnJvbSBbPGMw MzRmNDhjPl0gKG10a19kcm1fY3J0Y19kaXNhYmxlKzB4NzgvMHgyNDApCls8YzAzNGY0OGM+XSAo bXRrX2RybV9jcnRjX2Rpc2FibGUpIGZyb20gWzxjMDMyNDBkND5dIChkcm1fYXRvbWljX2hlbHBl cl9jb21taXRfbW9kZXNldF9kaXNhYmxlcysweDEyOC8weDNiOCkKWzxjMDMyNDBkND5dIChkcm1f YXRvbWljX2hlbHBlcl9jb21taXRfbW9kZXNldF9kaXNhYmxlcykgZnJvbSBbPGMwMzUwYTdjPl0g KG10a19hdG9taWNfY29tcGxldGUrMHg3NC8weGI0KQpbPGMwMzUwYTdjPl0gKG10a19hdG9taWNf Y29tcGxldGUpIGZyb20gWzxjMDM1MGIyND5dIChtdGtfYXRvbWljX2NvbW1pdCsweDY4LzB4OTgp Cls8YzAzNTBiMjQ+XSAobXRrX2F0b21pY19jb21taXQpIGZyb20gWzxjMDM0YWI0OD5dIChkcm1f YXRvbWljX2NvbW1pdCsweDU0LzB4NzQpCls8YzAzNGFiNDg+XSAoZHJtX2F0b21pY19jb21taXQp IGZyb20gWzxjMDMyNWM0Yz5dIChkcm1fYXRvbWljX2hlbHBlcl9zZXRfY29uZmlnKzB4N2MvMHhh MCkKWzxjMDMyNWM0Yz5dIChkcm1fYXRvbWljX2hlbHBlcl9zZXRfY29uZmlnKSBmcm9tIFs8YzAz Mzg1OTQ+XSAoZHJtX21vZGVfc2V0X2NvbmZpZ19pbnRlcm5hbCsweDY4LzB4ZTQpCls8YzAzMzg1 OTQ+XSAoZHJtX21vZGVfc2V0X2NvbmZpZ19pbnRlcm5hbCkgZnJvbSBbPGMwMzM5NjdjPl0gKGRy bV9mcmFtZWJ1ZmZlcl9yZW1vdmUrMHhlNC8weDEyMCkKWzxjMDMzOTY3Yz5dIChkcm1fZnJhbWVi dWZmZXJfcmVtb3ZlKSBmcm9tIFs8YzAzMzk3MDA+XSAoZHJtX21vZGVfcm1mYl93b3JrX2ZuKzB4 NDgvMHg1OCkKWzxjMDMzOTcwMD5dIChkcm1fbW9kZV9ybWZiX3dvcmtfZm4pIGZyb20gWzxjMDA0 M2EzOD5dIChwcm9jZXNzX29uZV93b3JrKzB4MTU0LzB4NTBjKQpbPGMwMDQzYTM4Pl0gKHByb2Nl c3Nfb25lX3dvcmspIGZyb20gWzxjMDA0NDA3ND5dICh3b3JrZXJfdGhyZWFkKzB4Mjg0LzB4NTY4 KQpbPGMwMDQ0MDc0Pl0gKHdvcmtlcl90aHJlYWQpIGZyb20gWzxjMDA0OWRjND5dIChrdGhyZWFk KzB4ZWMvMHgxMDQpCls8YzAwNDlkYzQ+XSAoa3RocmVhZCkgZnJvbSBbPGMwMDEwNjc4Pl0gKHJl dF9mcm9tX2ZvcmsrMHgxNC8weDNjKQotLS1bIGVuZCB0cmFjZSAxMmFlNTM1OGU5OTJhYmQ1IF0t LS0KCnNvLCB3ZSBhZGQgcmVmY291bnQgZm9yIERQSSBwb3dlciBvbi9vZmYgdG8gcHJvdGVjdCB0 aGUgZmxvdy4KClNpZ25lZC1vZmYtYnk6IEJpYmJ5IEhzaWVoIDxiaWJieS5oc2llaEBtZWRpYXRl ay5jb20+ClNpZ25lZC1vZmYtYnk6IGNodW5odWkgZGFpIDxjaHVuaHVpLmRhaUBtZWRpYXRlay5j b20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcGkuYyB8IDQzICsrKysrKysr KysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgMTMgaW5zZXJ0 aW9ucygrKSwgMzAgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21l ZGlhdGVrL210a19kcGkuYyBiL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHBpLmMKaW5k ZXggNmMwZWEzOWQ1NzM5Li41ZWRlMWRkYmFhMWEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9tZWRpYXRlay9tdGtfZHBpLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19k cGkuYwpAQCAtNzYsOCArNzYsNyBAQCBzdHJ1Y3QgbXRrX2RwaSB7CiAJZW51bSBtdGtfZHBpX291 dF95Y19tYXAgeWNfbWFwOwogCWVudW0gbXRrX2RwaV9vdXRfYml0X251bSBiaXRfbnVtOwogCWVu dW0gbXRrX2RwaV9vdXRfY2hhbm5lbF9zd2FwIGNoYW5uZWxfc3dhcDsKLQlib29sIHBvd2VyX3N0 YTsKLQl1OCBwb3dlcl9jdGw7CisJaW50IHJlZmNvdW50OwogfTsKIAogc3RhdGljIGlubGluZSBz dHJ1Y3QgbXRrX2RwaSAqbXRrX2RwaV9mcm9tX2VuY29kZXIoc3RydWN0IGRybV9lbmNvZGVyICpl KQpAQCAtOTAsMTEgKzg5LDYgQEAgZW51bSBtdGtfZHBpX3BvbGFyaXR5IHsKIAlNVEtfRFBJX1BP TEFSSVRZX0ZBTExJTkcsCiB9OwogCi1lbnVtIG10a19kcGlfcG93ZXJfY3RsIHsKLQlEUElfUE9X RVJfU1RBUlQgPSBCSVQoMCksCi0JRFBJX1BPV0VSX0VOQUJMRSA9IEJJVCgxKSwKLX07Ci0KIHN0 cnVjdCBtdGtfZHBpX3BvbGFyaXRpZXMgewogCWVudW0gbXRrX2RwaV9wb2xhcml0eSBkZV9wb2w7 CiAJZW51bSBtdGtfZHBpX3BvbGFyaXR5IGNrX3BvbDsKQEAgLTM2Nyw0MCArMzYxLDMwIEBAIHN0 YXRpYyB2b2lkIG10a19kcGlfY29uZmlnX2NvbG9yX2Zvcm1hdChzdHJ1Y3QgbXRrX2RwaSAqZHBp LAogCX0KIH0KIAotc3RhdGljIHZvaWQgbXRrX2RwaV9wb3dlcl9vZmYoc3RydWN0IG10a19kcGkg KmRwaSwgZW51bSBtdGtfZHBpX3Bvd2VyX2N0bCBwY3RsKQorc3RhdGljIHZvaWQgbXRrX2RwaV9w b3dlcl9vZmYoc3RydWN0IG10a19kcGkgKmRwaSkKIHsKLQlkcGktPnBvd2VyX2N0bCAmPSB+cGN0 bDsKLQotCWlmICgoZHBpLT5wb3dlcl9jdGwgJiBEUElfUE9XRVJfU1RBUlQpIHx8Ci0JICAgIChk cGktPnBvd2VyX2N0bCAmIERQSV9QT1dFUl9FTkFCTEUpKQorCWlmIChXQVJOX09OKGRwaS0+cmVm Y291bnQgPT0gMCkpCiAJCXJldHVybjsKIAotCWlmICghZHBpLT5wb3dlcl9zdGEpCisJaWYgKC0t ZHBpLT5yZWZjb3VudCAhPSAwKQogCQlyZXR1cm47CiAKIAltdGtfZHBpX2Rpc2FibGUoZHBpKTsK IAljbGtfZGlzYWJsZV91bnByZXBhcmUoZHBpLT5waXhlbF9jbGspOwogCWNsa19kaXNhYmxlX3Vu cHJlcGFyZShkcGktPmVuZ2luZV9jbGspOwotCWRwaS0+cG93ZXJfc3RhID0gZmFsc2U7CiB9CiAK LXN0YXRpYyBpbnQgbXRrX2RwaV9wb3dlcl9vbihzdHJ1Y3QgbXRrX2RwaSAqZHBpLCBlbnVtIG10 a19kcGlfcG93ZXJfY3RsIHBjdGwpCitzdGF0aWMgaW50IG10a19kcGlfcG93ZXJfb24oc3RydWN0 IG10a19kcGkgKmRwaSkKIHsKIAlpbnQgcmV0OwogCi0JZHBpLT5wb3dlcl9jdGwgfD0gcGN0bDsK LQotCWlmICghKGRwaS0+cG93ZXJfY3RsICYgRFBJX1BPV0VSX1NUQVJUKSAmJgotCSAgICAhKGRw aS0+cG93ZXJfY3RsICYgRFBJX1BPV0VSX0VOQUJMRSkpCi0JCXJldHVybiAwOwotCi0JaWYgKGRw aS0+cG93ZXJfc3RhKQorCWlmICgrK2RwaS0+cmVmY291bnQgIT0gMSkKIAkJcmV0dXJuIDA7CiAK IAlyZXQgPSBjbGtfcHJlcGFyZV9lbmFibGUoZHBpLT5lbmdpbmVfY2xrKTsKIAlpZiAocmV0KSB7 CiAJCWRldl9lcnIoZHBpLT5kZXYsICJGYWlsZWQgdG8gZW5hYmxlIGVuZ2luZSBjbG9jazogJWRc biIsIHJldCk7Ci0JCWdvdG8gZXJyX2VuZzsKKwkJZ290byBlcnJfcmVmY291bnQ7CiAJfQogCiAJ cmV0ID0gY2xrX3ByZXBhcmVfZW5hYmxlKGRwaS0+cGl4ZWxfY2xrKTsKQEAgLTQxMCwxMyArMzk0 LDEyIEBAIHN0YXRpYyBpbnQgbXRrX2RwaV9wb3dlcl9vbihzdHJ1Y3QgbXRrX2RwaSAqZHBpLCBl bnVtIG10a19kcGlfcG93ZXJfY3RsIHBjdGwpCiAJfQogCiAJbXRrX2RwaV9lbmFibGUoZHBpKTsK LQlkcGktPnBvd2VyX3N0YSA9IHRydWU7CiAJcmV0dXJuIDA7CiAKIGVycl9waXhlbDoKIAljbGtf ZGlzYWJsZV91bnByZXBhcmUoZHBpLT5lbmdpbmVfY2xrKTsKLWVycl9lbmc6Ci0JZHBpLT5wb3dl cl9jdGwgJj0gfnBjdGw7CitlcnJfcmVmY291bnQ6CisJZHBpLT5yZWZjb3VudC0tOwogCXJldHVy biByZXQ7CiB9CiAKQEAgLTU1MiwxNCArNTM1LDE0IEBAIHN0YXRpYyB2b2lkIG10a19kcGlfZW5j b2Rlcl9kaXNhYmxlKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlcikKIHsKIAlzdHJ1Y3QgbXRr X2RwaSAqZHBpID0gbXRrX2RwaV9mcm9tX2VuY29kZXIoZW5jb2Rlcik7CiAKLQltdGtfZHBpX3Bv d2VyX29mZihkcGksIERQSV9QT1dFUl9FTkFCTEUpOworCW10a19kcGlfcG93ZXJfb2ZmKGRwaSk7 CiB9CiAKIHN0YXRpYyB2b2lkIG10a19kcGlfZW5jb2Rlcl9lbmFibGUoc3RydWN0IGRybV9lbmNv ZGVyICplbmNvZGVyKQogewogCXN0cnVjdCBtdGtfZHBpICpkcGkgPSBtdGtfZHBpX2Zyb21fZW5j b2RlcihlbmNvZGVyKTsKIAotCW10a19kcGlfcG93ZXJfb24oZHBpLCBEUElfUE9XRVJfRU5BQkxF KTsKKwltdGtfZHBpX3Bvd2VyX29uKGRwaSk7CiAJbXRrX2RwaV9zZXRfZGlzcGxheV9tb2RlKGRw aSwgJmRwaS0+bW9kZSk7CiB9CiAKQEAgLTU4MiwxNCArNTY1LDE0IEBAIHN0YXRpYyB2b2lkIG10 a19kcGlfc3RhcnQoc3RydWN0IG10a19kZHBfY29tcCAqY29tcCkKIHsKIAlzdHJ1Y3QgbXRrX2Rw aSAqZHBpID0gY29udGFpbmVyX29mKGNvbXAsIHN0cnVjdCBtdGtfZHBpLCBkZHBfY29tcCk7CiAK LQltdGtfZHBpX3Bvd2VyX29uKGRwaSwgRFBJX1BPV0VSX1NUQVJUKTsKKwltdGtfZHBpX3Bvd2Vy X29uKGRwaSk7CiB9CiAKIHN0YXRpYyB2b2lkIG10a19kcGlfc3RvcChzdHJ1Y3QgbXRrX2RkcF9j b21wICpjb21wKQogewogCXN0cnVjdCBtdGtfZHBpICpkcGkgPSBjb250YWluZXJfb2YoY29tcCwg c3RydWN0IG10a19kcGksIGRkcF9jb21wKTsKIAotCW10a19kcGlfcG93ZXJfb2ZmKGRwaSwgRFBJ X1BPV0VSX1NUQVJUKTsKKwltdGtfZHBpX3Bvd2VyX29mZihkcGkpOwogfQogCiBzdGF0aWMgY29u c3Qgc3RydWN0IG10a19kZHBfY29tcF9mdW5jcyBtdGtfZHBpX2Z1bmNzID0gewotLSAKMi4xMi41 LjIuZ2JkZjIzYWIKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9y ZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZl bAo=