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: [2/3] usb: xhci: tegra: Add runtime PM support From: Jon Hunter Message-Id: <81534ac4-c446-62da-2656-e4d5d0fd1da2@nvidia.com> Date: Fri, 9 Mar 2018 11:19:11 +0000 To: Mathias Nyman , Thierry Reding Cc: Mathias Nyman , Greg Kroah-Hartman , linux-usb@vger.kernel.org, linux-tegra@vger.kernel.org, linux-kernel@vger.kernel.org List-ID: T24gMDkvMDMvMTggMDk6MTMsIE1hdGhpYXMgTnltYW4gd3JvdGU6Cj4gT24gMDkuMDMuMjAxOCAx MDozNiwgVGhpZXJyeSBSZWRpbmcgd3JvdGU6Cj4+IE9uIFRodSwgTWFyIDA4LCAyMDE4IGF0IDA5 OjMxOjA3UE0gKzAwMDAsIEpvbiBIdW50ZXIgd3JvdGU6Cj4+Pgo+Pj4gT24gMDEvMDMvMTggMTQ6 MTgsIE1hdGhpYXMgTnltYW4gd3JvdGU6Cj4+Pj4gT24gMTQuMDIuMjAxOCAxODozNCwgSm9uIEh1 bnRlciB3cm90ZToKPj4+Pj4gQWRkIHJ1bnRpbWUgUE0gc3VwcG9ydCB0byB0aGUgVGVncmEgWEhD SSBkcml2ZXIgYW5kIG1vdmUgdGhlIGZ1bmN0aW9uCj4+Pj4+IGNhbGxzIHRvIGVuYWJsZS9kaXNh YmxlIHRoZSBjbG9ja3MsIHJlZ3VsYXRvcnMgYW5kIFBIWSBpbnRvIHRoZQo+Pj4+PiBydW50aW1l Cj4+Pj4+IFBNIGNhbGxiYWNrcy4KPj4+Pj4KPj4+Pj4gU2lnbmVkLW9mZi1ieTogSm9uIEh1bnRl ciA8am9uYXRoYW5oQG52aWRpYS5jb20+Cj4+Pj4+IC0tLQo+Pj4+PiDCoMKgIGRyaXZlcnMvdXNi L2hvc3QveGhjaS10ZWdyYS5jIHwgODAKPj4+Pj4gKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrLS0tLS0tLS0tLS0tLQo+Pj4+PiDCoMKgIDEgZmlsZSBjaGFuZ2VkLCA1NiBpbnNlcnRpb25z KCspLCAyNCBkZWxldGlvbnMoLSkKPj4+Pj4KPj4+Pj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNi L2hvc3QveGhjaS10ZWdyYS5jCj4+Pj4+IGIvZHJpdmVycy91c2IvaG9zdC94aGNpLXRlZ3JhLmMK Pj4+Pj4gaW5kZXggMDJiMGIyNGZhYTU4Li40MmFhNjc4NThiNTMgMTAwNjQ0Cj4+Pj4+IC0tLSBh L2RyaXZlcnMvdXNiL2hvc3QveGhjaS10ZWdyYS5jCj4+Pj4+ICsrKyBiL2RyaXZlcnMvdXNiL2hv c3QveGhjaS10ZWdyYS5jCj4+Pj4+IEBAIC0xOCw2ICsxOCw3IEBACj4+Pj4+IMKgwqAgI2luY2x1 ZGUgPGxpbnV4L3BoeS90ZWdyYS94dXNiLmg+Cj4+Pj4+IMKgwqAgI2luY2x1ZGUgPGxpbnV4L3Bs YXRmb3JtX2RldmljZS5oPgo+Pj4+PiDCoMKgICNpbmNsdWRlIDxsaW51eC9wbS5oPgo+Pj4+PiAr I2luY2x1ZGUgPGxpbnV4L3BtX3J1bnRpbWUuaD4KPj4+Pj4gwqDCoCAjaW5jbHVkZSA8bGludXgv cmVndWxhdG9yL2NvbnN1bWVyLmg+Cj4+Pj4+IMKgwqAgI2luY2x1ZGUgPGxpbnV4L3Jlc2V0Lmg+ Cj4+Pj4+IMKgwqAgI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KPj4+Pj4gQEAgLTEwNjcsMjIgKzEw NjgsMTIgQEAgc3RhdGljIGludCB0ZWdyYV94dXNiX3Byb2JlKHN0cnVjdAo+Pj4+PiBwbGF0Zm9y bV9kZXZpY2UgKnBkZXYpCj4+Pj4+IMKgwqDCoMKgwqDCoMKgICovCj4+Pj4+IMKgwqDCoMKgwqDC oCBwbGF0Zm9ybV9zZXRfZHJ2ZGF0YShwZGV2LCB0ZWdyYSk7Cj4+Pj4+IMKgwqAgLcKgwqDCoCBl cnIgPSB0ZWdyYV94dXNiX2Nsa19lbmFibGUodGVncmEpOwo+Pj4+PiAtwqDCoMKgIGlmIChlcnIp IHsKPj4+Pj4gLcKgwqDCoMKgwqDCoMKgIGRldl9lcnIoJnBkZXYtPmRldiwgImZhaWxlZCB0byBl bmFibGUgY2xvY2tzOiAlZFxuIiwgZXJyKTsKPj4+Pj4gLcKgwqDCoMKgwqDCoMKgIGdvdG8gcHV0 X3VzYjI7Cj4+Pj4+IC3CoMKgwqAgfQo+Pj4+PiAtCj4+Pj4+IC3CoMKgwqAgZXJyID0gcmVndWxh dG9yX2J1bGtfZW5hYmxlKHRlZ3JhLT5zb2MtPm51bV9zdXBwbGllcywKPj4+Pj4gdGVncmEtPnN1 cHBsaWVzKTsKPj4+Pj4gLcKgwqDCoCBpZiAoZXJyKSB7Cj4+Pj4+IC3CoMKgwqDCoMKgwqDCoCBk ZXZfZXJyKCZwZGV2LT5kZXYsICJmYWlsZWQgdG8gZW5hYmxlIHJlZ3VsYXRvcnM6ICVkXG4iLAo+ Pj4+PiBlcnIpOwo+Pj4+PiAtwqDCoMKgwqDCoMKgwqAgZ290byBkaXNhYmxlX2NsazsKPj4+Pj4g LcKgwqDCoCB9Cj4+Pj4+ICvCoMKgwqAgcG1fcnVudGltZV9lbmFibGUoJnBkZXYtPmRldik7Cj4+ Pj4+IMKgwqAgLcKgwqDCoCBlcnIgPSB0ZWdyYV94dXNiX3BoeV9lbmFibGUodGVncmEpOwo+Pj4+ PiArwqDCoMKgIGVyciA9IHBtX3J1bnRpbWVfZ2V0X3N5bmMoJnBkZXYtPmRldik7Cj4+Pj4+IMKg wqDCoMKgwqDCoCBpZiAoZXJyIDwgMCkgewo+Pj4+Cj4+Pj4gRG9lcyB0aGlzIG1lYW4gdGhhdCBp ZiBydW50aW1lIFBNIGlzIGRpc2FibGVkIHRoZW4gY2xvY2tzIGFuZCByZWd1bGF0b3IKPj4+PiB3 aWxsIG5ldmVyIGJlIGVuYWJsZWQKPj4+PiBmb3IgVGVncmEgeGhjaT8KPj4+Pgo+Pj4+IEhvdyBh Ym91dCBrZWVwaW5nIHRoZSBjbG9jayBhbmQgcmVndWFsdG9yIGVuYWJsaW5nIGluIHByb2JlLCBh bmQKPj4+PiBpbnN0ZWFkCj4+Pj4gYWRkIHNvbWV0aGluZyBsaWtlOgo+Pj4+Cj4+Pj4gcG1fcnVu dGltZV9zZXRfYWN0aXZlKCZwZGV2LT5kZXYpOwo+Pj4+IHBtX3J1bnRpbWVfZW5hYmxlKCZwZGV2 LT5kZXYpOwo+Pj4+IHBtX3J1bnRpbWVfZ2V0X25vcmVzdW1lKCZwZGV2LT5kZXYpOwo+Pj4KPj4+ IEZvciA2NC1iaXQgVGVncmEgdGhlcmUgaXMgYSBkZXBlbmRlbmN5IG9uIENPTkZJR19QTSwgYnV0 IGZvciAzMi1iaXQKPj4+IEFGQUlLIHRoZXJlIGlzIG5vdCBhbmQgc28geWVzIHdlIHNob3VsZCBo YW5kbGUgdGhlIGNhc2Ugd2hlbiBQTV9SVU5USU1FCj4+PiBpcyBkaXNhYmxlZC4KPj4+Cj4+PiBU eXBpY2FsbHkgd2UgZG8gc29tZXRoaW5nIGxpa2UgLi4uCj4+Pgo+Pj4gwqDCoMKgwqAgcG1fcnVu dGltZV9lbmFibGUoJnBkZXYtPmRldik7Cj4+PiDCoMKgwqDCoCBpZiAoIXBtX3J1bnRpbWVfZW5h YmxlZCgmcGRldi0+ZGV2KSkKPj4+IMKgwqDCoMKgcmV0ID0gdGVncmFfeHVzYl9ydW50aW1lX3Jl c3VtZSgmcGRldi0+ZGV2KTsKPj4+IMKgwqDCoMKgIGVsc2UKPj4+IMKgwqDCoMKgwqDCoMKgwqAg cmV0ID0gcG1fcnVudGltZV9nZXRfc3luYygmcGRldi0+ZGV2KTsKPj4+Cj4+PiBUaGF0IHdheSB3 ZSBjYW4ga2VlcCB0aGUgcmVndWxhdG9yIGFuZCBjbG9jayBzdHVmZiBpbiB0aGUgaGFuZGxlci4g SQo+Pj4gd2lsbCB1cGRhdGUgdGhpcyBzZXJpZXMuCj4+Cj4+IElzIHRoZXJlIGFueSBnb29kIHJl YXNvbiB3aHkgd2UgZG9uJ3QgZGVwZW5kIG9uIFBNIGZvciAzMi1iaXQgYXMgd2VsbD8KPj4gSSdt IG5vdCBhd2FyZSBvZiBhbnkgZGlmZmVyZW5jZXMgaW4gZHJpdmVycyB0aGF0IGFyZSAzMi1iaXQg c3BlY2lmaWMgZm9yCj4+IFRlZ3JhLCBhbmQgSSdtIG5vdCBldmVuIHN1cmUgdGhlICFQTSBjYXNl IGdldHMgYW55IHRlc3RpbmcgYXQgYWxsLiBBbmQKPj4gZXZlbiBpZiwgZG8gd2UgcmVhbGx5IHN0 aWxsIHdhbnQgdG8gc3VwcG9ydCB0aGF0Pwo+Pgo+PiBJIGRvbid0IHNlZSBhbnkgYWR2YW50YWdl IHRoZXNlIGRheXMgZm9yIGhhdmluZyBpdCBkaXNhYmxlZC4KPiAKPiBJIGRvbid0IGtub3cgbXVj aCBhYm91dCBUZWdyYSwgYnV0IEknZCBzdGlsbCBsaWtlIHRvIHR1cm4gdGhpcyBxdWVzdGlvbgo+ IGFyb3VuZDoKPiAKPiBJcyB0aGVyZSBhbnkgcmVhc29uIHdoeSBjbGtzIGFuZCByZWd1bGF0b3Jz IGNhbid0IGluaXRpYWxseSBiZSB0dXJuZWQgb24KPiBpbiBwcm9iZSwKPiBhbmQgdGhlbiBsZXQg cnVudGltZSBQTSBoYW5kbGUgdGhlbSBsYXRlciBpZiBQTSBpcyBzdXBwb3J0ZWQ/CgpJIHBlcnNv bmFsbHkgcHJlZmVyIGhhdmluZyB0aGUgcmVndWxhdG9yLCBjbG9jaywgZXRjIGhhbmRsaW5nIGZv cgplbmFibGluZyBhbmQgZGlzYWJsaW5nIGZvciBhIGRldmljZSBpbiB0aGVpciBvd24gaGFuZGxl ci4gRHVwbGljYXRpbmcKdGhlIGNhbGxzIHRvIHRoZSByZWd1bGF0b3IgYW5kIGNsb2NrIGZyYW1l d29ya3MgaW4gcHJvYmUgYW5kIHRoZSBycG0KaGFuZGxlcnMgc2VlbXMgbW9yZSBwcm9uZSB0byBt aXN0YWtlcy4gSGVuY2UsIHRoYXQncyB3aHkgSSB3b3VsZCBwcmVmZXIKdGhlIG9wdGlvbiBJIHN1 Z2dlc3RlZCBhYm92ZSwgd2hpY2ggSU1PIGlzIHRoZSBiZXN0IG9mIGJvdGggd29ybGRzLgoKPiBT aG91bGRuJ3QgdGhpcyB3b3JrIGluIGFsbCBjYXNlcywgYW5kIGl0IGF2b2lkcyBjcmVhdGluZyBu ZXcgZGVwZW5kZW5jaWVzPwoKWWVzIGJ1dCB3aGVuIHlvdSB3YW50IHRvIHVzZSBmcmFtZXdvcmtz IHN1Y2ggYXMgZ2VucGQgaXQgYmVjb21lcyBtb3JlCmNvbXBsZXggdG8gc3VwcG9ydCAhUE0gYW5k IHRoYXQgaXMgd2h5IGZvciA2NC1iaXQgVGVncmEgd2UgaGF2ZSBhCmRlcGVuZGVuY3kgdG9kYXku CgpDaGVlcnMKSm9uCg==