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/2] EDAC: add ARM Cortex A15 L2 internal asynchronous error detection driver From: Borislav Petkov Message-Id: <20190108104204.GA14243@zn.tnic> Date: Tue, 8 Jan 2019 11:42:04 +0100 To: "Wiebe, Wladislav (Nokia - DE/Ulm)" , James Morse Cc: "robh+dt@kernel.org" , "mark.rutland@arm.com" , "mchehab+samsung@kernel.org" , "gregkh@linuxfoundation.org" , "davem@davemloft.net" , "akpm@linux-foundation.org" , "nicolas.ferre@microchip.com" , "arnd@arndb.de" , "linux-edac@vger.kernel.org" , "linux-arm-kernel@lists.infradead.org" , "mchehab@kernel.org" , "Sverdlin, Alexander (Nokia - DE/Ulm)" , "devicetree@vger.kernel.org" , "linux-kernel@vger.kernel.org" List-ID: KyBKYW1lcyBhbmQgbGVhdmluZyBpbiB0aGUgcmVzdCBmb3IgcmVmZXJlbmNlLgoKU28gdGhlIGZp cnN0IHRoaW5nIHRvIGZpZ3VyZSBvdXQgaGVyZSBpcyBob3cgZ2VuZXJpYyBpcyB0aGlzIGFuZCBp ZgpzbywgdG8gbWFrZSBpdCBhIGNvcnRleF9hMTVfZWRhYy5jIGRyaXZlciB3aGljaCBjb250YWlu cyBhbGwgdGhlIFJBUwpmdW5jdGlvbmFsaXR5IGZvciBBMTUuIERlZmluaXRlbHkgbm90IGFuIEVE QUMgZHJpdmVyIHBlciBmdW5jdGlvbmFsIHVuaXQKYnV0IHJhdGhlciBwZXIgdmVuZG9yIG9yIGV2 ZW4gQVJNIGNvcmUuCgpKYW1lcz8KCk9uIFR1ZSwgSmFuIDA4LCAyMDE5IGF0IDA4OjEwOjQ1QU0g KzAwMDAsIFdpZWJlLCBXbGFkaXNsYXYgKE5va2lhIC0gREUvVWxtKSB3cm90ZToKPiBUaGlzIGRy aXZlciBhZGRzIHN1cHBvcnQgZm9yIEwyIGludGVybmFsIGFzeW5jaHJvbm91cyBlcnJvciBkZXRl Y3Rpb24KPiBjYXVzZWQgYnkgTDIgUkFNIGRvdWJsZS1iaXQgRUNDIGVycm9yIG9yIGlsbGVnYWwg d3JpdGVzIHRvIHRoZQo+IEludGVycnVwdCBDb250cm9sbGVyIG1lbW9yeS1tYXAgcmVnaW9uIG9u IHRoZSBDb3J0ZXggQTE1Lgo+IAo+IFNpZ25lZC1vZmYtYnk6IFdsYWRpc2xhdiBXaWViZSA8d2xh ZGlzbGF2LndpZWJlQG5va2lhLmNvbT4KPiAtLS0KPiAgTUFJTlRBSU5FUlMgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHwgICAxICsKPiAgZHJpdmVycy9lZGFjL0tjb25maWcgICAgICAgICAg ICAgICAgICAgIHwgIDExICsrKwo+ICBkcml2ZXJzL2VkYWMvTWFrZWZpbGUgICAgICAgICAgICAg ICAgICAgfCAgIDEgKwo+ICBkcml2ZXJzL2VkYWMvY29ydGV4X2ExNV9sMl9hc3luY19lZGFjLmMg fCAxMzQgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKPiAgNCBmaWxlcyBjaGFuZ2Vk LCAxNDcgaW5zZXJ0aW9ucygrKQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9lZGFjL2Nv cnRleF9hMTVfbDJfYXN5bmNfZWRhYy5jCj4gCj4gZGlmZiAtLWdpdCBhL01BSU5UQUlORVJTIGIv TUFJTlRBSU5FUlMKPiBpbmRleCAwNzk2YWQ2ZTY0OTAuLjg0ZGM1MDFiMjU4MiAxMDA2NDQKPiAt LS0gYS9NQUlOVEFJTkVSUwo+ICsrKyBiL01BSU5UQUlORVJTCj4gQEAgLTExMDAsNiArMTEwMCw3 IEBAIEw6CWxpbnV4LWVkYWNAdmdlci5rZXJuZWwub3JnCj4gIEw6CWxpbnV4LWFybS1rZXJuZWxA bGlzdHMuaW5mcmFkZWFkLm9yZyAobW9kZXJhdGVkIGZvciBub24tc3Vic2NyaWJlcnMpCj4gIFM6 CVN1cHBvcnRlZAo+ICBGOglEb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvZWRhYy9j b3J0ZXhfYTE1X2wyX2FzeW5jX2VkYWMudHh0Cj4gK0Y6CWRyaXZlcnMvZWRhYy9jb3J0ZXhfYTE1 X2wyX2FzeW5jX2VkYWMuYwo+ICAKPiAgQVJNIElOVEVHUkFUT1IsIFZFUlNBVElMRSBBTkQgUkVB TFZJRVcgU1VQUE9SVAo+ICBNOglMaW51cyBXYWxsZWlqIDxsaW51cy53YWxsZWlqQGxpbmFyby5v cmc+Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZWRhYy9LY29uZmlnIGIvZHJpdmVycy9lZGFjL0tj b25maWcKPiBpbmRleCA0MWM5Y2NkZDIwZDYuLjg3MjIyMDM5NDhlMCAxMDA2NDQKPiAtLS0gYS9k cml2ZXJzL2VkYWMvS2NvbmZpZwo+ICsrKyBiL2RyaXZlcnMvZWRhYy9LY29uZmlnCj4gQEAgLTQ3 NSw0ICs0NzUsMTUgQEAgY29uZmlnIEVEQUNfUUNPTQo+ICAJICBGb3IgZGVidWdnaW5nIGlzc3Vl cyBoYXZpbmcgdG8gZG8gd2l0aCBzdGFiaWxpdHkgYW5kIG92ZXJhbGwgc3lzdGVtCj4gIAkgIGhl YWx0aCwgeW91IHNob3VsZCBwcm9iYWJseSBzYXkgJ1knIGhlcmUuCj4gIAo+ICtjb25maWcgRURB Q19DT1JURVhfQTE1X0wyX0FTWU5DCj4gKwl0cmlzdGF0ZSAiQ29ydGV4IEExNSBBU1lOQyBMMiAm IGlsbGVnYWwgR0lDIHdyaXRlIGVycm9yIGRldGVjdGlvbiIKPiArCWRlcGVuZHMgb24gQVJNCj4g KwloZWxwCj4gKwkgIFN1cHBvcnQgZm9yIEwyIGludGVybmFsIGFzeW5jaHJvbm91cyBlcnJvciBk ZXRlY3Rpb24gY2F1c2VkIGJ5IEwyIFJBTQo+ICsJICBkb3VibGUtYml0IEVDQyBlcnJvciBvciBp bGxlZ2FsIHdyaXRlcyB0byB0aGUgSW50ZXJydXB0IENvbnRyb2xsZXIKPiArCSAgbWVtb3J5LW1h cCByZWdpb24gb24gdGhlIENvcnRleCBBMTUuCj4gKwo+ICsJICBUaGlzIGRyaXZlciB3b3JrcyBp biBpbnRlcnJ1cHQgbW9kZSB0cmlnZ2VyZWQgYnkgdGhlIG5JTlRFUlJJUlEgYW5kCj4gKwkgIHJl cG9ydHMgb25seSB1bmNvcnJlY3RhYmxlIGVycm9ycy4KPiArCj4gIGVuZGlmICMgRURBQwo+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL2VkYWMvTWFrZWZpbGUgYi9kcml2ZXJzL2VkYWMvTWFrZWZpbGUK PiBpbmRleCA3MTYwOTZkMDhlYTAuLjEyZDE1Y2Y1ZmY0ZSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJz L2VkYWMvTWFrZWZpbGUKPiArKysgYi9kcml2ZXJzL2VkYWMvTWFrZWZpbGUKPiBAQCAtNzgsMyAr NzgsNCBAQCBvYmotJChDT05GSUdfRURBQ19TWU5PUFNZUykJCSs9IHN5bm9wc3lzX2VkYWMubwo+ ICBvYmotJChDT05GSUdfRURBQ19YR0VORSkJCSs9IHhnZW5lX2VkYWMubwo+ICBvYmotJChDT05G SUdfRURBQ19USSkJCQkrPSB0aV9lZGFjLm8KPiAgb2JqLSQoQ09ORklHX0VEQUNfUUNPTSkJCQkr PSBxY29tX2VkYWMubwo+ICtvYmotJChDT05GSUdfRURBQ19DT1JURVhfQTE1X0wyX0FTWU5DKQkr PSBjb3J0ZXhfYTE1X2wyX2FzeW5jX2VkYWMubwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2VkYWMv Y29ydGV4X2ExNV9sMl9hc3luY19lZGFjLmMgYi9kcml2ZXJzL2VkYWMvY29ydGV4X2ExNV9sMl9h c3luY19lZGFjLmMKPiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+IGluZGV4IDAwMDAwMDAwMDAwMC4u MjYyNTI1NjhlOTYxCj4gLS0tIC9kZXYvbnVsbAo+ICsrKyBiL2RyaXZlcnMvZWRhYy9jb3J0ZXhf YTE1X2wyX2FzeW5jX2VkYWMuYwo+IEBAIC0wLDAgKzEsMTM0IEBACj4gKy8vIFNQRFgtTGljZW5z ZS1JZGVudGlmaWVyOiBHUEwtMi4wCj4gKy8qCj4gKyAqIENvcHlyaWdodCAoQykgMjAxOCBOb2tp YSBDb3Jwb3JhdGlvbgo+ICsgKgo+ICsgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsg eW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdAo+ICsgKiB1bmRlciB0aGUg dGVybXMgYW5kIGNvbmRpdGlvbnMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLAo+ ICsgKiB2ZXJzaW9uIDIsIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0 aW9uLgo+ICsgKgo+ICsgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUg aXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCj4gKyAqIEFOWSBXQVJSQU5UWTsgd2l0aG91 dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mIE1FUkNIQU5UQUJJTElUWSBvcgo+ICsgKiBG SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVi bGljIExpY2Vuc2UgZm9yCj4gKyAqIG1vcmUgZGV0YWlscy4KPiArICoKPiArICogWW91IHNob3Vs ZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2Ug YWxvbmcgd2l0aAo+ICsgKiB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5n bnUub3JnL2xpY2Vuc2VzLz4uCj4gKyAqLwo+ICsKPiArI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5o Pgo+ICsjaW5jbHVkZSA8bGludXgvaW50ZXJydXB0Lmg+Cj4gKyNpbmNsdWRlIDxsaW51eC9wbGF0 Zm9ybV9kZXZpY2UuaD4KPiArI2luY2x1ZGUgPGxpbnV4L29mLmg+Cj4gKwo+ICsjaW5jbHVkZSAi ZWRhY19tb2R1bGUuaCIKPiArCj4gKyNkZWZpbmUgRFJJVkVSX05BTUUgImNvcnRleF9hMTVfbDJf YXN5bmNfZWRhYyIKPiArCj4gKyNkZWZpbmUgTDJFQ1RMUl9MMl9BU1lOQ19FUlIgQklUKDMwKQo+ ICsKPiArc3RhdGljIGlycXJldHVybl90IGNvcnRleF9hMTVfbDJfYXN5bmNfZWRhY19lcnJfaGFu ZGxlcihpbnQgaXJxLCB2b2lkICpkZXZfaWQpCj4gK3sKPiArCXN0cnVjdCBlZGFjX2RldmljZV9j dGxfaW5mbyAqZGNpID0gZGV2X2lkOwo+ICsJdTMyIHN0YXR1cyA9IDA7Cj4gKwo+ICsJLyoKPiAr CSAqIFJlYWQgYW5kIGNsZWFyIEwyRUNUTFIgTDIgQVNZTkMgZXJyb3IgYml0IGNhdXNlZCBieSBJ TlRFUlJJUlEuCj4gKwkgKiBSZWFzb24gY291bGQgYmUgYSBMMiBSQU0gZG91YmxlLWJpdCBFQ0Mg ZXJyb3Igb3IgaWxsZWdhbCB3cml0ZXMKPiArCSAqIHRvIHRoZSBJbnRlcnJ1cHQgQ29udHJvbGxl ciBtZW1vcnktbWFwIHJlZ2lvbi4KPiArCSAqLwo+ICsJYXNtKCJtcmMgcDE1LCAxLCAlMCwgYzks IGMwLCAzIiA6ICI9ciIgKHN0YXR1cykpOwo+ICsJaWYgKHN0YXR1cyAmIEwyRUNUTFJfTDJfQVNZ TkNfRVJSKSB7Cj4gKwkJc3RhdHVzICY9IH5MMkVDVExSX0wyX0FTWU5DX0VSUjsKPiArCQlhc20o Im1jciBwMTUsIDEsICUwLCBjOSwgYzAsIDMiIDogOiAiciIgKHN0YXR1cykpOwo+ICsJCWVkYWNf cHJpbnRrKEtFUk5fRU1FUkcsIERSSVZFUl9OQU1FLAo+ICsJCQkgICAgIkwyIGludGVybmFsIGFz eW5jaHJvbm91cyBlcnJvciBvY2N1cnJlZCFcbiIpOwo+ICsJCWVkYWNfZGV2aWNlX2hhbmRsZV91 ZShkY2ksIDAsIDAsIGRjaS0+Y3RsX25hbWUpOwo+ICsKPiArCQlyZXR1cm4gSVJRX0hBTkRMRUQ7 Cj4gKwl9Cj4gKwo+ICsJcmV0dXJuIElSUV9OT05FOwo+ICt9Cj4gKwo+ICtzdGF0aWMgaW50IGNv cnRleF9hMTVfbDJfYXN5bmNfZWRhY19wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2 KQo+ICt7Cj4gKwlzdHJ1Y3QgZWRhY19kZXZpY2VfY3RsX2luZm8gKmRjaTsKPiArCXN0cnVjdCBk ZXZpY2Vfbm9kZSAqbnAgPSBwZGV2LT5kZXYub2Zfbm9kZTsKPiArCWNoYXIgKmN0bF9uYW1lID0g KGNoYXIgKilucC0+bmFtZTsKPiArCWludCBpID0gMCwgcmV0ID0gMCwgZXJyX2lycSA9IDAsIGly cV9jb3VudCA9IDA7Cj4gKwo+ICsJLyogV2UgY2FuIGhhdmUgbXVsdGlwbGUgQ1BVIGNsdXN0ZXJz IHdpdGggb25lIElOVEVSUklSUSBwZXIgY2x1c3RlciAqLwo+ICsJaXJxX2NvdW50ID0gcGxhdGZv cm1faXJxX2NvdW50KHBkZXYpOwo+ICsJaWYgKGlycV9jb3VudCA8IDApIHsKPiArCQllZGFjX3By aW50ayhLRVJOX0VSUiwgRFJJVkVSX05BTUUsCj4gKwkJCSAgICAiTm8gTDIgQVNZTkMgZXJyb3Ig SVJRIGZvdW5kIVxuIik7Cj4gKwkJcmV0dXJuIC1FSU5WQUw7Cj4gKwl9Cj4gKwo+ICsJZGNpID0g ZWRhY19kZXZpY2VfYWxsb2NfY3RsX2luZm8oMCwgY3RsX25hbWUsIDEsIGN0bF9uYW1lLAo+ICsJ CQkJCSBpcnFfY291bnQsIDAsIE5VTEwsIDAsCj4gKwkJCQkJIGVkYWNfZGV2aWNlX2FsbG9jX2lu ZGV4KCkpOwo+ICsJaWYgKCFkY2kpCj4gKwkJcmV0dXJuIC1FTk9NRU07Cj4gKwo+ICsJZGNpLT5k ZXYgPSAmcGRldi0+ZGV2Owo+ICsJZGNpLT5tb2RfbmFtZSA9IERSSVZFUl9OQU1FOwo+ICsJZGNp LT5jdGxfbmFtZSA9IGN0bF9uYW1lOwo+ICsJZGNpLT5kZXZfbmFtZSA9IGRldl9uYW1lKCZwZGV2 LT5kZXYpOwo+ICsJcGxhdGZvcm1fc2V0X2RydmRhdGEocGRldiwgZGNpKTsKPiArCj4gKwlpZiAo ZWRhY19kZXZpY2VfYWRkX2RldmljZShkY2kpKQo+ICsJCWdvdG8gZXJyOwo+ICsKPiArCWZvciAo aSA9IDA7IGkgPCBpcnFfY291bnQ7IGkrKykgewo+ICsJCWVycl9pcnEgPSBwbGF0Zm9ybV9nZXRf aXJxKHBkZXYsIGkpOwo+ICsJCXJldCA9IGRldm1fcmVxdWVzdF9pcnEoJnBkZXYtPmRldiwgZXJy X2lycSwKPiArCQkJCSAgICAgICBjb3J0ZXhfYTE1X2wyX2FzeW5jX2VkYWNfZXJyX2hhbmRsZXIs IDAsCj4gKwkJCQkgICAgICAgZGV2X25hbWUoJnBkZXYtPmRldiksIGRjaSk7Cj4gKwo+ICsJCWlm IChyZXQgPCAwKSB7Cj4gKwkJCWVkYWNfcHJpbnRrKEtFUk5fRVJSLCBEUklWRVJfTkFNRSwKPiAr CQkJCSAgICAiRmFpbGVkIHRvIHJlZ2lzdGVyIEwyIEFTWU5DIGVycm9yIElSUSAlZFxuIiwKPiAr CQkJCSAgICAgZXJyX2lycSk7Cj4gKwkJCWdvdG8gZXJyMjsKPiArCQl9Cj4gKwl9Cj4gKwo+ICsJ cmV0dXJuIDA7Cj4gK2VycjI6Cj4gKwllZGFjX2RldmljZV9kZWxfZGV2aWNlKCZwZGV2LT5kZXYp Owo+ICtlcnI6Cj4gKwllZGFjX2RldmljZV9mcmVlX2N0bF9pbmZvKGRjaSk7Cj4gKwo+ICsJcmV0 dXJuIHJldDsKPiArfQo+ICsKPiArc3RhdGljIGludCBjb3J0ZXhfYTE1X2wyX2FzeW5jX2VkYWNf cmVtb3ZlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCj4gK3sKPiArCXN0cnVjdCBlZGFj X2RldmljZV9jdGxfaW5mbyAqZGNpID0gcGxhdGZvcm1fZ2V0X2RydmRhdGEocGRldik7Cj4gKwo+ ICsJZWRhY19kZXZpY2VfZGVsX2RldmljZSgmcGRldi0+ZGV2KTsKPiArCWVkYWNfZGV2aWNlX2Zy ZWVfY3RsX2luZm8oZGNpKTsKPiArCj4gKwlyZXR1cm4gMDsKPiArfQo+ICsKPiArc3RhdGljIGNv bnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgY29ydGV4X2ExNV9sMl9hc3luY19lZGFjX29mX21hdGNo W10gPSB7Cj4gKwl7IC5jb21wYXRpYmxlID0gImFybSxjb3J0ZXgtYTE1LWwyLWFzeW5jLWVkYWMi LCB9LAo+ICsJe30sCj4gK307Cj4gK01PRFVMRV9ERVZJQ0VfVEFCTEUob2YsIGNvcnRleF9hMTVf bDJfYXN5bmNfZWRhY19vZl9tYXRjaCk7Cj4gKwo+ICtzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2Ry aXZlciBjb3J0ZXhfYTE1X2wyX2FzeW5jX2VkYWNfZHJpdmVyID0gewo+ICsJLnByb2JlID0gY29y dGV4X2ExNV9sMl9hc3luY19lZGFjX3Byb2JlLAo+ICsJLnJlbW92ZSA9IGNvcnRleF9hMTVfbDJf YXN5bmNfZWRhY19yZW1vdmUsCj4gKwkuZHJpdmVyID0gewo+ICsJCS5uYW1lID0gRFJJVkVSX05B TUUsCj4gKwkJLm9mX21hdGNoX3RhYmxlID0gY29ydGV4X2ExNV9sMl9hc3luY19lZGFjX29mX21h dGNoLAo+ICsJfSwKPiArfTsKPiArbW9kdWxlX3BsYXRmb3JtX2RyaXZlcihjb3J0ZXhfYTE1X2wy X2FzeW5jX2VkYWNfZHJpdmVyKTsKPiArCj4gK01PRFVMRV9BVVRIT1IoIldsYWRpc2xhdiBXaWVi ZSA8d2xhZGlzbGF2LndpZWJlQG5va2lhLmNvbT4iKTsKPiArTU9EVUxFX0RFU0NSSVBUSU9OKCJB Uk0gQ29ydGV4IEExNSBMMiBpbnRlcm5hbCBhc3luY2hyb25vdXMgZXJyb3IgZGV0ZWN0aW9uIik7 Cj4gK01PRFVMRV9MSUNFTlNFKCJHUEwgdjIiKTsKPiAtLSAKPiAyLjE2LjEK