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: [v1,2/2] usb: tegra: Move UTMI-pads reset from ehci-tegra to tegra-phy From: Dmitry Osipenko Message-Id: <853ce44924e396b907332d4f3ad4ae70eae9bbcc.1512946782.git.digetx@gmail.com> Date: Mon, 11 Dec 2017 02:07:38 +0300 To: Felipe Balbi , Alan Stern , Greg Kroah-Hartman , Jonathan Hunter , Thierry Reding Cc: linux-usb@vger.kernel.org, linux-tegra@vger.kernel.org, linux-kernel@vger.kernel.org List-ID: VVRNSSBwYWRzIGFyZSBzaGFyZWQgYnkgVVNCIGNvbnRyb2xsZXJzIGFuZCByZXNldCBvZiBVVE1J IHBhZHMgaXMgc2hhcmVkCndpdGggdGhlIHJlc2V0IG9mIFVTQjEgY29udHJvbGxlci4gQ3VycmVu dGx5IHJlc2V0IG9mIFVUTUkgcGFkcyBpcyBkb25lIGJ5CnRoZSBFSENJIGRyaXZlciBhbmQgQ2hp cElkZWEgVURDIHdvcmtzIGJlY2F1c2UgRUhDSSBkcml2ZXIgYWx3YXlzIGhhcHBlbgp0byBiZSBw cm9iZWQgZmlyc3QuIE1vdmUgcmVzZXQgY29udHJvbHMgZnJvbSBlaGNpLXRlZ3JhIHRvIHRlZ3Jh LXBoeSBpbgpvcmRlciB0byByZXNvbHZlIHRoZSBwcm9ibGVtLgoKU2lnbmVkLW9mZi1ieTogRG1p dHJ5IE9zaXBlbmtvIDxkaWdldHhAZ21haWwuY29tPgotLS0KIGRyaXZlcnMvdXNiL2hvc3QvZWhj aS10ZWdyYS5jICAgICB8IDg3ICsrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0t LQogZHJpdmVycy91c2IvcGh5L3BoeS10ZWdyYS11c2IuYyAgIHwgNDYgKysrKysrKysrKysrKysr KysrKysrCiBpbmNsdWRlL2xpbnV4L3VzYi90ZWdyYV91c2JfcGh5LmggfCAgMiArCiAzIGZpbGVz IGNoYW5nZWQsIDg3IGluc2VydGlvbnMoKyksIDQ4IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBh L2RyaXZlcnMvdXNiL2hvc3QvZWhjaS10ZWdyYS5jIGIvZHJpdmVycy91c2IvaG9zdC9laGNpLXRl Z3JhLmMKaW5kZXggYzgwOWY3ZDJmMDhmLi42MzI5NDg5MmUxOTggMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvdXNiL2hvc3QvZWhjaS10ZWdyYS5jCisrKyBiL2RyaXZlcnMvdXNiL2hvc3QvZWhjaS10ZWdy YS5jCkBAIC0zNiw3ICszNiw2IEBACiAjZGVmaW5lIERSVl9OQU1FICJ0ZWdyYS1laGNpIgogCiBz dGF0aWMgc3RydWN0IGhjX2RyaXZlciBfX3JlYWRfbW9zdGx5IHRlZ3JhX2VoY2lfaGNfZHJpdmVy Owotc3RhdGljIGJvb2wgdXNiMV9yZXNldF9hdHRlbXB0ZWQ7CiAKIHN0cnVjdCB0ZWdyYV9laGNp X3NvY19jb25maWcgewogCWJvb2wgaGFzX2hvc3RwYzsKQEAgLTUxLDY3ICs1MCw1NCBAQCBzdHJ1 Y3QgdGVncmFfZWhjaV9oY2QgewogCWVudW0gdGVncmFfdXNiX3BoeV9wb3J0X3NwZWVkIHBvcnRf c3BlZWQ7CiB9OwogCi0vKgotICogVGhlIDFzdCBVU0IgY29udHJvbGxlciBjb250YWlucyBzb21l IFVUTUkgcGFkIHJlZ2lzdGVycyB0aGF0IGFyZSBnbG9iYWwgZm9yCi0gKiBhbGwgdGhlIGNvbnRy b2xsZXJzIG9uIHRoZSBjaGlwLiBUaG9zZSByZWdpc3RlcnMgYXJlIGFsc28gY2xlYXJlZCB3aGVu Ci0gKiByZXNldCBpcyBhc3NlcnRlZCB0byB0aGUgMXN0IGNvbnRyb2xsZXIuIFRoaXMgbWVhbnMg dGhhdCB0aGUgMXN0IGNvbnRyb2xsZXIKLSAqIGNhbiBvbmx5IGJlIHJlc2V0IHdoZW4gbm8gb3Ro ZXIgY29udHJvbGxlZCBoYXMgZmluaXNoZWQgcHJvYmluZy4gU28gd2UnbGwKLSAqIHJlc2V0IHRo ZSAxc3QgY29udHJvbGxlciBiZWZvcmUgZG9pbmcgYW55IG90aGVyIHNldHVwIG9uIGFueSBvZiB0 aGUKLSAqIGNvbnRyb2xsZXJzLCBhbmQgdGhlbiBuZXZlciBhZ2Fpbi4KLSAqCi0gKiBTaW5jZSB0 aGlzIGlzIGEgUEhZIGlzc3VlLCB0aGUgVGVncmEgUEhZIGRyaXZlciBzaG91bGQgcHJvYmFibHkg YmUgZG9pbmcKLSAqIHRoZSByZXNldHRpbmcgb2YgdGhlIFVTQiBjb250cm9sbGVycy4gQnV0IHRv IGtlZXAgY29tcGF0aWJpbGl0eSB3aXRoIG9sZAotICogZGV2aWNlIHRyZWVzIHRoYXQgZG9uJ3Qg aGF2ZSByZXNldCBwaGFuZGxlcyBpbiB0aGUgUEhZcywgZG8gaXQgaGVyZS4KLSAqIFRob3NlIG9s ZCBEVHMgd2lsbCBiZSB2dWxuZXJhYmxlIHRvIHRvdGFsIFVTQiBicmVha2FnZSBpZiB0aGUgMXN0 IEVIQ0kKLSAqIGRldmljZSBpc24ndCB0aGUgZmlyc3Qgb25lIHRvIGZpbmlzaCBwcm9iaW5nLCBz byB3YXJuIHRoZW0uCi0gKi8KIHN0YXRpYyBpbnQgdGVncmFfcmVzZXRfdXNiX2NvbnRyb2xsZXIo c3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKIHsKIAlzdHJ1Y3QgZGV2aWNlX25vZGUgKnBo eV9ucDsKIAlzdHJ1Y3QgdXNiX2hjZCAqaGNkID0gcGxhdGZvcm1fZ2V0X2RydmRhdGEocGRldik7 CiAJc3RydWN0IHRlZ3JhX2VoY2lfaGNkICp0ZWdyYSA9CiAJCShzdHJ1Y3QgdGVncmFfZWhjaV9o Y2QgKiloY2RfdG9fZWhjaShoY2QpLT5wcml2OwotCWJvb2wgaGFzX3V0bWlfcGFkX3JlZ2lzdGVy cyA9IGZhbHNlOworCXN0cnVjdCByZXNldF9jb250cm9sICpyc3Q7CisJaW50IGVycjsKIAogCXBo eV9ucCA9IG9mX3BhcnNlX3BoYW5kbGUocGRldi0+ZGV2Lm9mX25vZGUsICJudmlkaWEscGh5Iiwg MCk7CiAJaWYgKCFwaHlfbnApCiAJCXJldHVybiAtRU5PRU5UOwogCi0JaWYgKG9mX3Byb3BlcnR5 X3JlYWRfYm9vbChwaHlfbnAsICJudmlkaWEsaGFzLXV0bWktcGFkLXJlZ2lzdGVycyIpKQotCQlo YXNfdXRtaV9wYWRfcmVnaXN0ZXJzID0gdHJ1ZTsKKwkvKgorCSAqIFRoZSAxc3QgVVNCIGNvbnRy b2xsZXIgY29udGFpbnMgc29tZSBVVE1JIHBhZCByZWdpc3RlcnMgdGhhdCBhcmUKKwkgKiBnbG9i YWwgZm9yIGFsbCB0aGUgY29udHJvbGxlcnMgb24gdGhlIGNoaXAuIFRob3NlIHJlZ2lzdGVycyBh cmUKKwkgKiBhbHNvIGNsZWFyZWQgd2hlbiByZXNldCBpcyBhc3NlcnRlZCB0byB0aGUgMXN0IGNv bnRyb2xsZXIuCisJICovCisJcnN0ID0gb2ZfcmVzZXRfY29udHJvbF9nZXRfc2hhcmVkKHBoeV9u cCwgInV0bWktcGFkcyIpOworCWlmIChJU19FUlIocnN0KSkgeworCQlkZXZfd2FybigmcGRldi0+ ZGV2LAorCQkJICJjYW4ndCBnZXQgdXRtaS1wYWRzIHJlc2V0IGZyb20gdGhlIFBIWVxuIik7CisJ CWRldl93YXJuKCZwZGV2LT5kZXYsCisJCQkgImNvbnRpbnVpbmcsIGJ1dCBwbGVhc2UgdXBkYXRl IHlvdXIgRFRcbiIpOworCX0gZWxzZSB7CisJCS8qCisJCSAqIFBIWSBkcml2ZXIgcGVyZm9ybXMg VVRNSS1wYWRzIHJlc2V0IGluIGEgY2FzZSBvZgorCQkgKiBub24tbGVnYWN5IERULgorCQkgKi8K KwkJcmVzZXRfY29udHJvbF9wdXQocnN0KTsKKwl9CiAKLQlpZiAoIXVzYjFfcmVzZXRfYXR0ZW1w dGVkKSB7Ci0JCXN0cnVjdCByZXNldF9jb250cm9sICp1c2IxX3Jlc2V0OworCW9mX25vZGVfcHV0 KHBoeV9ucCk7CiAKLQkJaWYgKCFoYXNfdXRtaV9wYWRfcmVnaXN0ZXJzKQotCQkJdXNiMV9yZXNl dCA9IG9mX3Jlc2V0X2NvbnRyb2xfZ2V0KHBoeV9ucCwgInV0bWktcGFkcyIpOwotCQllbHNlCi0J CQl1c2IxX3Jlc2V0ID0gdGVncmEtPnJzdDsKLQotCQlpZiAoSVNfRVJSKHVzYjFfcmVzZXQpKSB7 Ci0JCQlkZXZfd2FybigmcGRldi0+ZGV2LAotCQkJCSAiY2FuJ3QgZ2V0IHV0bWktcGFkcyByZXNl dCBmcm9tIHRoZSBQSFlcbiIpOwotCQkJZGV2X3dhcm4oJnBkZXYtPmRldiwKLQkJCQkgImNvbnRp bnVpbmcsIGJ1dCBwbGVhc2UgdXBkYXRlIHlvdXIgRFRcbiIpOwotCQl9IGVsc2UgewotCQkJcmVz ZXRfY29udHJvbF9hc3NlcnQodXNiMV9yZXNldCk7Ci0JCQl1ZGVsYXkoMSk7Ci0JCQlyZXNldF9j b250cm9sX2RlYXNzZXJ0KHVzYjFfcmVzZXQpOwotCi0JCQlpZiAoIWhhc191dG1pX3BhZF9yZWdp c3RlcnMpCi0JCQkJcmVzZXRfY29udHJvbF9wdXQodXNiMV9yZXNldCk7Ci0JCX0KKwkvKiByZXNl dCBjb250cm9sIGlzIHNoYXJlZCwgaGVuY2UgaW5pdGlhbGl6ZSBpdCBmaXJzdCAqLworCWVyciA9 IHJlc2V0X2NvbnRyb2xfZGVhc3NlcnQodGVncmEtPnJzdCk7CisJaWYgKGVycikKKwkJcmV0dXJu IGVycjsKIAotCQl1c2IxX3Jlc2V0X2F0dGVtcHRlZCA9IHRydWU7Ci0JfQorCWVyciA9IHJlc2V0 X2NvbnRyb2xfYXNzZXJ0KHRlZ3JhLT5yc3QpOworCWlmIChlcnIpCisJCXJldHVybiBlcnI7CiAK LQlpZiAoIWhhc191dG1pX3BhZF9yZWdpc3RlcnMpIHsKLQkJcmVzZXRfY29udHJvbF9hc3NlcnQo dGVncmEtPnJzdCk7Ci0JCXVkZWxheSgxKTsKLQkJcmVzZXRfY29udHJvbF9kZWFzc2VydCh0ZWdy YS0+cnN0KTsKLQl9CisJdWRlbGF5KDEpOwogCi0Jb2Zfbm9kZV9wdXQocGh5X25wKTsKKwllcnIg PSByZXNldF9jb250cm9sX2RlYXNzZXJ0KHRlZ3JhLT5yc3QpOworCWlmIChlcnIpCisJCXJldHVy biBlcnI7CiAKIAlyZXR1cm4gMDsKIH0KQEAgLTQ0MCw3ICs0MjYsNyBAQCBzdGF0aWMgaW50IHRl Z3JhX2VoY2lfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKIAkJZ290byBjbGVh bnVwX2hjZF9jcmVhdGU7CiAJfQogCi0JdGVncmEtPnJzdCA9IGRldm1fcmVzZXRfY29udHJvbF9n ZXQoJnBkZXYtPmRldiwgInVzYiIpOworCXRlZ3JhLT5yc3QgPSBkZXZtX3Jlc2V0X2NvbnRyb2xf Z2V0X3NoYXJlZCgmcGRldi0+ZGV2LCAidXNiIik7CiAJaWYgKElTX0VSUih0ZWdyYS0+cnN0KSkg ewogCQlkZXZfZXJyKCZwZGV2LT5kZXYsICJDYW4ndCBnZXQgZWhjaSByZXNldFxuIik7CiAJCWVy ciA9IFBUUl9FUlIodGVncmEtPnJzdCk7CkBAIC00NTIsOCArNDM4LDEwIEBAIHN0YXRpYyBpbnQg dGVncmFfZWhjaV9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQogCQlnb3RvIGNs ZWFudXBfaGNkX2NyZWF0ZTsKIAogCWVyciA9IHRlZ3JhX3Jlc2V0X3VzYl9jb250cm9sbGVyKHBk ZXYpOwotCWlmIChlcnIpCisJaWYgKGVycikgeworCQlkZXZfZXJyKCZwZGV2LT5kZXYsICJGYWls ZWQgdG8gcmVzZXQgY29udHJvbGxlclxuIik7CiAJCWdvdG8gY2xlYW51cF9jbGtfZW47CisJfQog CiAJdV9waHkgPSBkZXZtX3VzYl9nZXRfcGh5X2J5X3BoYW5kbGUoJnBkZXYtPmRldiwgIm52aWRp YSxwaHkiLCAwKTsKIAlpZiAoSVNfRVJSKHVfcGh5KSkgewpAQCAtNTM3LDYgKzUyNSw5IEBAIHN0 YXRpYyBpbnQgdGVncmFfZWhjaV9yZW1vdmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikK IAl1c2JfcGh5X3NodXRkb3duKGhjZC0+dXNiX3BoeSk7CiAJdXNiX3JlbW92ZV9oY2QoaGNkKTsK IAorCXJlc2V0X2NvbnRyb2xfYXNzZXJ0KHRlZ3JhLT5yc3QpOworCXVkZWxheSgxKTsKKwogCWNs a19kaXNhYmxlX3VucHJlcGFyZSh0ZWdyYS0+Y2xrKTsKIAogCXVzYl9wdXRfaGNkKGhjZCk7CmRp ZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9waHkvcGh5LXRlZ3JhLXVzYi5jIGIvZHJpdmVycy91c2Iv cGh5L3BoeS10ZWdyYS11c2IuYwppbmRleCAwMTk5NjhhNWQwYWIuLmQ4YjQzYTA5MjI4YyAxMDA2 NDQKLS0tIGEvZHJpdmVycy91c2IvcGh5L3BoeS10ZWdyYS11c2IuYworKysgYi9kcml2ZXJzL3Vz Yi9waHkvcGh5LXRlZ3JhLXVzYi5jCkBAIC0yNDYsOSArMjQ2LDQ4IEBAIHN0YXRpYyBpbnQgdXRt aXBfcGFkX29wZW4oc3RydWN0IHRlZ3JhX3VzYl9waHkgKnBoeSkKIAkJcmV0dXJuIGVycjsKIAl9 CiAKKwlwaHktPnBhZF9yc3QgPSBkZXZtX3Jlc2V0X2NvbnRyb2xfZ2V0X29wdGlvbmFsX3NoYXJl ZCgKKwkJCQkJCXBoeS0+dV9waHkuZGV2LCAidXRtaS1wYWRzIik7CisJaWYgKElTX0VSUihwaHkt PnBhZF9yc3QpKSB7CisJCWVyciA9IFBUUl9FUlIocGh5LT5wYWRfcnN0KTsKKwkJZGV2X2Vycihw aHktPnVfcGh5LmRldiwKKwkJCSJGYWlsZWQgdG8gZ2V0IFVUTUktcGFkcyByZXNldDogJWRcbiIs IGVycik7CisJCXJldHVybiBlcnI7CisJfQorCisJZXJyID0gcmVzZXRfY29udHJvbF9kZWFzc2Vy dChwaHktPnBhZF9yc3QpOworCWlmIChlcnIpIHsKKwkJZGV2X2VycihwaHktPnVfcGh5LmRldiwK KwkJCSJGYWlsZWQgdG8gaW5pdGlhbGl6ZSBVVE1JLXBhZHMgcmVzZXQ6ICVkXG4iLCBlcnIpOwor CQlyZXR1cm4gZXJyOworCX0KKwogCXJldHVybiAwOwogfQogCitzdGF0aWMgaW50IHV0bWlwX3Bh ZF9jbG9zZShzdHJ1Y3QgdGVncmFfdXNiX3BoeSAqcGh5KQoreworCWludCByZXQ7CisKKwlyZXQg PSBjbGtfcHJlcGFyZV9lbmFibGUocGh5LT5wYWRfY2xrKTsKKwlpZiAocmV0KSB7CisJCWRldl9l cnIocGh5LT51X3BoeS5kZXYsCisJCQkiRmFpbGVkIHRvIGVuYWJsZSBVVE1JLXBhZHMgY2xvY2s6 ICVkXG4iLCByZXQpOworCQlyZXR1cm4gcmV0OworCX0KKworCXJldCA9IHJlc2V0X2NvbnRyb2xf YXNzZXJ0KHBoeS0+cGFkX3JzdCk7CisJaWYgKHJldCkKKwkJZGV2X2VycihwaHktPnVfcGh5LmRl diwKKwkJCSJGYWlsZWQgdG8gYXNzZXJ0IFVUTUktcGFkcyByZXNldDogJWRcbiIsIHJldCk7CisK Kwl1ZGVsYXkoMSk7CisKKwljbGtfZGlzYWJsZV91bnByZXBhcmUocGh5LT5wYWRfY2xrKTsKKwor CXJldHVybiByZXQ7Cit9CisKIHN0YXRpYyB2b2lkIHV0bWlwX3BhZF9wb3dlcl9vbihzdHJ1Y3Qg dGVncmFfdXNiX3BoeSAqcGh5KQogewogCXVuc2lnbmVkIGxvbmcgdmFsLCBmbGFnczsKQEAgLTI2 MCw2ICsyOTksMTAgQEAgc3RhdGljIHZvaWQgdXRtaXBfcGFkX3Bvd2VyX29uKHN0cnVjdCB0ZWdy YV91c2JfcGh5ICpwaHkpCiAJc3Bpbl9sb2NrX2lycXNhdmUoJnV0bWlwX3BhZF9sb2NrLCBmbGFn cyk7CiAKIAlpZiAodXRtaXBfcGFkX2NvdW50KysgPT0gMCkgeworCQlyZXNldF9jb250cm9sX2Fz c2VydChwaHktPnBhZF9yc3QpOworCQl1ZGVsYXkoMSk7CisJCXJlc2V0X2NvbnRyb2xfZGVhc3Nl cnQocGh5LT5wYWRfcnN0KTsKKwogCQl2YWwgPSByZWFkbChiYXNlICsgVVRNSVBfQklBU19DRkcw KTsKIAkJdmFsICY9IH4oVVRNSVBfT1RHUEQgfCBVVE1JUF9CSUFTUEQpOwogCkBAIC03MDIsNiAr NzQ1LDkgQEAgc3RhdGljIHZvaWQgdGVncmFfdXNiX3BoeV9jbG9zZShzdHJ1Y3QgdGVncmFfdXNi X3BoeSAqcGh5KQogCWlmICghSVNfRVJSKHBoeS0+dmJ1cykpCiAJCXJlZ3VsYXRvcl9kaXNhYmxl KHBoeS0+dmJ1cyk7CiAKKwlpZiAoIXBoeS0+aXNfdWxwaV9waHkpCisJCXV0bWlwX3BhZF9jbG9z ZShwaHkpOworCiAJY2xrX2Rpc2FibGVfdW5wcmVwYXJlKHBoeS0+cGxsX3UpOwogfQogCmRpZmYg LS1naXQgYS9pbmNsdWRlL2xpbnV4L3VzYi90ZWdyYV91c2JfcGh5LmggYi9pbmNsdWRlL2xpbnV4 L3VzYi90ZWdyYV91c2JfcGh5LmgKaW5kZXggZDY0MWVhMTY2MGI3Li4wYzVjM2VhOGIyZDcgMTAw NjQ0Ci0tLSBhL2luY2x1ZGUvbGludXgvdXNiL3RlZ3JhX3VzYl9waHkuaAorKysgYi9pbmNsdWRl L2xpbnV4L3VzYi90ZWdyYV91c2JfcGh5LmgKQEAgLTE3LDYgKzE3LDcgQEAKICNkZWZpbmUgX19U RUdSQV9VU0JfUEhZX0gKIAogI2luY2x1ZGUgPGxpbnV4L2Nsay5oPgorI2luY2x1ZGUgPGxpbnV4 L3Jlc2V0Lmg+CiAjaW5jbHVkZSA8bGludXgvdXNiL290Zy5oPgogCiAvKgpAQCAtNzYsNiArNzcs NyBAQCBzdHJ1Y3QgdGVncmFfdXNiX3BoeSB7CiAJYm9vbCBpc19sZWdhY3lfcGh5OwogCWJvb2wg aXNfdWxwaV9waHk7CiAJaW50IHJlc2V0X2dwaW87CisJc3RydWN0IHJlc2V0X2NvbnRyb2wgKnBh ZF9yc3Q7CiB9OwogCiB2b2lkIHRlZ3JhX3VzYl9waHlfcHJlcmVzdW1lKHN0cnVjdCB1c2JfcGh5 ICpwaHkpOwo=