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] xhci: Add quirk to workaround the errata seen on Cavium Thunder-X2 Soc From: George Cherian Message-Id: <1540832062-22224-1-git-send-email-george.cherian@cavium.com> Date: Mon, 29 Oct 2018 16:54:34 +0000 To: "linux-kernel@vger.kernel.org" , "linux-usb@vger.kernel.org" Cc: "gregkh@linuxfoundation.org" , "mathias.nyman@intel.com" , "stern@rowland.harvard.edu" , "Cherian, George" List-ID: SW1wbGVtZW50IHdvcmthcm91bmQgZm9yIFRodW5kZXJYMiBFcnJhdGEtMTI5IChkb2N1bWVudGVk IGluCkNOOTlYWCBLbm93biBJc3N1ZXMiIGF2YWlsYWJsZSBhdCBDYXZpdW0gc3VwcG9ydCBzaXRl KS4KQXMgcGVyIFRodW5kZXJYMmVycmF0YS0xMjksIFVTQiAyIGRldmljZSBtYXkgY29tZSB1cCBh cyBVU0IgMQppZiBhIGNvbm5lY3Rpb24gdG8gYSBVU0IgMSBkZXZpY2UgaXMgZm9sbG93ZWQgYnkg YW5vdGhlciBjb25uZWN0aW9uIHRvCmEgVVNCIDIgZGV2aWNlLCB0aGUgbGluayB3aWxsIGNvbWUg dXAgYXMgVVNCIDEgZm9yIHRoZSBVU0IgMiBkZXZpY2UuCgpSZXNvbHV0aW9uOiBSZXNldCB0aGUg UEhZIGFmdGVyIHRoZSBVU0IgMSBkZXZpY2UgaXMgZGlzY29ubmVjdGVkLgpUaGUgUEhZIHJlc2V0 IHNlcXVlbmNlIGlzIGRvbmUgdXNpbmcgcHJpdmF0ZSByZWdpc3RlcnMgaW4gWEhDSSByZWdpc3Rl cgpzcGFjZS4gQWZ0ZXIgdGhlIFBIWSBpcyByZXNldCB3ZSBjaGVjayBmb3IgdGhlIFBMTCBsb2Nr IHN0YXR1cyBhbmQgcmV0cnkKdGhlIG9wZXJhdGlvbiBpZiBpdCBmYWlscy4gRnJvbSBvdXIgdGVz dHMsIHJldHJ5aW5nIDQgdGltZXMgaXMgc3VmZmljaWVudC4KCkFkZCBhIG5ldyBxdWlyayBmbGFn IFhIQ0lfUkVTRVRfUExMX09OX0RJU0NPTk5FQ1QgdG8gaW52b2tlIHRoZSB3b3JrYXJvdW5kCmlu IGhhbmRsZV94aGNpX3BvcnRfc3RhdHVzKCkuCgpTaWduZWQtb2ZmLWJ5OiBHZW9yZ2UgQ2hlcmlh biA8Z2VvcmdlLmNoZXJpYW5AY2F2aXVtLmNvbT4KLS0tCiBkcml2ZXJzL3VzYi9ob3N0L3hoY2kt cGNpLmMgIHwgIDUgKysrKysKIGRyaXZlcnMvdXNiL2hvc3QveGhjaS1yaW5nLmMgfCAzNSArKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLQogZHJpdmVycy91c2IvaG9zdC94aGNpLmgg ICAgICB8ICAxICsKIDMgZmlsZXMgY2hhbmdlZCwgNDAgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlv bigtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL2hvc3QveGhjaS1wY2kuYyBiL2RyaXZlcnMv dXNiL2hvc3QveGhjaS1wY2kuYwppbmRleCA1MWRkOGUwLi4zMzRjMDA5IDEwMDY0NAotLS0gYS9k cml2ZXJzL3VzYi9ob3N0L3hoY2ktcGNpLmMKKysrIGIvZHJpdmVycy91c2IvaG9zdC94aGNpLXBj aS5jCkBAIC0yMzEsNiArMjMxLDExIEBAIHN0YXRpYyB2b2lkIHhoY2lfcGNpX3F1aXJrcyhzdHJ1 Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCB4aGNpX2hjZCAqeGhjaSkKIAlpZiAocGRldi0+dmVuZG9y ID09IFBDSV9WRU5ET1JfSURfVEkgJiYgcGRldi0+ZGV2aWNlID09IDB4ODI0MSkKIAkJeGhjaS0+ cXVpcmtzIHw9IFhIQ0lfTElNSVRfRU5EUE9JTlRfSU5URVJWQUxfNzsKIAorCWlmICgocGRldi0+ dmVuZG9yID09IFBDSV9WRU5ET1JfSURfQlJPQURDT00gfHwKKwkgICAgIHBkZXYtPnZlbmRvciA9 PSBQQ0lfVkVORE9SX0lEX0NBVklVTSkgJiYKKwkgICAgIHBkZXYtPmRldmljZSA9PSAweDkwMjYp CisJCXhoY2ktPnF1aXJrcyB8PSBYSENJX1JFU0VUX1BMTF9PTl9ESVNDT05ORUNUOworCiAJaWYg KHhoY2ktPnF1aXJrcyAmIFhIQ0lfUkVTRVRfT05fUkVTVU1FKQogCQl4aGNpX2RiZ190cmFjZSh4 aGNpLCB0cmFjZV94aGNpX2RiZ19xdWlya3MsCiAJCQkJIlFVSVJLOiBSZXNldHRpbmcgb24gcmVz dW1lIik7CmRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9ob3N0L3hoY2ktcmluZy5jIGIvZHJpdmVy cy91c2IvaG9zdC94aGNpLXJpbmcuYwppbmRleCBmMGE5OWFhLi4zNDJkZDVhYyAxMDA2NDQKLS0t IGEvZHJpdmVycy91c2IvaG9zdC94aGNpLXJpbmcuYworKysgYi9kcml2ZXJzL3VzYi9ob3N0L3ho Y2ktcmluZy5jCkBAIC0xNTE3LDYgKzE1MTcsMzUgQEAgc3RhdGljIHZvaWQgaGFuZGxlX2Rldmlj ZV9ub3RpZmljYXRpb24oc3RydWN0IHhoY2lfaGNkICp4aGNpLAogCQl1c2Jfd2FrZXVwX25vdGlm aWNhdGlvbih1ZGV2LT5wYXJlbnQsIHVkZXYtPnBvcnRudW0pOwogfQogCisvKgorICogUXVpcmsg aGFubGRlciBmb3IgZXJyYXRhIHNlZW4gb24gQ2F2aXVtIFRodW5kZXJYMiBwcm9jZXNzb3IgWEhD SQorICogQ29udHJvbGxlci4KKyAqIEFzIHBlciBUaHVuZGVyWDJlcnJhdGEtMTI5IFVTQiAyIGRl dmljZSBtYXkgY29tZSB1cCBhcyBVU0IgMQorICogSWYgYSBjb25uZWN0aW9uIHRvIGEgVVNCIDEg ZGV2aWNlIGlzIGZvbGxvd2VkIGJ5IGFub3RoZXIgY29ubmVjdGlvbgorICogdG8gYSBVU0IgMiBk ZXZpY2UuCisgKgorICogUmVzZXQgdGhlIFBIWSBhZnRlciB0aGUgVVNCIGRldmljZSBpcyBkaXNj b25uZWN0ZWQgaWYgZGV2aWNlIHNwZWVkCisgKiBpcyBsZXNzIHRoYW4gSENEX1VTQjMuCisgKiBS ZXRyeSB0aGUgcmVzZXQgc2VxdWVuY2UgbWF4IG9mIDQgdGltZXMgY2hlY2tpbmcgdGhlIFBMTCBs b2NrIHN0YXR1cy4KKyAqCisgKi8KK3N0YXRpYyB2b2lkIHhoY2lfaGFuZGxlX3R4Ml93cmFwcGVy X3Jlc2V0KHN0cnVjdCB4aGNpX2hjZCAqeGhjaSkKK3sKKwlzdHJ1Y3QgdXNiX2hjZCAqaGNkID0g eGhjaV90b19oY2QoeGhjaSk7CisJdTMyIHBsbF9sb2NrX2NoZWNrOworCXUzMiByZXRyeV9jb3Vu dCA9IDQ7CisKKwlkbyB7CisJCS8qIEFzc2VydCBQSFkgcmVzZXQgKi8KKwkJd3JpdGVsKDB4NkYs IGhjZC0+cmVncyArIDB4MTA0OCk7CisJCXVkZWxheSgxMCk7CisJCS8qIERlLWFzc2VydCB0aGUg UEhZIHJlc2V0ICovCisJCXdyaXRlbCgweDdGLCBoY2QtPnJlZ3MgKyAweDEwNDgpOworCQl1ZGVs YXkoMjAwKTsKKwkJcGxsX2xvY2tfY2hlY2sgPSByZWFkbChoY2QtPnJlZ3MgKyAweDEwNzApOwor CX0gd2hpbGUgKCEocGxsX2xvY2tfY2hlY2sgJiAweDEpICYmIC0tcmV0cnlfY291bnQpOworfQor CiBzdGF0aWMgdm9pZCBoYW5kbGVfcG9ydF9zdGF0dXMoc3RydWN0IHhoY2lfaGNkICp4aGNpLAog CQl1bmlvbiB4aGNpX3RyYiAqZXZlbnQpCiB7CkBAIC0xNjQyLDggKzE2NzEsMTIgQEAgc3RhdGlj IHZvaWQgaGFuZGxlX3BvcnRfc3RhdHVzKHN0cnVjdCB4aGNpX2hjZCAqeGhjaSwKIAkJZ290byBj bGVhbnVwOwogCX0KIAotCWlmIChoY2QtPnNwZWVkIDwgSENEX1VTQjMpCisJaWYgKGhjZC0+c3Bl ZWQgPCBIQ0RfVVNCMykgewogCQl4aGNpX3Rlc3RfYW5kX2NsZWFyX2JpdCh4aGNpLCBwb3J0LCBQ T1JUX1BMQyk7CisJCWlmICgocG9ydHNjICYgUE9SVF9DU0MpICYmICEocG9ydHNjICYgMHgxKSAm JgorCQkgICAgKHhoY2ktPnF1aXJrcyAmIFhIQ0lfUkVTRVRfUExMX09OX0RJU0NPTk5FQ1QpKQor CQkJeGhjaV9oYW5kbGVfdHgyX3dyYXBwZXJfcmVzZXQoeGhjaSk7CisJfQogCiBjbGVhbnVwOgog CS8qIFVwZGF0ZSBldmVudCByaW5nIGRlcXVldWUgcG9pbnRlciBiZWZvcmUgZHJvcHBpbmcgdGhl IGxvY2sgKi8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL2hvc3QveGhjaS5oIGIvZHJpdmVycy91 c2IvaG9zdC94aGNpLmgKaW5kZXggNjIzMGE1Ny4uMDA0YjgzMiAxMDA2NDQKLS0tIGEvZHJpdmVy cy91c2IvaG9zdC94aGNpLmgKKysrIGIvZHJpdmVycy91c2IvaG9zdC94aGNpLmgKQEAgLTE4NDYs NiArMTg0Niw3IEBAIHN0cnVjdCB4aGNpX2hjZCB7CiAjZGVmaW5lIFhIQ0lfU1VTUEVORF9ERUxB WQlCSVRfVUxMKDMwKQogI2RlZmluZSBYSENJX0lOVEVMX1VTQl9ST0xFX1NXCUJJVF9VTEwoMzEp CiAjZGVmaW5lIFhIQ0lfWkVST182NEJfUkVHUwlCSVRfVUxMKDMyKQorI2RlZmluZSBYSENJX1JF U0VUX1BMTF9PTl9ESVNDT05ORUNUIEJJVF9VTEwoMzMpCiAKIAl1bnNpZ25lZCBpbnQJCW51bV9h Y3RpdmVfZXBzOwogCXVuc2lnbmVkIGludAkJbGltaXRfYWN0aXZlX2VwczsK