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: Mathias Nyman Message-Id: <1fff9fc1-2ad2-dba1-cb1d-d531254984ce@intel.com> Date: Fri, 9 Mar 2018 11:13:02 +0200 To: Thierry Reding , Jon Hunter Cc: Mathias Nyman , Greg Kroah-Hartman , linux-usb@vger.kernel.org, linux-tegra@vger.kernel.org, linux-kernel@vger.kernel.org List-ID: T24gMDkuMDMuMjAxOCAxMDozNiwgVGhpZXJyeSBSZWRpbmcgd3JvdGU6Cj4gT24gVGh1LCBNYXIg MDgsIDIwMTggYXQgMDk6MzE6MDdQTSArMDAwMCwgSm9uIEh1bnRlciB3cm90ZToKPj4KPj4gT24g MDEvMDMvMTggMTQ6MTgsIE1hdGhpYXMgTnltYW4gd3JvdGU6Cj4+PiBPbiAxNC4wMi4yMDE4IDE4 OjM0LCBKb24gSHVudGVyIHdyb3RlOgo+Pj4+IEFkZCBydW50aW1lIFBNIHN1cHBvcnQgdG8gdGhl IFRlZ3JhIFhIQ0kgZHJpdmVyIGFuZCBtb3ZlIHRoZSBmdW5jdGlvbgo+Pj4+IGNhbGxzIHRvIGVu YWJsZS9kaXNhYmxlIHRoZSBjbG9ja3MsIHJlZ3VsYXRvcnMgYW5kIFBIWSBpbnRvIHRoZSBydW50 aW1lCj4+Pj4gUE0gY2FsbGJhY2tzLgo+Pj4+Cj4+Pj4gU2lnbmVkLW9mZi1ieTogSm9uIEh1bnRl ciA8am9uYXRoYW5oQG52aWRpYS5jb20+Cj4+Pj4gLS0tCj4+Pj4gIMKgIGRyaXZlcnMvdXNiL2hv c3QveGhjaS10ZWdyYS5jIHwgODAKPj4+PiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKyst LS0tLS0tLS0tLS0tCj4+Pj4gIMKgIDEgZmlsZSBjaGFuZ2VkLCA1NiBpbnNlcnRpb25zKCspLCAy NCBkZWxldGlvbnMoLSkKPj4+Pgo+Pj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9ob3N0L3ho Y2ktdGVncmEuYwo+Pj4+IGIvZHJpdmVycy91c2IvaG9zdC94aGNpLXRlZ3JhLmMKPj4+PiBpbmRl eCAwMmIwYjI0ZmFhNTguLjQyYWE2Nzg1OGI1MyAxMDA2NDQKPj4+PiAtLS0gYS9kcml2ZXJzL3Vz Yi9ob3N0L3hoY2ktdGVncmEuYwo+Pj4+ICsrKyBiL2RyaXZlcnMvdXNiL2hvc3QveGhjaS10ZWdy YS5jCj4+Pj4gQEAgLTE4LDYgKzE4LDcgQEAKPj4+PiAgwqAgI2luY2x1ZGUgPGxpbnV4L3BoeS90 ZWdyYS94dXNiLmg+Cj4+Pj4gIMKgICNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4K Pj4+PiAgwqAgI2luY2x1ZGUgPGxpbnV4L3BtLmg+Cj4+Pj4gKyNpbmNsdWRlIDxsaW51eC9wbV9y dW50aW1lLmg+Cj4+Pj4gIMKgICNpbmNsdWRlIDxsaW51eC9yZWd1bGF0b3IvY29uc3VtZXIuaD4K Pj4+PiAgwqAgI2luY2x1ZGUgPGxpbnV4L3Jlc2V0Lmg+Cj4+Pj4gIMKgICNpbmNsdWRlIDxsaW51 eC9zbGFiLmg+Cj4+Pj4gQEAgLTEwNjcsMjIgKzEwNjgsMTIgQEAgc3RhdGljIGludCB0ZWdyYV94 dXNiX3Byb2JlKHN0cnVjdAo+Pj4+IHBsYXRmb3JtX2RldmljZSAqcGRldikKPj4+PiAgwqDCoMKg wqDCoMKgICovCj4+Pj4gIMKgwqDCoMKgwqAgcGxhdGZvcm1fc2V0X2RydmRhdGEocGRldiwgdGVn cmEpOwo+Pj4+ICDCoCAtwqDCoMKgIGVyciA9IHRlZ3JhX3h1c2JfY2xrX2VuYWJsZSh0ZWdyYSk7 Cj4+Pj4gLcKgwqDCoCBpZiAoZXJyKSB7Cj4+Pj4gLcKgwqDCoMKgwqDCoMKgIGRldl9lcnIoJnBk ZXYtPmRldiwgImZhaWxlZCB0byBlbmFibGUgY2xvY2tzOiAlZFxuIiwgZXJyKTsKPj4+PiAtwqDC oMKgwqDCoMKgwqAgZ290byBwdXRfdXNiMjsKPj4+PiAtwqDCoMKgIH0KPj4+PiAtCj4+Pj4gLcKg wqDCoCBlcnIgPSByZWd1bGF0b3JfYnVsa19lbmFibGUodGVncmEtPnNvYy0+bnVtX3N1cHBsaWVz LAo+Pj4+IHRlZ3JhLT5zdXBwbGllcyk7Cj4+Pj4gLcKgwqDCoCBpZiAoZXJyKSB7Cj4+Pj4gLcKg wqDCoMKgwqDCoMKgIGRldl9lcnIoJnBkZXYtPmRldiwgImZhaWxlZCB0byBlbmFibGUgcmVndWxh dG9yczogJWRcbiIsIGVycik7Cj4+Pj4gLcKgwqDCoMKgwqDCoMKgIGdvdG8gZGlzYWJsZV9jbGs7 Cj4+Pj4gLcKgwqDCoCB9Cj4+Pj4gK8KgwqDCoCBwbV9ydW50aW1lX2VuYWJsZSgmcGRldi0+ZGV2 KTsKPj4+PiAgwqAgLcKgwqDCoCBlcnIgPSB0ZWdyYV94dXNiX3BoeV9lbmFibGUodGVncmEpOwo+ Pj4+ICvCoMKgwqAgZXJyID0gcG1fcnVudGltZV9nZXRfc3luYygmcGRldi0+ZGV2KTsKPj4+PiAg wqDCoMKgwqDCoCBpZiAoZXJyIDwgMCkgewo+Pj4KPj4+IERvZXMgdGhpcyBtZWFuIHRoYXQgaWYg cnVudGltZSBQTSBpcyBkaXNhYmxlZCB0aGVuIGNsb2NrcyBhbmQgcmVndWxhdG9yCj4+PiB3aWxs IG5ldmVyIGJlIGVuYWJsZWQKPj4+IGZvciBUZWdyYSB4aGNpPwo+Pj4KPj4+IEhvdyBhYm91dCBr ZWVwaW5nIHRoZSBjbG9jayBhbmQgcmVndWFsdG9yIGVuYWJsaW5nIGluIHByb2JlLCBhbmQgaW5z dGVhZAo+Pj4gYWRkIHNvbWV0aGluZyBsaWtlOgo+Pj4KPj4+IHBtX3J1bnRpbWVfc2V0X2FjdGl2 ZSgmcGRldi0+ZGV2KTsKPj4+IHBtX3J1bnRpbWVfZW5hYmxlKCZwZGV2LT5kZXYpOwo+Pj4gcG1f cnVudGltZV9nZXRfbm9yZXN1bWUoJnBkZXYtPmRldik7Cj4+Cj4+IEZvciA2NC1iaXQgVGVncmEg dGhlcmUgaXMgYSBkZXBlbmRlbmN5IG9uIENPTkZJR19QTSwgYnV0IGZvciAzMi1iaXQKPj4gQUZB SUsgdGhlcmUgaXMgbm90IGFuZCBzbyB5ZXMgd2Ugc2hvdWxkIGhhbmRsZSB0aGUgY2FzZSB3aGVu IFBNX1JVTlRJTUUKPj4gaXMgZGlzYWJsZWQuCj4+Cj4+IFR5cGljYWxseSB3ZSBkbyBzb21ldGhp bmcgbGlrZSAuLi4KPj4KPj4gICAgICBwbV9ydW50aW1lX2VuYWJsZSgmcGRldi0+ZGV2KTsKPj4g ICAgICBpZiAoIXBtX3J1bnRpbWVfZW5hYmxlZCgmcGRldi0+ZGV2KSkKPj4gCXJldCA9IHRlZ3Jh X3h1c2JfcnVudGltZV9yZXN1bWUoJnBkZXYtPmRldik7Cj4+ICAgICAgZWxzZQo+PiAgICAgICAg ICByZXQgPSBwbV9ydW50aW1lX2dldF9zeW5jKCZwZGV2LT5kZXYpOwo+Pgo+PiBUaGF0IHdheSB3 ZSBjYW4ga2VlcCB0aGUgcmVndWxhdG9yIGFuZCBjbG9jayBzdHVmZiBpbiB0aGUgaGFuZGxlci4g SQo+PiB3aWxsIHVwZGF0ZSB0aGlzIHNlcmllcy4KPiAKPiBJcyB0aGVyZSBhbnkgZ29vZCByZWFz b24gd2h5IHdlIGRvbid0IGRlcGVuZCBvbiBQTSBmb3IgMzItYml0IGFzIHdlbGw/Cj4gSSdtIG5v dCBhd2FyZSBvZiBhbnkgZGlmZmVyZW5jZXMgaW4gZHJpdmVycyB0aGF0IGFyZSAzMi1iaXQgc3Bl Y2lmaWMgZm9yCj4gVGVncmEsIGFuZCBJJ20gbm90IGV2ZW4gc3VyZSB0aGUgIVBNIGNhc2UgZ2V0 cyBhbnkgdGVzdGluZyBhdCBhbGwuIEFuZAo+IGV2ZW4gaWYsIGRvIHdlIHJlYWxseSBzdGlsbCB3 YW50IHRvIHN1cHBvcnQgdGhhdD8KPiAKPiBJIGRvbid0IHNlZSBhbnkgYWR2YW50YWdlIHRoZXNl IGRheXMgZm9yIGhhdmluZyBpdCBkaXNhYmxlZC4KCkkgZG9uJ3Qga25vdyBtdWNoIGFib3V0IFRl Z3JhLCBidXQgSSdkIHN0aWxsIGxpa2UgdG8gdHVybiB0aGlzIHF1ZXN0aW9uIGFyb3VuZDoKCklz IHRoZXJlIGFueSByZWFzb24gd2h5IGNsa3MgYW5kIHJlZ3VsYXRvcnMgY2FuJ3QgaW5pdGlhbGx5 IGJlIHR1cm5lZCBvbiBpbiBwcm9iZSwKYW5kIHRoZW4gbGV0IHJ1bnRpbWUgUE0gaGFuZGxlIHRo ZW0gbGF0ZXIgaWYgUE0gaXMgc3VwcG9ydGVkPwoKU2hvdWxkbid0IHRoaXMgd29yayBpbiBhbGwg Y2FzZXMsIGFuZCBpdCBhdm9pZHMgY3JlYXRpbmcgbmV3IGRlcGVuZGVuY2llcz8KClRoYW5rcwpN YXRoaWFzCi0tLQpUbyB1bnN1YnNjcmliZSBmcm9tIHRoaXMgbGlzdDogc2VuZCB0aGUgbGluZSAi dW5zdWJzY3JpYmUgbGludXgtdXNiIiBpbgp0aGUgYm9keSBvZiBhIG1lc3NhZ2UgdG8gbWFqb3Jk b21vQHZnZXIua2VybmVsLm9yZwpNb3JlIG1ham9yZG9tbyBpbmZvIGF0ICBodHRwOi8vdmdlci5r ZXJuZWwub3JnL21ham9yZG9tby1pbmZvLmh0bWwK