From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Subject: [v5,04/17] phy: qcom-qusb2: Power-on PHY before initialization From: Manu Gautam Message-Id: <1516100232-18623-5-git-send-email-mgautam@codeaurora.org> Date: Tue, 16 Jan 2018 16:26:59 +0530 To: Kishon Vijay Abraham I Cc: linux-arm-msm@vger.kernel.org, linux-usb@vger.kernel.org, Manu Gautam , Vivek Gautam , Krzysztof Kozlowski , Viresh Kumar , "open list:GENERIC PHY FRAMEWORK" List-ID: UEhZIG11c3QgYmUgcG93ZXJlZCBvbiBiZWZvcmUgdHVybmluZyBPTiBjbG9ja3MgYW5kCmF0dGVt cHRpbmcgdG8gaW5pdGlhbGl6ZSBpdC4gRHJpdmVyIGlzIGV4cG9zaW5nCnNlcGFyYXRlIGluaXQg YW5kIHBvd2VyX29uIHJvdXRpbmVzIGZvciB0aGlzLgpBcHBhcmVudGx5IFVTQiBkd2MzIGNvcmUg ZHJpdmVyIHBlcmZvcm1zIHBvd2VyLW9uCmFmdGVyIGluaXQuIEFsc28sIHBvd2Vyb24gYW5kIGlu aXQgZm9yIFFVU0IyIFBIWQpuZWVkIHRvIGJlIGV4ZWN1dGVkIHRvZ2V0aGVyIGFsd2F5cywgaGVu Y2UgcmVtb3ZlCnBvd2Vyb24gY2FsbGJhY2sgZnJvbSBwaHlfb3BzIGFuZCBleHBsaWNpdGx5IHBl cmZvcm0KdGhpcyBmcm9tIGluaXQsIHNpbWlsYXIgY2hhbmdlcyBuZWVkZWQgZm9yIHBvd2Vyb2Zm LgoKU2lnbmVkLW9mZi1ieTogTWFudSBHYXV0YW0gPG1nYXV0YW1AY29kZWF1cm9yYS5vcmc+ClJl dmlld2VkLWJ5OiBWaXZlayBHYXV0YW0gPHZpdmVrLmdhdXRhbUBjb2RlYXVyb3JhLm9yZz4KLS0t CiBkcml2ZXJzL3BoeS9xdWFsY29tbS9waHktcWNvbS1xdXNiMi5jIHwgNDcgKysrKysrKysrKyst LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAxNSBpbnNlcnRpb25zKCsp LCAzMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL3BoeS9xdWFsY29tbS9waHkt cWNvbS1xdXNiMi5jIGIvZHJpdmVycy9waHkvcXVhbGNvbW0vcGh5LXFjb20tcXVzYjIuYwppbmRl eCA2YzU3NTI0Li40YTViMmExIDEwMDY0NAotLS0gYS9kcml2ZXJzL3BoeS9xdWFsY29tbS9waHkt cWNvbS1xdXNiMi5jCisrKyBiL2RyaXZlcnMvcGh5L3F1YWxjb21tL3BoeS1xY29tLXF1c2IyLmMK QEAgLTE5NSw1NCArMTk1LDMxIEBAIHN0YXRpYyB2b2lkIHF1c2IyX3BoeV9zZXRfdHVuZTJfcGFy YW0oc3RydWN0IHF1c2IyX3BoeSAqcXBoeSkKIAlxdXNiMl9zZXRiaXRzKHFwaHktPmJhc2UsIFFV U0IyUEhZX1BPUlRfVFVORTIsIHZhbFswXSA8PCAweDQpOwogfQogCi1zdGF0aWMgaW50IHF1c2Iy X3BoeV9wb3dlcm9uKHN0cnVjdCBwaHkgKnBoeSkKK3N0YXRpYyBpbnQgcXVzYjJfcGh5X2luaXQo c3RydWN0IHBoeSAqcGh5KQogewogCXN0cnVjdCBxdXNiMl9waHkgKnFwaHkgPSBwaHlfZ2V0X2Ry dmRhdGEocGh5KTsKLQlpbnQgbnVtID0gQVJSQVlfU0laRShxcGh5LT52cmVncyk7CisJdW5zaWdu ZWQgaW50IHZhbDsKKwl1bnNpZ25lZCBpbnQgY2xrX3NjaGVtZTsKIAlpbnQgcmV0OwogCi0JZGV2 X3ZkYmcoJnBoeS0+ZGV2LCAiJXMoKTogUG93ZXJpbmctb24gUVVTQjIgcGh5XG4iLCBfX2Z1bmNf Xyk7CisJZGV2X3ZkYmcoJnBoeS0+ZGV2LCAiJXMoKTogSW5pdGlhbGl6aW5nIFFVU0IyIHBoeVxu IiwgX19mdW5jX18pOwogCiAJLyogdHVybiBvbiByZWd1bGF0b3Igc3VwcGxpZXMgKi8KLQlyZXQg PSByZWd1bGF0b3JfYnVsa19lbmFibGUobnVtLCBxcGh5LT52cmVncyk7CisJcmV0ID0gcmVndWxh dG9yX2J1bGtfZW5hYmxlKEFSUkFZX1NJWkUocXBoeS0+dnJlZ3MpLCBxcGh5LT52cmVncyk7CiAJ aWYgKHJldCkKIAkJcmV0dXJuIHJldDsKIAogCXJldCA9IGNsa19wcmVwYXJlX2VuYWJsZShxcGh5 LT5pZmFjZV9jbGspOwogCWlmIChyZXQpIHsKIAkJZGV2X2VycigmcGh5LT5kZXYsICJmYWlsZWQg dG8gZW5hYmxlIGlmYWNlX2NsaywgJWRcbiIsIHJldCk7Ci0JCXJlZ3VsYXRvcl9idWxrX2Rpc2Fi bGUobnVtLCBxcGh5LT52cmVncyk7Ci0JCXJldHVybiByZXQ7CisJCWdvdG8gcG93ZXJvZmZfcGh5 OwogCX0KIAotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IHF1c2IyX3BoeV9wb3dlcm9mZihz dHJ1Y3QgcGh5ICpwaHkpCi17Ci0Jc3RydWN0IHF1c2IyX3BoeSAqcXBoeSA9IHBoeV9nZXRfZHJ2 ZGF0YShwaHkpOwotCi0JY2xrX2Rpc2FibGVfdW5wcmVwYXJlKHFwaHktPmlmYWNlX2Nsayk7Ci0K LQlyZWd1bGF0b3JfYnVsa19kaXNhYmxlKEFSUkFZX1NJWkUocXBoeS0+dnJlZ3MpLCBxcGh5LT52 cmVncyk7Ci0KLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBxdXNiMl9waHlfaW5pdChzdHJ1 Y3QgcGh5ICpwaHkpCi17Ci0Jc3RydWN0IHF1c2IyX3BoeSAqcXBoeSA9IHBoeV9nZXRfZHJ2ZGF0 YShwaHkpOwotCXVuc2lnbmVkIGludCB2YWw7Ci0JdW5zaWduZWQgaW50IGNsa19zY2hlbWU7Ci0J aW50IHJldDsKLQotCWRldl92ZGJnKCZwaHktPmRldiwgIiVzKCk6IEluaXRpYWxpemluZyBRVVNC MiBwaHlcbiIsIF9fZnVuY19fKTsKLQogCS8qIGVuYWJsZSBhaGIgaW50ZXJmYWNlIGNsb2NrIHRv IHByb2dyYW0gcGh5ICovCiAJcmV0ID0gY2xrX3ByZXBhcmVfZW5hYmxlKHFwaHktPmNmZ19haGJf Y2xrKTsKIAlpZiAocmV0KSB7CiAJCWRldl9lcnIoJnBoeS0+ZGV2LCAiZmFpbGVkIHRvIGVuYWJs ZSBjZmcgYWhiIGNsb2NrLCAlZFxuIiwgcmV0KTsKLQkJcmV0dXJuIHJldDsKKwkJZ290byBkaXNh YmxlX2lmYWNlX2NsazsKIAl9CiAKIAkvKiBQZXJmb3JtIHBoeSByZXNldCAqLwpAQCAtMzQ0LDYg KzMyMSwxMSBAQCBzdGF0aWMgaW50IHF1c2IyX3BoeV9pbml0KHN0cnVjdCBwaHkgKnBoeSkKIAly ZXNldF9jb250cm9sX2Fzc2VydChxcGh5LT5waHlfcmVzZXQpOwogZGlzYWJsZV9haGJfY2xrOgog CWNsa19kaXNhYmxlX3VucHJlcGFyZShxcGh5LT5jZmdfYWhiX2Nsayk7CitkaXNhYmxlX2lmYWNl X2NsazoKKwljbGtfZGlzYWJsZV91bnByZXBhcmUocXBoeS0+aWZhY2VfY2xrKTsKK3Bvd2Vyb2Zm X3BoeToKKwlyZWd1bGF0b3JfYnVsa19kaXNhYmxlKEFSUkFZX1NJWkUocXBoeS0+dnJlZ3MpLCBx cGh5LT52cmVncyk7CisKIAlyZXR1cm4gcmV0OwogfQogCkBAIC0zNjEsNiArMzQzLDkgQEAgc3Rh dGljIGludCBxdXNiMl9waHlfZXhpdChzdHJ1Y3QgcGh5ICpwaHkpCiAJcmVzZXRfY29udHJvbF9h c3NlcnQocXBoeS0+cGh5X3Jlc2V0KTsKIAogCWNsa19kaXNhYmxlX3VucHJlcGFyZShxcGh5LT5j ZmdfYWhiX2Nsayk7CisJY2xrX2Rpc2FibGVfdW5wcmVwYXJlKHFwaHktPmlmYWNlX2Nsayk7CisK KwlyZWd1bGF0b3JfYnVsa19kaXNhYmxlKEFSUkFZX1NJWkUocXBoeS0+dnJlZ3MpLCBxcGh5LT52 cmVncyk7CiAKIAlyZXR1cm4gMDsKIH0KQEAgLTM2OCw4ICszNTMsNiBAQCBzdGF0aWMgaW50IHF1 c2IyX3BoeV9leGl0KHN0cnVjdCBwaHkgKnBoeSkKIHN0YXRpYyBjb25zdCBzdHJ1Y3QgcGh5X29w cyBxdXNiMl9waHlfZ2VuX29wcyA9IHsKIAkuaW5pdAkJPSBxdXNiMl9waHlfaW5pdCwKIAkuZXhp dAkJPSBxdXNiMl9waHlfZXhpdCwKLQkucG93ZXJfb24JPSBxdXNiMl9waHlfcG93ZXJvbiwKLQku cG93ZXJfb2ZmCT0gcXVzYjJfcGh5X3Bvd2Vyb2ZmLAogCS5vd25lcgkJPSBUSElTX01PRFVMRSwK IH07CiAK