From mboxrd@z Thu Jan 1 00:00:00 1970 From: Hai Li Subject: [PATCH v2] drm/msm: Enable clocks during enable/disable_vblank() callbacks Date: Mon, 27 Jul 2015 13:49:45 -0400 Message-ID: <1438019385-12969-1-git-send-email-hali@codeaurora.org> References: <1436561506-13328-1-git-send-email-hali@codeaurora.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1436561506-13328-1-git-send-email-hali@codeaurora.org> 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-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org List-Id: linux-arm-msm@vger.kernel.org QUhCIGNsb2NrIHNob3VsZCBiZSBlbmFibGVkIGJlZm9yZSBhY2Nlc3NpbmcgcmVnaXN0ZXJzIGR1 cmluZwplbmFibGUvZGlzYWJsZV92YmxhbmsoKS4gU2luY2UgdGhlc2UgMiBjYWxsYmFja3MgYXJl IGNhbGxlZCBpbgphdG9taWMgY29udGV4dCB3aGlsZSBjbGtfcHJlcGFyZSBtYXkgY2F1c2UgdGhy ZWFkIHNsZWVwLCBhIHdvcmsKaXMgc2NoZWR1bGVkIHRvIGNvbnRyb2wgdmJsYW5rcy4KCnYyOiBm aXh1cCBzcGlubG9jayBpbml0aWFsaXphdGlvbgoKU2lnbmVkLW9mZi1ieTogSGFpIExpIDxoYWxp QGNvZGVhdXJvcmEub3JnPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9tc20vbWRwL21kcDQvbWRwNF9p cnEuYyB8ICA5ICsrKysKIGRyaXZlcnMvZ3B1L2RybS9tc20vbWRwL21kcDUvbWRwNV9pcnEuYyB8 ICA5ICsrKysKIGRyaXZlcnMvZ3B1L2RybS9tc20vbXNtX2Rydi5jICAgICAgICAgICB8IDc0ICsr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLQogZHJpdmVycy9ncHUvZHJtL21zbS9tc21f ZHJ2LmggICAgICAgICAgIHwgIDggKysrKwogNCBmaWxlcyBjaGFuZ2VkLCA5OCBpbnNlcnRpb25z KCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tc20vbWRw L21kcDQvbWRwNF9pcnEuYyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vbWRwL21kcDQvbWRwNF9pcnEu YwppbmRleCA3MzY5ZWU3Zi4uNjRkMjRmYyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL21z bS9tZHAvbWRwNC9tZHA0X2lycS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vbWRwL21kcDQv bWRwNF9pcnEuYwpAQCAtODYsMTMgKzg2LDIyIEBAIGlycXJldHVybl90IG1kcDRfaXJxKHN0cnVj dCBtc21fa21zICprbXMpCiAKIGludCBtZHA0X2VuYWJsZV92Ymxhbmsoc3RydWN0IG1zbV9rbXMg Kmttcywgc3RydWN0IGRybV9jcnRjICpjcnRjKQogeworCXN0cnVjdCBtZHA0X2ttcyAqbWRwNF9r bXMgPSB0b19tZHA0X2ttcyh0b19tZHBfa21zKGttcykpOworCisJbWRwNF9lbmFibGUobWRwNF9r bXMpOwogCW1kcF91cGRhdGVfdmJsYW5rX21hc2sodG9fbWRwX2ttcyhrbXMpLAogCQkJbWRwNF9j cnRjX3ZibGFuayhjcnRjKSwgdHJ1ZSk7CisJbWRwNF9kaXNhYmxlKG1kcDRfa21zKTsKKwogCXJl dHVybiAwOwogfQogCiB2b2lkIG1kcDRfZGlzYWJsZV92Ymxhbmsoc3RydWN0IG1zbV9rbXMgKmtt cywgc3RydWN0IGRybV9jcnRjICpjcnRjKQogeworCXN0cnVjdCBtZHA0X2ttcyAqbWRwNF9rbXMg PSB0b19tZHA0X2ttcyh0b19tZHBfa21zKGttcykpOworCisJbWRwNF9lbmFibGUobWRwNF9rbXMp OwogCW1kcF91cGRhdGVfdmJsYW5rX21hc2sodG9fbWRwX2ttcyhrbXMpLAogCQkJbWRwNF9jcnRj X3ZibGFuayhjcnRjKSwgZmFsc2UpOworCW1kcDRfZGlzYWJsZShtZHA0X2ttcyk7CiB9CmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL21kcC9tZHA1L21kcDVfaXJxLmMgYi9kcml2ZXJz L2dwdS9kcm0vbXNtL21kcC9tZHA1L21kcDVfaXJxLmMKaW5kZXggMzNiZDRjNi4uMmE1NzhmMiAx MDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9tZHAvbWRwNS9tZHA1X2lycS5jCisrKyBi L2RyaXZlcnMvZ3B1L2RybS9tc20vbWRwL21kcDUvbWRwNV9pcnEuYwpAQCAtMTEyLDE1ICsxMTIs MjQgQEAgaXJxcmV0dXJuX3QgbWRwNV9pcnEoc3RydWN0IG1zbV9rbXMgKmttcykKIAogaW50IG1k cDVfZW5hYmxlX3ZibGFuayhzdHJ1Y3QgbXNtX2ttcyAqa21zLCBzdHJ1Y3QgZHJtX2NydGMgKmNy dGMpCiB7CisJc3RydWN0IG1kcDVfa21zICptZHA1X2ttcyA9IHRvX21kcDVfa21zKHRvX21kcF9r bXMoa21zKSk7CisKKwltZHA1X2VuYWJsZShtZHA1X2ttcyk7CiAJbWRwX3VwZGF0ZV92Ymxhbmtf bWFzayh0b19tZHBfa21zKGttcyksCiAJCQltZHA1X2NydGNfdmJsYW5rKGNydGMpLCB0cnVlKTsK KwltZHA1X2Rpc2FibGUobWRwNV9rbXMpOworCiAJcmV0dXJuIDA7CiB9CiAKIHZvaWQgbWRwNV9k aXNhYmxlX3ZibGFuayhzdHJ1Y3QgbXNtX2ttcyAqa21zLCBzdHJ1Y3QgZHJtX2NydGMgKmNydGMp CiB7CisJc3RydWN0IG1kcDVfa21zICptZHA1X2ttcyA9IHRvX21kcDVfa21zKHRvX21kcF9rbXMo a21zKSk7CisKKwltZHA1X2VuYWJsZShtZHA1X2ttcyk7CiAJbWRwX3VwZGF0ZV92YmxhbmtfbWFz ayh0b19tZHBfa21zKGttcyksCiAJCQltZHA1X2NydGNfdmJsYW5rKGNydGMpLCBmYWxzZSk7CisJ bWRwNV9kaXNhYmxlKG1kcDVfa21zKTsKIH0KIAogLyoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9tc20vbXNtX2Rydi5jIGIvZHJpdmVycy9ncHUvZHJtL21zbS9tc21fZHJ2LmMKaW5kZXgg YjdlZjU2ZS4uMGM0N2MyZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9tc21fZHJ2 LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9tc21fZHJ2LmMKQEAgLTExNiw2ICsxMTYsNjUg QEAgdTMyIG1zbV9yZWFkbChjb25zdCB2b2lkIF9faW9tZW0gKmFkZHIpCiAJcmV0dXJuIHZhbDsK IH0KIAorc3RydWN0IHZibGFua19ldmVudCB7CisJc3RydWN0IGxpc3RfaGVhZCBub2RlOworCWlu dCBjcnRjX2lkOworCWJvb2wgZW5hYmxlOworfTsKKworc3RhdGljIHZvaWQgdmJsYW5rX2N0cmxf d29ya2VyKHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yaykKK3sKKwlzdHJ1Y3QgbXNtX3ZibGFua19j dHJsICp2YmxfY3RybCA9IGNvbnRhaW5lcl9vZih3b3JrLAorCQkJCQkJc3RydWN0IG1zbV92Ymxh bmtfY3RybCwgd29yayk7CisJc3RydWN0IG1zbV9kcm1fcHJpdmF0ZSAqcHJpdiA9IGNvbnRhaW5l cl9vZih2YmxfY3RybCwKKwkJCQkJc3RydWN0IG1zbV9kcm1fcHJpdmF0ZSwgdmJsYW5rX2N0cmwp OworCXN0cnVjdCBtc21fa21zICprbXMgPSBwcml2LT5rbXM7CisJc3RydWN0IHZibGFua19ldmVu dCAqdmJsX2V2LCAqdG1wOworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisKKwlzcGluX2xvY2tfaXJx c2F2ZSgmdmJsX2N0cmwtPmxvY2ssIGZsYWdzKTsKKwlsaXN0X2Zvcl9lYWNoX2VudHJ5X3NhZmUo dmJsX2V2LCB0bXAsICZ2YmxfY3RybC0+ZXZlbnRfbGlzdCwgbm9kZSkgeworCQlsaXN0X2RlbCgm dmJsX2V2LT5ub2RlKTsKKwkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmdmJsX2N0cmwtPmxvY2ss IGZsYWdzKTsKKworCQlpZiAodmJsX2V2LT5lbmFibGUpCisJCQlrbXMtPmZ1bmNzLT5lbmFibGVf dmJsYW5rKGttcywKKwkJCQkJCXByaXYtPmNydGNzW3ZibF9ldi0+Y3J0Y19pZF0pOworCQllbHNl CisJCQlrbXMtPmZ1bmNzLT5kaXNhYmxlX3ZibGFuayhrbXMsCisJCQkJCQlwcml2LT5jcnRjc1t2 YmxfZXYtPmNydGNfaWRdKTsKKworCQlrZnJlZSh2YmxfZXYpOworCisJCXNwaW5fbG9ja19pcnFz YXZlKCZ2YmxfY3RybC0+bG9jaywgZmxhZ3MpOworCX0KKworCXNwaW5fdW5sb2NrX2lycXJlc3Rv cmUoJnZibF9jdHJsLT5sb2NrLCBmbGFncyk7Cit9CisKK3N0YXRpYyBpbnQgdmJsYW5rX2N0cmxf cXVldWVfd29yayhzdHJ1Y3QgbXNtX2RybV9wcml2YXRlICpwcml2LAorCQkJCQlpbnQgY3J0Y19p ZCwgYm9vbCBlbmFibGUpCit7CisJc3RydWN0IG1zbV92YmxhbmtfY3RybCAqdmJsX2N0cmwgPSAm cHJpdi0+dmJsYW5rX2N0cmw7CisJc3RydWN0IHZibGFua19ldmVudCAqdmJsX2V2OworCXVuc2ln bmVkIGxvbmcgZmxhZ3M7CisKKwl2YmxfZXYgPSBremFsbG9jKHNpemVvZigqdmJsX2V2KSwgR0ZQ X0FUT01JQyk7CisJaWYgKCF2YmxfZXYpCisJCXJldHVybiAtRU5PTUVNOworCisJdmJsX2V2LT5j cnRjX2lkID0gY3J0Y19pZDsKKwl2YmxfZXYtPmVuYWJsZSA9IGVuYWJsZTsKKworCXNwaW5fbG9j a19pcnFzYXZlKCZ2YmxfY3RybC0+bG9jaywgZmxhZ3MpOworCWxpc3RfYWRkX3RhaWwoJnZibF9l di0+bm9kZSwgJnZibF9jdHJsLT5ldmVudF9saXN0KTsKKwlzcGluX3VubG9ja19pcnFyZXN0b3Jl KCZ2YmxfY3RybC0+bG9jaywgZmxhZ3MpOworCisJcXVldWVfd29yayhwcml2LT53cSwgJnZibF9j dHJsLT53b3JrKTsKKworCXJldHVybiAwOworfQorCiAvKgogICogRFJNIG9wZXJhdGlvbnM6CiAg Ki8KQEAgLTEyNSw2ICsxODQsMTQgQEAgc3RhdGljIGludCBtc21fdW5sb2FkKHN0cnVjdCBkcm1f ZGV2aWNlICpkZXYpCiAJc3RydWN0IG1zbV9kcm1fcHJpdmF0ZSAqcHJpdiA9IGRldi0+ZGV2X3By aXZhdGU7CiAJc3RydWN0IG1zbV9rbXMgKmttcyA9IHByaXYtPmttczsKIAlzdHJ1Y3QgbXNtX2dw dSAqZ3B1ID0gcHJpdi0+Z3B1OworCXN0cnVjdCBtc21fdmJsYW5rX2N0cmwgKnZibF9jdHJsID0g JnByaXYtPnZibGFua19jdHJsOworCXN0cnVjdCB2YmxhbmtfZXZlbnQgKnZibF9ldiwgKnRtcDsK KworCWNhbmNlbF93b3JrX3N5bmMoJnZibF9jdHJsLT53b3JrKTsKKwlsaXN0X2Zvcl9lYWNoX2Vu dHJ5X3NhZmUodmJsX2V2LCB0bXAsICZ2YmxfY3RybC0+ZXZlbnRfbGlzdCwgbm9kZSkgeworCQls aXN0X2RlbCgmdmJsX2V2LT5ub2RlKTsKKwkJa2ZyZWUodmJsX2V2KTsKKwl9CiAKIAlkcm1fa21z X2hlbHBlcl9wb2xsX2ZpbmkoZGV2KTsKIAlkcm1fbW9kZV9jb25maWdfY2xlYW51cChkZXYpOwpA QCAtMjgyLDYgKzM0OSw5IEBAIHN0YXRpYyBpbnQgbXNtX2xvYWQoc3RydWN0IGRybV9kZXZpY2Ug KmRldiwgdW5zaWduZWQgbG9uZyBmbGFncykKIAogCUlOSVRfTElTVF9IRUFEKCZwcml2LT5pbmFj dGl2ZV9saXN0KTsKIAlJTklUX0xJU1RfSEVBRCgmcHJpdi0+ZmVuY2VfY2JzKTsKKwlJTklUX0xJ U1RfSEVBRCgmcHJpdi0+dmJsYW5rX2N0cmwuZXZlbnRfbGlzdCk7CisJSU5JVF9XT1JLKCZwcml2 LT52YmxhbmtfY3RybC53b3JrLCB2YmxhbmtfY3RybF93b3JrZXIpOworCXNwaW5fbG9ja19pbml0 KCZwcml2LT52YmxhbmtfY3RybC5sb2NrKTsKIAogCWRybV9tb2RlX2NvbmZpZ19pbml0KGRldik7 CiAKQEAgLTQ2OCw3ICs1MzgsNyBAQCBzdGF0aWMgaW50IG1zbV9lbmFibGVfdmJsYW5rKHN0cnVj dCBkcm1fZGV2aWNlICpkZXYsIGludCBjcnRjX2lkKQogCWlmICgha21zKQogCQlyZXR1cm4gLUVO WElPOwogCURCRygiZGV2PSVwLCBjcnRjPSVkIiwgZGV2LCBjcnRjX2lkKTsKLQlyZXR1cm4ga21z LT5mdW5jcy0+ZW5hYmxlX3ZibGFuayhrbXMsIHByaXYtPmNydGNzW2NydGNfaWRdKTsKKwlyZXR1 cm4gdmJsYW5rX2N0cmxfcXVldWVfd29yayhwcml2LCBjcnRjX2lkLCB0cnVlKTsKIH0KIAogc3Rh dGljIHZvaWQgbXNtX2Rpc2FibGVfdmJsYW5rKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIGludCBj cnRjX2lkKQpAQCAtNDc4LDcgKzU0OCw3IEBAIHN0YXRpYyB2b2lkIG1zbV9kaXNhYmxlX3ZibGFu ayhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBpbnQgY3J0Y19pZCkKIAlpZiAoIWttcykKIAkJcmV0 dXJuOwogCURCRygiZGV2PSVwLCBjcnRjPSVkIiwgZGV2LCBjcnRjX2lkKTsKLQlrbXMtPmZ1bmNz LT5kaXNhYmxlX3ZibGFuayhrbXMsIHByaXYtPmNydGNzW2NydGNfaWRdKTsKKwl2YmxhbmtfY3Ry bF9xdWV1ZV93b3JrKHByaXYsIGNydGNfaWQsIGZhbHNlKTsKIH0KIAogLyoKZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9tc20vbXNtX2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL21zbS9tc21f ZHJ2LmgKaW5kZXggZTdjNWVhMS4uNTgxNjk5MSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJt L21zbS9tc21fZHJ2LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9tc21fZHJ2LmgKQEAgLTY0 LDYgKzY0LDEyIEBAIHN0cnVjdCBtc21fZmlsZV9wcml2YXRlIHsKIAlpbnQgZHVtbXk7CiB9Owog CitzdHJ1Y3QgbXNtX3ZibGFua19jdHJsIHsKKwlzdHJ1Y3Qgd29ya19zdHJ1Y3Qgd29yazsKKwlz dHJ1Y3QgbGlzdF9oZWFkIGV2ZW50X2xpc3Q7CisJc3BpbmxvY2tfdCBsb2NrOworfTsKKwogc3Ry dWN0IG1zbV9kcm1fcHJpdmF0ZSB7CiAKIAlzdHJ1Y3QgbXNtX2ttcyAqa21zOwpAQCAtMTM3LDYg KzE0Myw4IEBAIHN0cnVjdCBtc21fZHJtX3ByaXZhdGUgewogCQkgKi8KIAkJc3RydWN0IGRybV9t bSBtbTsKIAl9IHZyYW07CisKKwlzdHJ1Y3QgbXNtX3ZibGFua19jdHJsIHZibGFua19jdHJsOwog fTsKIAogc3RydWN0IG1zbV9mb3JtYXQgewotLSAKVGhlIFF1YWxjb21tIElubm92YXRpb24gQ2Vu dGVyLCBJbmMuIGlzIGEgbWVtYmVyIG9mIHRoZSBDb2RlIEF1cm9yYSBGb3J1bSwKaG9zdGVkIGJ5 IFRoZSBMaW51eCBGb3VuZGF0aW9uCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVl ZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZv L2RyaS1kZXZlbAo=