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: [v3] xhci: Add quirk to workaround the errata seen on Cavium Thunder-X2 Soc From: George Cherian Message-Id: <1540896507-23876-1-git-send-email-george.cherian@cavium.com> Date: Tue, 30 Oct 2018 10:48:38 +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 cy91c2IvaG9zdC94aGNpLXJpbmcuYwppbmRleCBmMGE5OWFhLi5iNDM0ODY5IDEwMDY0NAotLS0g YS9kcml2ZXJzL3VzYi9ob3N0L3hoY2ktcmluZy5jCisrKyBiL2RyaXZlcnMvdXNiL2hvc3QveGhj aS1yaW5nLmMKQEAgLTE1MTcsNiArMTUxNywzNSBAQCBzdGF0aWMgdm9pZCBoYW5kbGVfZGV2aWNl X25vdGlmaWNhdGlvbihzdHJ1Y3QgeGhjaV9oY2QgKnhoY2ksCiAJCXVzYl93YWtldXBfbm90aWZp Y2F0aW9uKHVkZXYtPnBhcmVudCwgdWRldi0+cG9ydG51bSk7CiB9CiAKKy8qCisgKiBRdWlyayBo YW5sZGVyIGZvciBlcnJhdGEgc2VlbiBvbiBDYXZpdW0gVGh1bmRlclgyIHByb2Nlc3NvciBYSENJ CisgKiBDb250cm9sbGVyLgorICogQXMgcGVyIFRodW5kZXJYMmVycmF0YS0xMjkgVVNCIDIgZGV2 aWNlIG1heSBjb21lIHVwIGFzIFVTQiAxCisgKiBJZiBhIGNvbm5lY3Rpb24gdG8gYSBVU0IgMSBk ZXZpY2UgaXMgZm9sbG93ZWQgYnkgYW5vdGhlciBjb25uZWN0aW9uCisgKiB0byBhIFVTQiAyIGRl dmljZS4KKyAqCisgKiBSZXNldCB0aGUgUEhZIGFmdGVyIHRoZSBVU0IgZGV2aWNlIGlzIGRpc2Nv bm5lY3RlZCBpZiBkZXZpY2Ugc3BlZWQKKyAqIGlzIGxlc3MgdGhhbiBIQ0RfVVNCMy4KKyAqIFJl dHJ5IHRoZSByZXNldCBzZXF1ZW5jZSBtYXggb2YgNCB0aW1lcyBjaGVja2luZyB0aGUgUExMIGxv Y2sgc3RhdHVzLgorICoKKyAqLworc3RhdGljIHZvaWQgeGhjaV9jYXZpdW1fcmVzZXRfcGh5X3F1 aXJrKHN0cnVjdCB4aGNpX2hjZCAqeGhjaSkKK3sKKwlzdHJ1Y3QgdXNiX2hjZCAqaGNkID0geGhj aV90b19oY2QoeGhjaSk7CisJdTMyIHBsbF9sb2NrX2NoZWNrOworCXUzMiByZXRyeV9jb3VudCA9 IDQ7CisKKwlkbyB7CisJCS8qIEFzc2VydCBQSFkgcmVzZXQgKi8KKwkJd3JpdGVsKDB4NkYsIGhj ZC0+cmVncyArIDB4MTA0OCk7CisJCXVkZWxheSgxMCk7CisJCS8qIERlLWFzc2VydCB0aGUgUEhZ IHJlc2V0ICovCisJCXdyaXRlbCgweDdGLCBoY2QtPnJlZ3MgKyAweDEwNDgpOworCQl1ZGVsYXko MjAwKTsKKwkJcGxsX2xvY2tfY2hlY2sgPSByZWFkbChoY2QtPnJlZ3MgKyAweDEwNzApOworCX0g d2hpbGUgKCEocGxsX2xvY2tfY2hlY2sgJiAweDEpICYmIC0tcmV0cnlfY291bnQpOworfQorCiBz dGF0aWMgdm9pZCBoYW5kbGVfcG9ydF9zdGF0dXMoc3RydWN0IHhoY2lfaGNkICp4aGNpLAogCQl1 bmlvbiB4aGNpX3RyYiAqZXZlbnQpCiB7CkBAIC0xNjQyLDggKzE2NzEsMTIgQEAgc3RhdGljIHZv aWQgaGFuZGxlX3BvcnRfc3RhdHVzKHN0cnVjdCB4aGNpX2hjZCAqeGhjaSwKIAkJZ290byBjbGVh bnVwOwogCX0KIAotCWlmIChoY2QtPnNwZWVkIDwgSENEX1VTQjMpCisJaWYgKGhjZC0+c3BlZWQg PCBIQ0RfVVNCMykgewogCQl4aGNpX3Rlc3RfYW5kX2NsZWFyX2JpdCh4aGNpLCBwb3J0LCBQT1JU X1BMQyk7CisJCWlmICgoeGhjaS0+cXVpcmtzICYgWEhDSV9SRVNFVF9QTExfT05fRElTQ09OTkVD VCkgJiYKKwkJICAgIChwb3J0c2MgJiBQT1JUX0NTQykgJiYgIShwb3J0c2MgJiBQT1JUX0NPTk5F Q1QpKQorCQkJeGhjaV9jYXZpdW1fcmVzZXRfcGh5X3F1aXJrKHhoY2kpOworCX0KIAogY2xlYW51 cDoKIAkvKiBVcGRhdGUgZXZlbnQgcmluZyBkZXF1ZXVlIHBvaW50ZXIgYmVmb3JlIGRyb3BwaW5n IHRoZSBsb2NrICovCmRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9ob3N0L3hoY2kuaCBiL2RyaXZl cnMvdXNiL2hvc3QveGhjaS5oCmluZGV4IDYyMzBhNTcuLjAwNGI4MzIgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvdXNiL2hvc3QveGhjaS5oCisrKyBiL2RyaXZlcnMvdXNiL2hvc3QveGhjaS5oCkBAIC0x ODQ2LDYgKzE4NDYsNyBAQCBzdHJ1Y3QgeGhjaV9oY2QgewogI2RlZmluZSBYSENJX1NVU1BFTkRf REVMQVkJQklUX1VMTCgzMCkKICNkZWZpbmUgWEhDSV9JTlRFTF9VU0JfUk9MRV9TVwlCSVRfVUxM KDMxKQogI2RlZmluZSBYSENJX1pFUk9fNjRCX1JFR1MJQklUX1VMTCgzMikKKyNkZWZpbmUgWEhD SV9SRVNFVF9QTExfT05fRElTQ09OTkVDVCBCSVRfVUxMKDMzKQogCiAJdW5zaWduZWQgaW50CQlu dW1fYWN0aXZlX2VwczsKIAl1bnNpZ25lZCBpbnQJCWxpbWl0X2FjdGl2ZV9lcHM7Cg==