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: [V2,1/3] usb: xhci: tegra: Prepare for adding runtime PM support From: Jon Hunter Message-Id: <1524754750-3633-1-git-send-email-jonathanh@nvidia.com> Date: Thu, 26 Apr 2018 15:59:08 +0100 To: Mathias Nyman , Greg Kroah-Hartman , Thierry Reding Cc: linux-usb@vger.kernel.org, linux-tegra@vger.kernel.org, linux-kernel@vger.kernel.org, Jon Hunter List-ID: V2hlbiBhZGRpbmcgcnVudGltZSBQTSBzdXBwb3J0IHRvIHRoZSBUZWdyYSBYSENJIGRyaXZlciwg aXQgaXMgZGVzaXJhYmxlCnRvIG1vdmUgdGhlIGZ1bmN0aW9uIGNhbGxzIHRvIGVuYWJsZSB0aGUg Y2xvY2tzLCByZWd1bGF0b3JzIGFuZCBQSFkgZnJvbQp0aGUgdGVncmFfeHVzYl9wcm9iZSBpbnRv IHRoZSBydW50aW1lIFBNIGhhbmRsZXJzLiBDdXJyZW50bHksIHRoZQpjbG9ja3MsIHJlZ3VsYXRv cnMgYW5kIFBIWSBhcmUgYWxsIGVuYWJsZWQgYmVmb3JlIHdlIGNhbGwKdXNiX2NyZWF0ZV9oY2Qo KSBpbiB0ZWdyYV94dXNiX3Byb2JlKCksIGhvd2V2ZXIsIHdlIGNhbm5vdCBjYWxsCnBtX3J1bnRp bWVfZ2V0X3N5bmMoKSBhdCB0aGlzIHBvaW50IGJlY2F1c2UgdGhlIHBsYXRmb3JtIGRldmljZSBk YXRhIGlzCm5vdCB5ZXQgaW5pdGlhbGlzZWQuIEZvcnR1bmF0ZWx5LCB0aGUgZnVuY3Rpb24gdXNi X2NyZWF0ZV9oY2QoKSBjYW4gYmUKY2FsbGVkIGJlZm9yZSB3ZSBlbmFibGUgdGhlIGNsb2Nrcywg cmVndWxhdG9ycyBhbmQgUEhZIGFuZCBzbyBwcmVwYXJlCmZvciBhZGRpbmcgcnVudGltZSBQTSBz dXBwb3J0LCBieSBtb3ZpbmcgdGhlIGNhbGwgdG8gdXNiX2NyZWF0ZV9oY2QoKQpiZWZvcmUgd2Ug ZW5hYmxlIHRoZSBoYXJkd2FyZS4KClNpZ25lZC1vZmYtYnk6IEpvbiBIdW50ZXIgPGpvbmF0aGFu aEBudmlkaWEuY29tPgotLS0KCkNoYW5nZXMgc2luY2UgVjE6Ci0gTm9uZQoKIGRyaXZlcnMvdXNi L2hvc3QveGhjaS10ZWdyYS5jIHwgMzQgKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0t LQogMSBmaWxlIGNoYW5nZWQsIDE3IGluc2VydGlvbnMoKyksIDE3IGRlbGV0aW9ucygtKQoKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvdXNiL2hvc3QveGhjaS10ZWdyYS5jIGIvZHJpdmVycy91c2IvaG9z dC94aGNpLXRlZ3JhLmMKaW5kZXggMmMwNzZlYTgwNTIyLi4wMmIwYjI0ZmFhNTggMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvdXNiL2hvc3QveGhjaS10ZWdyYS5jCisrKyBiL2RyaXZlcnMvdXNiL2hvc3Qv eGhjaS10ZWdyYS5jCkBAIC0xMDU0LDEwICsxMDU0LDIzIEBAIHN0YXRpYyBpbnQgdGVncmFfeHVz Yl9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQogCQl9CiAJfQogCisJdGVncmEt PmhjZCA9IHVzYl9jcmVhdGVfaGNkKCZ0ZWdyYV94aGNpX2hjX2RyaXZlciwgJnBkZXYtPmRldiwK KwkJCQkgICAgZGV2X25hbWUoJnBkZXYtPmRldikpOworCWlmICghdGVncmEtPmhjZCkgeworCQll cnIgPSAtRU5PTUVNOworCQlnb3RvIHB1dF9wYWRjdGw7CisJfQorCisJLyoKKwkgKiBUaGlzIG11 c3QgaGFwcGVuIGFmdGVyIHVzYl9jcmVhdGVfaGNkKCksIGJlY2F1c2UgdXNiX2NyZWF0ZV9oY2Qo KQorCSAqIHdpbGwgb3ZlcndyaXRlIHRoZSBkcnZkYXRhIG9mIHRoZSBkZXZpY2Ugd2l0aCB0aGUg aGNkIGl0IGNyZWF0ZXMuCisJICovCisJcGxhdGZvcm1fc2V0X2RydmRhdGEocGRldiwgdGVncmEp OworCiAJZXJyID0gdGVncmFfeHVzYl9jbGtfZW5hYmxlKHRlZ3JhKTsKIAlpZiAoZXJyKSB7CiAJ CWRldl9lcnIoJnBkZXYtPmRldiwgImZhaWxlZCB0byBlbmFibGUgY2xvY2tzOiAlZFxuIiwgZXJy KTsKLQkJZ290byBwdXRfcGFkY3RsOworCQlnb3RvIHB1dF91c2IyOwogCX0KIAogCWVyciA9IHJl Z3VsYXRvcl9idWxrX2VuYWJsZSh0ZWdyYS0+c29jLT5udW1fc3VwcGxpZXMsIHRlZ3JhLT5zdXBw bGllcyk7CkBAIC0xMDgwLDE5ICsxMDkzLDYgQEAgc3RhdGljIGludCB0ZWdyYV94dXNiX3Byb2Jl KHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCiAJCWdvdG8gZGlzYWJsZV9waHk7CiAJfQog Ci0JdGVncmEtPmhjZCA9IHVzYl9jcmVhdGVfaGNkKCZ0ZWdyYV94aGNpX2hjX2RyaXZlciwgJnBk ZXYtPmRldiwKLQkJCQkgICAgZGV2X25hbWUoJnBkZXYtPmRldikpOwotCWlmICghdGVncmEtPmhj ZCkgewotCQllcnIgPSAtRU5PTUVNOwotCQlnb3RvIGRpc2FibGVfcGh5OwotCX0KLQotCS8qCi0J ICogVGhpcyBtdXN0IGhhcHBlbiBhZnRlciB1c2JfY3JlYXRlX2hjZCgpLCBiZWNhdXNlIHVzYl9j cmVhdGVfaGNkKCkKLQkgKiB3aWxsIG92ZXJ3cml0ZSB0aGUgZHJ2ZGF0YSBvZiB0aGUgZGV2aWNl IHdpdGggdGhlIGhjZCBpdCBjcmVhdGVzLgotCSAqLwotCXBsYXRmb3JtX3NldF9kcnZkYXRhKHBk ZXYsIHRlZ3JhKTsKLQogCXRlZ3JhLT5oY2QtPnJlZ3MgPSB0ZWdyYS0+cmVnczsKIAl0ZWdyYS0+ aGNkLT5yc3JjX3N0YXJ0ID0gcmVncy0+c3RhcnQ7CiAJdGVncmEtPmhjZC0+cnNyY19sZW4gPSBy ZXNvdXJjZV9zaXplKHJlZ3MpOwpAQCAtMTEwMCw3ICsxMTAwLDcgQEAgc3RhdGljIGludCB0ZWdy YV94dXNiX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCiAJZXJyID0gdXNiX2Fk ZF9oY2QodGVncmEtPmhjZCwgdGVncmEtPnhoY2lfaXJxLCBJUlFGX1NIQVJFRCk7CiAJaWYgKGVy ciA8IDApIHsKIAkJZGV2X2VycigmcGRldi0+ZGV2LCAiZmFpbGVkIHRvIGFkZCBVU0IgSENEOiAl ZFxuIiwgZXJyKTsKLQkJZ290byBwdXRfdXNiMjsKKwkJZ290byBkaXNhYmxlX3BoeTsKIAl9CiAK IAlkZXZpY2Vfd2FrZXVwX2VuYWJsZSh0ZWdyYS0+aGNkLT5zZWxmLmNvbnRyb2xsZXIpOwpAQCAt MTE1NSwxNCArMTE1NSwxNCBAQCBzdGF0aWMgaW50IHRlZ3JhX3h1c2JfcHJvYmUoc3RydWN0IHBs YXRmb3JtX2RldmljZSAqcGRldikKIAl1c2JfcHV0X2hjZCh4aGNpLT5zaGFyZWRfaGNkKTsKIHJl bW92ZV91c2IyOgogCXVzYl9yZW1vdmVfaGNkKHRlZ3JhLT5oY2QpOwotcHV0X3VzYjI6Ci0JdXNi X3B1dF9oY2QodGVncmEtPmhjZCk7CiBkaXNhYmxlX3BoeToKIAl0ZWdyYV94dXNiX3BoeV9kaXNh YmxlKHRlZ3JhKTsKIGRpc2FibGVfcmVndWxhdG9yOgogCXJlZ3VsYXRvcl9idWxrX2Rpc2FibGUo dGVncmEtPnNvYy0+bnVtX3N1cHBsaWVzLCB0ZWdyYS0+c3VwcGxpZXMpOwogZGlzYWJsZV9jbGs6 CiAJdGVncmFfeHVzYl9jbGtfZGlzYWJsZSh0ZWdyYSk7CitwdXRfdXNiMjoKKwl1c2JfcHV0X2hj ZCh0ZWdyYS0+aGNkKTsKIHB1dF9wYWRjdGw6CiAJdGVncmFfeHVzYl9wYWRjdGxfcHV0KHRlZ3Jh LT5wYWRjdGwpOwogCXJldHVybiBlcnI7Cg==