From mboxrd@z Thu Jan 1 00:00:00 1970 From: Hai Li Subject: [PATCH] drm/msm/dsi: Save/Restore PLL status across PHY reset Date: Fri, 3 Jul 2015 10:09:46 -0400 Message-ID: <1435932586-4696-1-git-send-email-hali@codeaurora.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: 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 UmVzZXQgRFNJIFBIWSBzaWxlbnRseSBjaGFuZ2VzIGl0cyBQTEwgcmVnaXN0ZXJzIHRvIHJlc2V0 IHN0YXR1cywKd2hpY2ggd2lsbCBtYWtlIGNhY2hlZCBzdGF0dXMgaW4gY2xvY2sgZHJpdmVyIGlu dmFsaWQgYW5kIHJlc3VsdAppbiB3cm9uZyBvdXRwdXQgcmF0ZSBvZiBsaW5rIGNsb2Nrcy4gVGhl IGN1cnJlbnQgcmVzdG9yZSBtZWNoYW5pc20KaW4gRFNJIFBMTCBkb2VzIG5vdCBjb3ZlciBhbGwg dGhlIGNhc2VzLiBUaGlzIGNoYW5nZSBpcyB0byByZWNvdmVyClBMTCBzdGF0dXMgYWZ0ZXIgUEhZ IHJlc2V0IHRvIG1hdGNoIEhXIHN0YXR1cyB3aXRoIGNhY2hlZCBzdGF0dXMKaW4gY2xvY2sgZHJp dmVyLgoKU2lnbmVkLW9mZi1ieTogSGFpIExpIDxoYWxpQGNvZGVhdXJvcmEub3JnPgotLS0KIGRy aXZlcnMvZ3B1L2RybS9tc20vZHNpL2RzaS5oICAgICAgICAgICAgICB8ICA5ICsrKysrKysKIGRy aXZlcnMvZ3B1L2RybS9tc20vZHNpL2RzaV9tYW5hZ2VyLmMgICAgICB8IDIxICsrKysrKysrKysr KysrKwogZHJpdmVycy9ncHUvZHJtL21zbS9kc2kvcGxsL2RzaV9wbGwuYyAgICAgIHwgNDIgKysr KysrKysrKysrKysrKystLS0tLS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vbXNtL2RzaS9wbGwv ZHNpX3BsbC5oICAgICAgfCAgMSArCiBkcml2ZXJzL2dwdS9kcm0vbXNtL2RzaS9wbGwvZHNpX3Bs bF8yOG5tLmMgfCAzMSArKysrKysrKystLS0tLS0tLS0tLS0tCiA1IGZpbGVzIGNoYW5nZWQsIDY4 IGluc2VydGlvbnMoKyksIDM2IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9tc20vZHNpL2RzaS5oIGIvZHJpdmVycy9ncHUvZHJtL21zbS9kc2kvZHNpLmgKaW5kZXgg ZTE4ODcyYS4uOTEyMDU3ZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9kc2kvZHNp LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9kc2kvZHNpLmgKQEAgLTk1LDYgKzk1LDggQEAg c3RydWN0IG1zbV9kc2lfcGxsICptc21fZHNpX3BsbF9pbml0KHN0cnVjdCBwbGF0Zm9ybV9kZXZp Y2UgKnBkZXYsCiB2b2lkIG1zbV9kc2lfcGxsX2Rlc3Ryb3koc3RydWN0IG1zbV9kc2lfcGxsICpw bGwpOwogaW50IG1zbV9kc2lfcGxsX2dldF9jbGtfcHJvdmlkZXIoc3RydWN0IG1zbV9kc2lfcGxs ICpwbGwsCiAJc3RydWN0IGNsayAqKmJ5dGVfY2xrX3Byb3ZpZGVyLCBzdHJ1Y3QgY2xrICoqcGl4 ZWxfY2xrX3Byb3ZpZGVyKTsKK3ZvaWQgbXNtX2RzaV9wbGxfc2F2ZV9zdGF0ZShzdHJ1Y3QgbXNt X2RzaV9wbGwgKnBsbCk7CitpbnQgbXNtX2RzaV9wbGxfcmVzdG9yZV9zdGF0ZShzdHJ1Y3QgbXNt X2RzaV9wbGwgKnBsbCk7CiAjZWxzZQogc3RhdGljIGlubGluZSBzdHJ1Y3QgbXNtX2RzaV9wbGwg Km1zbV9kc2lfcGxsX2luaXQoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldiwKIAkJCSBlbnVt IG1zbV9kc2lfcGh5X3R5cGUgdHlwZSwgaW50IGlkKSB7CkBAIC0xMDgsNiArMTEwLDEzIEBAIHN0 YXRpYyBpbmxpbmUgaW50IG1zbV9kc2lfcGxsX2dldF9jbGtfcHJvdmlkZXIoc3RydWN0IG1zbV9k c2lfcGxsICpwbGwsCiB7CiAJcmV0dXJuIC1FTk9ERVY7CiB9CitzdGF0aWMgaW5saW5lIHZvaWQg bXNtX2RzaV9wbGxfc2F2ZV9zdGF0ZShzdHJ1Y3QgbXNtX2RzaV9wbGwgKnBsbCkKK3sKK30KK3N0 YXRpYyBpbmxpbmUgaW50IG1zbV9kc2lfcGxsX3Jlc3RvcmVfc3RhdGUoc3RydWN0IG1zbV9kc2lf cGxsICpwbGwpCit7CisJcmV0dXJuIDA7Cit9CiAjZW5kaWYKIAogLyogZHNpIGhvc3QgKi8KZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tc20vZHNpL2RzaV9tYW5hZ2VyLmMgYi9kcml2ZXJz L2dwdS9kcm0vbXNtL2RzaS9kc2lfbWFuYWdlci5jCmluZGV4IGJkMjQ3YjcuLmNhNGZmNGEgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tc20vZHNpL2RzaV9tYW5hZ2VyLmMKKysrIGIvZHJp dmVycy9ncHUvZHJtL21zbS9kc2kvZHNpX21hbmFnZXIuYwpAQCAtNjExLDEyICs2MTEsMjggQEAg aW50IG1zbV9kc2lfbWFuYWdlcl9waHlfZW5hYmxlKGludCBpZCwKIAlzdHJ1Y3QgbXNtX2RzaSAq bXNtX2RzaSA9IGRzaV9tZ3JfZ2V0X2RzaShpZCk7CiAJc3RydWN0IG1zbV9kc2lfcGh5ICpwaHkg PSBtc21fZHNpLT5waHk7CiAJaW50IHNyY19wbGxfaWQgPSBJU19EVUFMX0RTSSgpID8gRFNJX0NM T0NLX01BU1RFUiA6IGlkOworCXN0cnVjdCBtc21fZHNpX3BsbCAqcGxsID0gbXNtX2RzaV9waHlf Z2V0X3BsbChtc21fZHNpLT5waHkpOwogCWludCByZXQ7CiAKIAlyZXQgPSBtc21fZHNpX3BoeV9l bmFibGUocGh5LCBzcmNfcGxsX2lkLCBiaXRfcmF0ZSwgZXNjX3JhdGUpOwogCWlmIChyZXQpCiAJ CXJldHVybiByZXQ7CiAKKwkvKgorCSAqIFJlc2V0IERTSSBQSFkgc2lsZW50bHkgY2hhbmdlcyBp dHMgUExMIHJlZ2lzdGVycyB0byByZXNldCBzdGF0dXMsCisJICogd2hpY2ggd2lsbCBjb25mdXNl IGNsb2NrIGRyaXZlciBhbmQgcmVzdWx0IGluIHdyb25nIG91dHB1dCByYXRlIG9mCisJICogbGlu ayBjbG9ja3MuIFJlc3RvcmUgUExMIHN0YXR1cyBpZiBpdHMgUExMIGlzIGJlaW5nIHVzZWQgYXMg Y2xvY2sKKwkgKiBzb3VyY2UuCisJICovCisJaWYgKCFJU19EVUFMX0RTSSgpIHx8IChpZCA9PSBE U0lfQ0xPQ0tfTUFTVEVSKSkgeworCQlyZXQgPSBtc21fZHNpX3BsbF9yZXN0b3JlX3N0YXRlKHBs bCk7CisJCWlmIChyZXQpIHsKKwkJCXByX2VycigiJXM6IGZhaWxlZCB0byByZXN0b3JlIHBsbCBz dGF0ZVxuIiwgX19mdW5jX18pOworCQkJbXNtX2RzaV9waHlfZGlzYWJsZShwaHkpOworCQkJcmV0 dXJuIHJldDsKKwkJfQorCX0KKwogCW1zbV9kc2ktPnBoeV9lbmFibGVkID0gdHJ1ZTsKIAltc21f ZHNpX3BoeV9nZXRfY2xrX3ByZV9wb3N0KHBoeSwgY2xrX3ByZSwgY2xrX3Bvc3QpOwogCkBAIC02 MjksNiArNjQ1LDExIEBAIHZvaWQgbXNtX2RzaV9tYW5hZ2VyX3BoeV9kaXNhYmxlKGludCBpZCkK IAlzdHJ1Y3QgbXNtX2RzaSAqbWRzaSA9IGRzaV9tZ3JfZ2V0X2RzaShEU0lfQ0xPQ0tfTUFTVEVS KTsKIAlzdHJ1Y3QgbXNtX2RzaSAqc2RzaSA9IGRzaV9tZ3JfZ2V0X2RzaShEU0lfQ0xPQ0tfU0xB VkUpOwogCXN0cnVjdCBtc21fZHNpX3BoeSAqcGh5ID0gbXNtX2RzaS0+cGh5OworCXN0cnVjdCBt c21fZHNpX3BsbCAqcGxsID0gbXNtX2RzaV9waHlfZ2V0X3BsbChtc21fZHNpLT5waHkpOworCisJ LyogU2F2ZSBQTEwgc3RhdHVzIGlmIGl0IGlzIGEgY2xvY2sgc291cmNlICovCisJaWYgKCFJU19E VUFMX0RTSSgpIHx8IChpZCA9PSBEU0lfQ0xPQ0tfTUFTVEVSKSkKKwkJbXNtX2RzaV9wbGxfc2F2 ZV9zdGF0ZShwbGwpOwogCiAJLyogZGlzYWJsZSBEU0kgcGh5CiAJICogSW4gZHVhbC1kc2kgY29u ZmlndXJhdGlvbiwgdGhlIHBoeSBzaG91bGQgYmUgZGlzYWJsZWQgZm9yIHRoZQpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL21zbS9kc2kvcGxsL2RzaV9wbGwuYyBiL2RyaXZlcnMvZ3B1L2Ry bS9tc20vZHNpL3BsbC9kc2lfcGxsLmMKaW5kZXggNTA5Mzc2Zi4uNTEwNGZjOSAxMDA2NDQKLS0t IGEvZHJpdmVycy9ncHUvZHJtL21zbS9kc2kvcGxsL2RzaV9wbGwuYworKysgYi9kcml2ZXJzL2dw dS9kcm0vbXNtL2RzaS9wbGwvZHNpX3BsbC5jCkBAIC03MiwzMSArNzIsMTQgQEAgbG9uZyBtc21f ZHNpX3BsbF9oZWxwZXJfY2xrX3JvdW5kX3JhdGUoc3RydWN0IGNsa19odyAqaHcsCiBpbnQgbXNt X2RzaV9wbGxfaGVscGVyX2Nsa19wcmVwYXJlKHN0cnVjdCBjbGtfaHcgKmh3KQogewogCXN0cnVj dCBtc21fZHNpX3BsbCAqcGxsID0gaHdfY2xrX3RvX3BsbChodyk7Ci0JaW50IHJldDsKLQotCS8q Ci0JICogQ2VydGFpbiBQTExzIG5lZWQgdG8gdXBkYXRlIHRoZSBzYW1lIFZDTyByYXRlIGFuZCBy ZWdpc3RlcnMKLQkgKiBhZnRlciByZXN1bWUgaW4gc3VzcGVuZC9yZXN1bWUgc2NlbmFyaW8uCi0J ICovCi0JaWYgKHBsbC0+cmVzdG9yZV9zdGF0ZSkgewotCQlyZXQgPSBwbGwtPnJlc3RvcmVfc3Rh dGUocGxsKTsKLQkJaWYgKHJldCkKLQkJCWdvdG8gZXJyb3I7Ci0JfQogCi0JcmV0ID0gZHNpX3Bs bF9lbmFibGUocGxsKTsKLQotZXJyb3I6Ci0JcmV0dXJuIHJldDsKKwlyZXR1cm4gZHNpX3BsbF9l bmFibGUocGxsKTsKIH0KIAogdm9pZCBtc21fZHNpX3BsbF9oZWxwZXJfY2xrX3VucHJlcGFyZShz dHJ1Y3QgY2xrX2h3ICpodykKIHsKIAlzdHJ1Y3QgbXNtX2RzaV9wbGwgKnBsbCA9IGh3X2Nsa190 b19wbGwoaHcpOwogCi0JaWYgKHBsbC0+c2F2ZV9zdGF0ZSkKLQkJcGxsLT5zYXZlX3N0YXRlKHBs bCk7Ci0KIAlkc2lfcGxsX2Rpc2FibGUocGxsKTsKIH0KIApAQCAtMTM0LDYgKzExNywyOSBAQCB2 b2lkIG1zbV9kc2lfcGxsX2Rlc3Ryb3koc3RydWN0IG1zbV9kc2lfcGxsICpwbGwpCiAJCXBsbC0+ ZGVzdHJveShwbGwpOwogfQogCit2b2lkIG1zbV9kc2lfcGxsX3NhdmVfc3RhdGUoc3RydWN0IG1z bV9kc2lfcGxsICpwbGwpCit7CisJaWYgKHBsbC0+c2F2ZV9zdGF0ZSkgeworCQlwbGwtPnNhdmVf c3RhdGUocGxsKTsKKwkJcGxsLT5zdGF0ZV9zYXZlZCA9IHRydWU7CisJfQorfQorCitpbnQgbXNt X2RzaV9wbGxfcmVzdG9yZV9zdGF0ZShzdHJ1Y3QgbXNtX2RzaV9wbGwgKnBsbCkKK3sKKwlpbnQg cmV0OworCisJaWYgKHBsbC0+cmVzdG9yZV9zdGF0ZSAmJiBwbGwtPnN0YXRlX3NhdmVkKSB7CisJ CXJldCA9IHBsbC0+cmVzdG9yZV9zdGF0ZShwbGwpOworCQlpZiAocmV0KQorCQkJcmV0dXJuIHJl dDsKKworCQlwbGwtPnN0YXRlX3NhdmVkID0gZmFsc2U7CisJfQorCisJcmV0dXJuIDA7Cit9CisK IHN0cnVjdCBtc21fZHNpX3BsbCAqbXNtX2RzaV9wbGxfaW5pdChzdHJ1Y3QgcGxhdGZvcm1fZGV2 aWNlICpwZGV2LAogCQkJZW51bSBtc21fZHNpX3BoeV90eXBlIHR5cGUsIGludCBpZCkKIHsKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tc20vZHNpL3BsbC9kc2lfcGxsLmggYi9kcml2ZXJz L2dwdS9kcm0vbXNtL2RzaS9wbGwvZHNpX3BsbC5oCmluZGV4IDVhM2JiMjQxLi5iNjlkZjE5IDEw MDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2RzaS9wbGwvZHNpX3BsbC5oCisrKyBiL2Ry aXZlcnMvZ3B1L2RybS9tc20vZHNpL3BsbC9kc2lfcGxsLmgKQEAgLTI3LDYgKzI3LDcgQEAgc3Ry dWN0IG1zbV9kc2lfcGxsIHsKIAogCXN0cnVjdCBjbGtfaHcJY2xrX2h3OwogCWJvb2wJCXBsbF9v bjsKKwlib29sCQlzdGF0ZV9zYXZlZDsKIAogCXVuc2lnbmVkIGxvbmcJbWluX3JhdGU7CiAJdW5z aWduZWQgbG9uZwltYXhfcmF0ZTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tc20vZHNp L3BsbC9kc2lfcGxsXzI4bm0uYyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vZHNpL3BsbC9kc2lfcGxs XzI4bm0uYwppbmRleCBlYjhhYzMwLi4xOTEyY2ZjIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9k cm0vbXNtL2RzaS9wbGwvZHNpX3BsbF8yOG5tLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9k c2kvcGxsL2RzaV9wbGxfMjhubS5jCkBAIC00NjUsMjYgKzQ2NSwyMSBAQCBzdGF0aWMgaW50IGRz aV9wbGxfMjhubV9yZXN0b3JlX3N0YXRlKHN0cnVjdCBtc21fZHNpX3BsbCAqcGxsKQogCXZvaWQg X19pb21lbSAqYmFzZSA9IHBsbF8yOG5tLT5tbWlvOwogCWludCByZXQ7CiAKLQlpZiAoKGNhY2hl ZF9zdGF0ZS0+dmNvX3JhdGUgIT0gMCkgJiYKLQkJKGNhY2hlZF9zdGF0ZS0+dmNvX3JhdGUgPT0g X19jbGtfZ2V0X3JhdGUocGxsLT5jbGtfaHcuY2xrKSkpIHsKLQkJcmV0ID0gZHNpX3BsbF8yOG5t X2Nsa19zZXRfcmF0ZSgmcGxsLT5jbGtfaHcsCi0JCQkJCQljYWNoZWRfc3RhdGUtPnZjb19yYXRl LCAwKTsKLQkJaWYgKHJldCkgewotCQkJZGV2X2VycigmcGxsXzI4bm0tPnBkZXYtPmRldiwKLQkJ CQkicmVzdG9yZSB2Y28gcmF0ZSBmYWlsZWQuIHJldD0lZFxuIiwgcmV0KTsKLQkJCXJldHVybiBy ZXQ7Ci0JCX0KLQotCQlwbGxfd3JpdGUoYmFzZSArIFJFR19EU0lfMjhubV9QSFlfUExMX1BPU1RE SVYzX0NGRywKLQkJCQljYWNoZWRfc3RhdGUtPnBvc3RkaXYzKTsKLQkJcGxsX3dyaXRlKGJhc2Ug KyBSRUdfRFNJXzI4bm1fUEhZX1BMTF9QT1NURElWMV9DRkcsCi0JCQkJY2FjaGVkX3N0YXRlLT5w b3N0ZGl2MSk7Ci0JCXBsbF93cml0ZShiYXNlICsgUkVHX0RTSV8yOG5tX1BIWV9QTExfVlJFR19D RkcsCi0JCQkJY2FjaGVkX3N0YXRlLT5ieXRlX211eCk7Ci0KLQkJY2FjaGVkX3N0YXRlLT52Y29f cmF0ZSA9IDA7CisJcmV0ID0gZHNpX3BsbF8yOG5tX2Nsa19zZXRfcmF0ZSgmcGxsLT5jbGtfaHcs CisJCQkJCWNhY2hlZF9zdGF0ZS0+dmNvX3JhdGUsIDApOworCWlmIChyZXQpIHsKKwkJZGV2X2Vy cigmcGxsXzI4bm0tPnBkZXYtPmRldiwKKwkJCSJyZXN0b3JlIHZjbyByYXRlIGZhaWxlZC4gcmV0 PSVkXG4iLCByZXQpOworCQlyZXR1cm4gcmV0OwogCX0KIAorCXBsbF93cml0ZShiYXNlICsgUkVH X0RTSV8yOG5tX1BIWV9QTExfUE9TVERJVjNfQ0ZHLAorCQkJY2FjaGVkX3N0YXRlLT5wb3N0ZGl2 Myk7CisJcGxsX3dyaXRlKGJhc2UgKyBSRUdfRFNJXzI4bm1fUEhZX1BMTF9QT1NURElWMV9DRkcs CisJCQljYWNoZWRfc3RhdGUtPnBvc3RkaXYxKTsKKwlwbGxfd3JpdGUoYmFzZSArIFJFR19EU0lf MjhubV9QSFlfUExMX1ZSRUdfQ0ZHLAorCQkJY2FjaGVkX3N0YXRlLT5ieXRlX211eCk7CisKIAly ZXR1cm4gMDsKIH0KIAotLSAKVGhlIFF1YWxjb21tIElubm92YXRpb24gQ2VudGVyLCBJbmMuIGlz IGEgbWVtYmVyIG9mIHRoZSBDb2RlIEF1cm9yYSBGb3J1bSwKaG9zdGVkIGJ5IFRoZSBMaW51eCBG b3VuZGF0aW9uCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcK aHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=