Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Subject: [v3,3/4] usb: chipidea: host: override ehci->hub_control From: Peter Chen Message-Id: <20181127092824.22756-4-peter.chen@nxp.com> Date: Tue, 27 Nov 2018 09:30:59 +0000 To: "linux-usb@vger.kernel.org" Cc: dl-linux-imx , "robh+dt@kernel.org" , "devicetree@vger.kernel.org" , "frieder.schrempf@exceet.de" , "festevam@gmail.com" , PETER CHEN List-ID: VGhlIGNoaXBpZGVhIGNvbnRyb2xsZXIgaGFzIHNvbWUgc3BlY2lhbCByZXF1aXJlbWVudHMgZHVy aW5nCnN1c3BlbmQvcmVzdW1lLCBvdmVycmlkZSBjb21tb24gZWhjaS0+aHViX2NvbnRyb2wgdG8g aW1wbGVtZW50Cml0LgoKU2lnbmVkLW9mZi1ieTogUGV0ZXIgQ2hlbiA8cGV0ZXIuY2hlbkBueHAu Y29tPgotLS0KIGRyaXZlcnMvdXNiL2NoaXBpZGVhL2hvc3QuYyB8IDc2ICsrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogMSBmaWxlIGNoYW5nZWQsIDc2IGluc2Vy dGlvbnMoKykKCmRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9jaGlwaWRlYS9ob3N0LmMgYi9kcml2 ZXJzL3VzYi9jaGlwaWRlYS9ob3N0LmMKaW5kZXggMDI4YTM1NzQyNjZhLi5hYTQ3NTZkYWI0ODcg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdXNiL2NoaXBpZGVhL2hvc3QuYworKysgYi9kcml2ZXJzL3Vz Yi9jaGlwaWRlYS9ob3N0LmMKQEAgLTIyMCw2ICsyMjAsODEgQEAgdm9pZCBjaV9oZHJjX2hvc3Rf ZGVzdHJveShzdHJ1Y3QgY2lfaGRyYyAqY2kpCiAJCWhvc3Rfc3RvcChjaSk7CiB9CiAKKy8qIFRo ZSBiZWxvdyBjb2RlIGlzIGJhc2VkIG9uIHRlZ3JhIGVoY2kgZHJpdmVyICovCitzdGF0aWMgaW50 IGNpX2VoY2lfaHViX2NvbnRyb2woCisJc3RydWN0IHVzYl9oY2QJKmhjZCwKKwl1MTYJCXR5cGVS ZXEsCisJdTE2CQl3VmFsdWUsCisJdTE2CQl3SW5kZXgsCisJY2hhcgkJKmJ1ZiwKKwl1MTYJCXdM ZW5ndGgKKykKK3sKKwlzdHJ1Y3QgZWhjaV9oY2QJKmVoY2kgPSBoY2RfdG9fZWhjaShoY2QpOwor CXUzMiBfX2lvbWVtCSpzdGF0dXNfcmVnOworCXUzMgkJdGVtcDsKKwl1bnNpZ25lZCBsb25nCWZs YWdzOworCWludAkJcmV0dmFsID0gMDsKKwlzdHJ1Y3QgZGV2aWNlICpkZXYgPSBoY2QtPnNlbGYu Y29udHJvbGxlcjsKKwlzdHJ1Y3QgY2lfaGRyYyAqY2kgPSBkZXZfZ2V0X2RydmRhdGEoZGV2KTsK KworCXN0YXR1c19yZWcgPSAmZWhjaS0+cmVncy0+cG9ydF9zdGF0dXNbKHdJbmRleCAmIDB4ZmYp IC0gMV07CisKKwlzcGluX2xvY2tfaXJxc2F2ZSgmZWhjaS0+bG9jaywgZmxhZ3MpOworCisJaWYg KHR5cGVSZXEgPT0gU2V0UG9ydEZlYXR1cmUgJiYgd1ZhbHVlID09IFVTQl9QT1JUX0ZFQVRfU1VT UEVORCkgeworCQl0ZW1wID0gZWhjaV9yZWFkbChlaGNpLCBzdGF0dXNfcmVnKTsKKwkJaWYgKCh0 ZW1wICYgUE9SVF9QRSkgPT0gMCB8fCAodGVtcCAmIFBPUlRfUkVTRVQpICE9IDApIHsKKwkJCXJl dHZhbCA9IC1FUElQRTsKKwkJCWdvdG8gZG9uZTsKKwkJfQorCisJCXRlbXAgJj0gfihQT1JUX1JX Q19CSVRTIHwgUE9SVF9XS0NPTk5fRSk7CisJCXRlbXAgfD0gUE9SVF9XS0RJU0NfRSB8IFBPUlRf V0tPQ19FOworCQllaGNpX3dyaXRlbChlaGNpLCB0ZW1wIHwgUE9SVF9TVVNQRU5ELCBzdGF0dXNf cmVnKTsKKworCQkvKgorCQkgKiBJZiBhIHRyYW5zYWN0aW9uIGlzIGluIHByb2dyZXNzLCB0aGVy ZSBtYXkgYmUgYSBkZWxheSBpbgorCQkgKiBzdXNwZW5kaW5nIHRoZSBwb3J0LiBQb2xsIHVudGls IHRoZSBwb3J0IGlzIHN1c3BlbmRlZC4KKwkJICovCisJCWlmIChlaGNpX2hhbmRzaGFrZShlaGNp LCBzdGF0dXNfcmVnLCBQT1JUX1NVU1BFTkQsCisJCQkJCQlQT1JUX1NVU1BFTkQsIDUwMDApKQor CQkJZWhjaV9lcnIoZWhjaSwgInRpbWVvdXQgd2FpdGluZyBmb3IgU1VTUEVORFxuIik7CisKKwkJ aWYgKGNpLT5wbGF0ZGF0YS0+ZmxhZ3MgJiBDSV9IRFJDX0lNWF9JU19IU0lDKSB7CisJCQlpZiAo Y2ktPnBsYXRkYXRhLT5ub3RpZnlfZXZlbnQpCisJCQkJY2ktPnBsYXRkYXRhLT5ub3RpZnlfZXZl bnQKKwkJCQkJKGNpLCBDSV9IRFJDX0lNWF9IU0lDX1NVU1BFTkRfRVZFTlQpOworCisJCQl0ZW1w ID0gZWhjaV9yZWFkbChlaGNpLCBzdGF0dXNfcmVnKTsKKwkJCXRlbXAgJj0gfihQT1JUX1dLRElT Q19FIHwgUE9SVF9XS0NPTk5fRSk7CisJCQllaGNpX3dyaXRlbChlaGNpLCB0ZW1wLCBzdGF0dXNf cmVnKTsKKwkJfQorCisJCXNldF9iaXQoKHdJbmRleCAmIDB4ZmYpIC0gMSwgJmVoY2ktPnN1c3Bl bmRlZF9wb3J0cyk7CisJCWdvdG8gZG9uZTsKKwl9CisKKwkvKgorCSAqIEFmdGVyIHJlc3VtZSBo YXMgZmluaXNoZWQsIGl0IG5lZWRzIGRvIHNvbWUgcG9zdCByZXN1bWUKKwkgKiBvcGVyYXRpb24g Zm9yIHNvbWUgU29Dcy4KKwkgKi8KKwllbHNlIGlmICh0eXBlUmVxID09IENsZWFyUG9ydEZlYXR1 cmUgJiYKKwkJCQkJd1ZhbHVlID09IFVTQl9QT1JUX0ZFQVRfQ19TVVNQRU5EKSB7CisKKwkJLyog TWFrZSBzdXJlIHRoZSByZXN1bWUgaGFzIGZpbmlzaGVkLCBpdCBzaG91bGQgYmUgZmluaXNoZWQg Ki8KKwkJaWYgKGVoY2lfaGFuZHNoYWtlKGVoY2ksIHN0YXR1c19yZWcsIFBPUlRfUkVTVU1FLCAw LCAyNTAwMCkpCisJCQllaGNpX2VycihlaGNpLCAidGltZW91dCB3YWl0aW5nIGZvciByZXN1bWVc biIpOworCX0KKworCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmVoY2ktPmxvY2ssIGZsYWdzKTsK KworCS8qIEhhbmRsZSB0aGUgaHViIGNvbnRyb2wgZXZlbnRzIGhlcmUgKi8KKwlyZXR1cm4gZWhj aV9odWJfY29udHJvbChoY2QsIHR5cGVSZXEsIHdWYWx1ZSwgd0luZGV4LCBidWYsIHdMZW5ndGgp OworZG9uZToKKwlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZlaGNpLT5sb2NrLCBmbGFncyk7CisJ cmV0dXJuIHJldHZhbDsKK30KIHN0YXRpYyBpbnQgY2lfZWhjaV9idXNfc3VzcGVuZChzdHJ1Y3Qg dXNiX2hjZCAqaGNkKQogewogCXN0cnVjdCBlaGNpX2hjZCAqZWhjaSA9IGhjZF90b19laGNpKGhj ZCk7CkBAIC0yOTgsNCArMzczLDUgQEAgdm9pZCBjaV9oZHJjX2hvc3RfZHJpdmVyX2luaXQodm9p ZCkKIAllaGNpX2luaXRfZHJpdmVyKCZjaV9laGNpX2hjX2RyaXZlciwgJmVoY2lfY2lfb3ZlcnJp ZGVzKTsKIAlvcmlnX2J1c19zdXNwZW5kID0gY2lfZWhjaV9oY19kcml2ZXIuYnVzX3N1c3BlbmQ7 CiAJY2lfZWhjaV9oY19kcml2ZXIuYnVzX3N1c3BlbmQgPSBjaV9laGNpX2J1c19zdXNwZW5kOwor CWNpX2VoY2lfaGNfZHJpdmVyLmh1Yl9jb250cm9sID0gY2lfZWhjaV9odWJfY29udHJvbDsKIH0K