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: James Morse Message-Id: Date: Tue, 8 Jan 2019 17:57:24 +0000 To: Borislav Petkov , "Wiebe, Wladislav (Nokia - DE/Ulm)" 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: SGkgQm9yaXMsIFdsYWRpc2xhdiwKCk9uIDA4LzAxLzIwMTkgMTA6NDIsIEJvcmlzbGF2IFBldGtv diB3cm90ZToKPiArIEphbWVzIGFuZCBsZWF2aW5nIGluIHRoZSByZXN0IGZvciByZWZlcmVuY2Uu CgoodGhhbmtzISkKCj4gU28gdGhlIGZpcnN0IHRoaW5nIHRvIGZpZ3VyZSBvdXQgaGVyZSBpcyBo b3cgZ2VuZXJpYyBpcyB0aGlzIGFuZCBpZgo+IHNvLCB0byBtYWtlIGl0IGEgY29ydGV4X2ExNV9l ZGFjLmMgZHJpdmVyIHdoaWNoIGNvbnRhaW5zIGFsbCB0aGUgUkFTCj4gZnVuY3Rpb25hbGl0eSBm b3IgQTE1LiBEZWZpbml0ZWx5IG5vdCBhbiBFREFDIGRyaXZlciBwZXIgZnVuY3Rpb25hbCB1bml0 Cj4gYnV0IHJhdGhlciBwZXIgdmVuZG9yIG9yIGV2ZW4gQVJNIGNvcmUuCgpUaGlzIGlzIGltcGxl bWVudGF0aW9uLWRlZmluZWQvc3BlY2lmaWMtdG8tQTE1IGFuZCBpcyBkb2N1bWVudGVkIGluIHRo ZSBUUk0gWzBdLgooT24gdGhlICdhbGwgdGhlIFJBUyBmdW5jdGlvbmFsaXR5IGZvciBBMTUnIGZy b250OiB0aGVyZSBhcmUgdHdvIG1vcmUgcmVnaXN0ZXJzOgpMMk1FUlJTUiBhbmQgQ1BVTUVSUlNS LiBUaGVzZSBhcmUgYm90aCBhY2Nlc3NpYmxlIGZyb20gdGhlIG5vcm1hbC13b3JsZCwgYW5kCmRv bid0IGFwcGVhciB0byBuZWVkIGVuYWJsaW5nLikKCgpCdXQgd2UgaGF2ZSB0aGUgdXN1YWwgcHJl LXY4LjIgcHJvYmxlbXMsIGFuZCBpbiBhZGRpdGlvbiBjbHVzdGVyLWludGVycnVwdHMsIGFzCnRo aXMgc2lnbmFsIG1pZ2h0IGJlIHBlci1jbHVzdGVyLCBvciBpdCBtaWdodCBiZSBjb21iaW5lZC4K CldsYWRpc2xhdiwgSSdtIGFmcmFpZCB3ZSd2ZSBoYWQgYSBmZXcgYXR0ZW1wdHMgYXQgcHJlLTgu MiBFREFDIGRyaXZlcnMsIHRoZQpiZWxvdyBsaXN0IG9mIHByb2JsZW1zIGlzIHdoYXQgd2UndmUg bGVhcm50IGFsb25nIHRoZSB3YXkuIFRoZSB1cHNob3QgaXMgdGhhdApiZWZvcmUgdGhlIGFyY2hp dGVjdGVkIFJBUyBleHRlbnNpb25zLCB0aGUgZXhwZWN0YXRpb24gaXMgZmlybXdhcmUgd2lsbCBo YW5kbGUKYWxsIHRoaXMsIGFzIGl0cyBkaWZmaWN1bHQgZm9yIHRoZSBPUyB0byBkZWFsIHdpdGgu CgoKTXkgZmlyc3QgcXVlc3Rpb24gaXMgaG93IHVzZWZ1bCBpcyBhICdzb21ldGhpbmcgYmFkIGhh cHBlbmVkJyBlZGFjIGV2ZW50PyBCZWZvcmUKdGhlIHY4LjIgZXh0ZW5zaW9ucyB3aXRoIGl0cyBj bGFzc2lmaWNhdGlvbiBvZiBlcnJvcnMsIHdlIGRvbid0IGtub3cgYW55dGhpbmcgbW9yZS4KClRo ZSB1c3VhbCBzdXNwZWN0cyBhcmUsIChwYXJ0bHkgdGFrZW4gZnJvbSB0aGUgdGhyZWFkIGF0IFsx XSk6CiogQTE1IGV4aXN0cyBpbiBiaWcvbGl0dGxlIGNvbmZpZ3VyYXRpb25zLiBXZSBuZWVkIHRv IGtub3cgd2hpY2ggQ1BVcyBhcmUgQTE1LgoqIFdlIG5lZWQgdG8ga25vdyB3ZSBhcmVuJ3QgcnVu bmluZyB1bmRlciBhIGh5cGVydmlzb3IsIChhIGh5cGVydmlzb3IgY2FuIHRyYXAKICBhY2Nlc3Nl cyB0byB0aGVzZSBpbXAtZGVmIHJlZ2lzdGVyLCBLVk0gZG9lcykuCiogTm90aGluZyBlbHNlIHNo b3VsZCBiZSBjbGVhcmluZyB0aGVzZSBiaXRzLCBlLmcuIHNlY3VyZS13b3JsZCBzb2Z0d2FyZSwg b3IKICBhbm90aGVyIENQVS4KKiBTZWN1cmUtd29ybGQgbmVlZHMgdG8gZW5hYmxlIHdyaXRlLWFj Y2VzcyB0byBMMkVDVExSLCBhbmQgd2UgbmVlZCB0bwogIGtub3cgaXRzIGRvbmUgaXQuIFRoaXMg bmVlZHMgZG9pbmcgb24gZXZlcnkgQ1BVLCBhbmQgbmVlZHMgdG8gbm90ICdnbyBtaXNzaW5nJwog IG92ZXIgY3B1LWhvdHBsdWcgb3IgY3B1LWlkbGUuCgpUaGVzZSBhcmUgdGhpbmdzIHRoYXQgZG9u J3QgbmF0dXJhbGx5IGxpdmUgaW4gdGhlIERULgoKClRoZSBuZXctb25lIGlzIHRoZXNlIGNsdXN0 ZXItaW50ZXJydXB0czogSG93IGRvIHdlIGtub3cgd2hpY2ggc2V0IG9mIENQVXMgZWFjaAppbnRl cnJ1cHQgZ29lcyB3aXRoPyBXaGF0IGhhcHBlbnMgaWYgdXNlci1zcGFjZSB0cmllcyB0byByZWJh bGFuY2UgdGhlbT8KCkFub3RoZXIgU29DIHdpdGggQTE1IG1heSBjb21iaW5lIGFsbCB0aGUgY2x1 c3Rlci1pbnRlcnJ1cHRzIGludG8gYSBzaW5nbGUKJ3NvbWV0aGluZyBiYWQgaGFwcGVuZWQnIGlu dGVycnVwdC4gRG9uZSBsaWtlIHRoaXMsIHdlIHdvdWxkIG5lZWQgdG8gY3Jvc3MtY2FsbAp0byB0 aGUgb3RoZXIgQ1BVcyB3aGVuIHdlIHRha2UgYW4gaW50ZXJydXB0IC0gd2hpY2ggaXMgbm90IHNv bWV0aGluZyB3ZSBjYW4gZG8uCgpJcyB0aGlzIGEgbGV2ZWwgb3IgZWRnZSBpbnRlcnJ1cHQ/IElz IGl0IG5lY2Vzc2FyeSB0byBjbGVhciB0aGF0IGJpdCBpbiB0aGUKcmVnaXN0ZXIgdG8gbG93ZXIg dGhlIGludGVycnVwdCBsaW5lPwpUaGUgVFJNIHRhbGtzIGFib3V0ICdwZW5kaW5nIEwyIGludGVy bmFsIGFzeW5jaHJvbm91cyBlcnJvcicsIHBlbmRpbmcgbWFrZXMgbWUKc3VzcGVjdCB0aGlzIGlz IGF0IGxlYXN0IHBvc3NpYmxlLiBJZiBpdCBpcywgYSBsZXZlbC1pbnRlcnJ1cHQgdG8gb25lIENQ VSwgdGhhdApjYW4gb25seSBiZSBjbGVhcmVkIGJ5IGFub3RoZXIgbGVhZHMgdG8gZGVhZGxvY2su CgoKVGhhbmtzLAoKSmFtZXMKCj4gT24gVHVlLCBKYW4gMDgsIDIwMTkgYXQgMDg6MTA6NDVBTSAr MDAwMCwgV2llYmUsIFdsYWRpc2xhdiAoTm9raWEgLSBERS9VbG0pIHdyb3RlOgo+PiBUaGlzIGRy aXZlciBhZGRzIHN1cHBvcnQgZm9yIEwyIGludGVybmFsIGFzeW5jaHJvbm91cyBlcnJvciBkZXRl Y3Rpb24KPj4gY2F1c2VkIGJ5IEwyIFJBTSBkb3VibGUtYml0IEVDQyBlcnJvciBvciBpbGxlZ2Fs IHdyaXRlcyB0byB0aGUKPj4gSW50ZXJydXB0IENvbnRyb2xsZXIgbWVtb3J5LW1hcCByZWdpb24g b24gdGhlIENvcnRleCBBMTUuCgo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9lZGFjL2NvcnRleF9h MTVfbDJfYXN5bmNfZWRhYy5jIGIvZHJpdmVycy9lZGFjL2NvcnRleF9hMTVfbDJfYXN5bmNfZWRh Yy5jCj4+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4+IGluZGV4IDAwMDAwMDAwMDAwMC4uMjYyNTI1 NjhlOTYxCj4+IC0tLSAvZGV2L251bGwKPj4gKysrIGIvZHJpdmVycy9lZGFjL2NvcnRleF9hMTVf bDJfYXN5bmNfZWRhYy5jCj4+IEBAIC0wLDAgKzEsMTM0IEBACj4+ICsvLyBTUERYLUxpY2Vuc2Ut SWRlbnRpZmllcjogR1BMLTIuMAo+PiArLyoKPj4gKyAqIENvcHlyaWdodCAoQykgMjAxOCBOb2tp YSBDb3Jwb3JhdGlvbgoKKGJvaWxlciBwbGF0ZSBub3QgbmVlZGVkIHdpdGggdGhlIFNQRFggaGVh ZGVyKQoKPj4gKyAqLwo+PiArCj4+ICsjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+Cj4+ICsjaW5j bHVkZSA8bGludXgvaW50ZXJydXB0Lmg+Cj4+ICsjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2 aWNlLmg+Cj4+ICsjaW5jbHVkZSA8bGludXgvb2YuaD4KPj4gKwo+PiArI2luY2x1ZGUgImVkYWNf bW9kdWxlLmgiCj4+ICsKPj4gKyNkZWZpbmUgRFJJVkVSX05BTUUgImNvcnRleF9hMTVfbDJfYXN5 bmNfZWRhYyIKPj4gKwo+PiArI2RlZmluZSBMMkVDVExSX0wyX0FTWU5DX0VSUiBCSVQoMzApCj4+ ICsKPj4gK3N0YXRpYyBpcnFyZXR1cm5fdCBjb3J0ZXhfYTE1X2wyX2FzeW5jX2VkYWNfZXJyX2hh bmRsZXIoaW50IGlycSwgdm9pZCAqZGV2X2lkKQo+PiArewo+PiArCXN0cnVjdCBlZGFjX2Rldmlj ZV9jdGxfaW5mbyAqZGNpID0gZGV2X2lkOwo+PiArCXUzMiBzdGF0dXMgPSAwOwo+PiArCj4+ICsJ LyoKPj4gKwkgKiBSZWFkIGFuZCBjbGVhciBMMkVDVExSIEwyIEFTWU5DIGVycm9yIGJpdCBjYXVz ZWQgYnkgSU5URVJSSVJRLgo+PiArCSAqIFJlYXNvbiBjb3VsZCBiZSBhIEwyIFJBTSBkb3VibGUt Yml0IEVDQyBlcnJvciBvciBpbGxlZ2FsIHdyaXRlcwo+PiArCSAqIHRvIHRoZSBJbnRlcnJ1cHQg Q29udHJvbGxlciBtZW1vcnktbWFwIHJlZ2lvbi4KPj4gKwkgKi8KPj4gKwlhc20oIm1yYyBwMTUs IDEsICUwLCBjOSwgYzAsIDMiIDogIj1yIiAoc3RhdHVzKSk7CgoiTDIgaW50ZXJuYWwgYXN5bmNo cm9ub3VzIGVycm9yIGNhdXNlZCBieSBMMiBSQU0gZG91YmxlLWJpdCBFQ0MgZXJyb3IiIGRvZXNu J3QKdGVsbCB1cyBpZiBhIENQVSBjb25zdW1lZCB0aGUgZXJyb3IsIG9yIGlmIHRoZSBlcnJvciBo YXMgY2F1c2VkIGEgd3JpdGUgdG8gZ28KbWlzc2luZy4gV2l0aG91dCB0aGUgY2xhc3NpZmljYXRp b24sIHRoaXMgbWVhbnMgJ3NvbWV0aGluZyBiYWQgaGFwcGVuZWQnLgoKSSdkIHByZWZlciB0byBw YW5pYygpIHdoZW4gd2Ugc2VlIG9uZSBvZiB0aGVzZS4gSSdkIGxpa2UgaXQgZXZlbiBtb3JlIGlm CmZpcm13YXJlIHJlYm9vdGVkIGZvciB1cy4KCgo+PiArCWlmIChzdGF0dXMgJiBMMkVDVExSX0wy X0FTWU5DX0VSUikgewo+PiArCQlzdGF0dXMgJj0gfkwyRUNUTFJfTDJfQVNZTkNfRVJSOwo+PiAr CQlhc20oIm1jciBwMTUsIDEsICUwLCBjOSwgYzAsIDMiIDogOiAiciIgKHN0YXR1cykpOwoKNC4z LjQ5ICJMMiBFeHRlbmRlZCBDb250cm9sIFJlZ2lzdGVyIiBvZiB0aGUgQTE1IFRSTSBzYXlzIHRo aXMgZmllbGQgY2FuIGJlCnJlYWQtb25seS93cml0ZS1pZ25vcmVkIGZvciB0aGUgbm9ybWFsIHdv cmxkIGlmIE5TQUNSLk5TX0wyRVJSIGlzIDAuCgpIb3cgZG8gd2Uga25vdyBpZiBmaXJtd2FyZSBo YXMgc2V0IHRoaXMgYml0IG9uIGFsbCBDUFVzPyBXZSBjYW4ndCBjbGVhciB0aGUKZXJyb3Igb3Ro ZXJ3aXNlLgoKCj4+ICsJCWVkYWNfcHJpbnRrKEtFUk5fRU1FUkcsIERSSVZFUl9OQU1FLAo+PiAr CQkJICAgICJMMiBpbnRlcm5hbCBhc3luY2hyb25vdXMgZXJyb3Igb2NjdXJyZWQhXG4iKTsKPj4g KwkJZWRhY19kZXZpY2VfaGFuZGxlX3VlKGRjaSwgMCwgMCwgZGNpLT5jdGxfbmFtZSk7Cgo+PiAr Cj4+ICsJCXJldHVybiBJUlFfSEFORExFRDsKPj4gKwl9Cj4+ICsKPj4gKwlyZXR1cm4gSVJRX05P TkU7Cj4+ICt9Cj4+ICsKPj4gK3N0YXRpYyBpbnQgY29ydGV4X2ExNV9sMl9hc3luY19lZGFjX3By b2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCj4+ICt7Cj4+ICsJc3RydWN0IGVkYWNf ZGV2aWNlX2N0bF9pbmZvICpkY2k7Cj4+ICsJc3RydWN0IGRldmljZV9ub2RlICpucCA9IHBkZXYt PmRldi5vZl9ub2RlOwo+PiArCWNoYXIgKmN0bF9uYW1lID0gKGNoYXIgKilucC0+bmFtZTsKPj4g KwlpbnQgaSA9IDAsIHJldCA9IDAsIGVycl9pcnEgPSAwLCBpcnFfY291bnQgPSAwOwo+PiArCj4+ ICsJLyogV2UgY2FuIGhhdmUgbXVsdGlwbGUgQ1BVIGNsdXN0ZXJzIHdpdGggb25lIElOVEVSUklS USBwZXIgY2x1c3RlciAqLwoKU3VyZWx5IHRoaXMgYW4gaW50ZWdyYXRpb24gY2hvaWNlPwoKWW91 J3JlIGFjY2Vzc2luZyB0aGUgY2x1c3RlciB0aHJvdWdoIGEgY3B1IHJlZ2lzdGVyIGluIHRoZSBo YW5kbGVyLCB3aGF0IGhhcHBlbnMKaWYgdGhlIGludGVycnVwdCBpcyBkZWxpdmVyZWQgdG8gdGhl IHdyb25nIGNsdXN0ZXI/CkhvdyBkbyB3ZSBrbm93IHdoaWNoIGludGVycnVwdCBtYXBzIHRvIHdo aWNoIGNsdXN0ZXI/CkhvdyBkbyB3ZSBzdG9wIHVzZXItc3BhY2UgJ2JhbGFuY2luZycgdGhlIGlu dGVycnVwdHM/CgoKPj4gKwlpcnFfY291bnQgPSBwbGF0Zm9ybV9pcnFfY291bnQocGRldik7Cj4+ ICsJaWYgKGlycV9jb3VudCA8IDApIHsKPj4gKwkJZWRhY19wcmludGsoS0VSTl9FUlIsIERSSVZF Ul9OQU1FLAo+PiArCQkJICAgICJObyBMMiBBU1lOQyBlcnJvciBJUlEgZm91bmQhXG4iKTsKPj4g KwkJcmV0dXJuIC1FSU5WQUw7Cj4+ICsJfQo+PiArCj4+ICsJZGNpID0gZWRhY19kZXZpY2VfYWxs b2NfY3RsX2luZm8oMCwgY3RsX25hbWUsIDEsIGN0bF9uYW1lLAo+PiArCQkJCQkgaXJxX2NvdW50 LCAwLCBOVUxMLCAwLAo+PiArCQkJCQkgZWRhY19kZXZpY2VfYWxsb2NfaW5kZXgoKSk7Cj4+ICsJ aWYgKCFkY2kpCj4+ICsJCXJldHVybiAtRU5PTUVNOwo+PiArCj4+ICsJZGNpLT5kZXYgPSAmcGRl di0+ZGV2Owo+PiArCWRjaS0+bW9kX25hbWUgPSBEUklWRVJfTkFNRTsKPj4gKwlkY2ktPmN0bF9u YW1lID0gY3RsX25hbWU7Cj4+ICsJZGNpLT5kZXZfbmFtZSA9IGRldl9uYW1lKCZwZGV2LT5kZXYp Owo+PiArCXBsYXRmb3JtX3NldF9kcnZkYXRhKHBkZXYsIGRjaSk7Cj4+ICsKPj4gKwlpZiAoZWRh Y19kZXZpY2VfYWRkX2RldmljZShkY2kpKQo+PiArCQlnb3RvIGVycjsKPj4gKwo+PiArCWZvciAo aSA9IDA7IGkgPCBpcnFfY291bnQ7IGkrKykgewo+PiArCQllcnJfaXJxID0gcGxhdGZvcm1fZ2V0 X2lycShwZGV2LCBpKTsKPj4gKwkJcmV0ID0gZGV2bV9yZXF1ZXN0X2lycSgmcGRldi0+ZGV2LCBl cnJfaXJxLAo+PiArCQkJCSAgICAgICBjb3J0ZXhfYTE1X2wyX2FzeW5jX2VkYWNfZXJyX2hhbmRs ZXIsIDAsCj4+ICsJCQkJICAgICAgIGRldl9uYW1lKCZwZGV2LT5kZXYpLCBkY2kpOwo+PiArCj4+ ICsJCWlmIChyZXQgPCAwKSB7Cj4+ICsJCQllZGFjX3ByaW50ayhLRVJOX0VSUiwgRFJJVkVSX05B TUUsCj4+ICsJCQkJICAgICJGYWlsZWQgdG8gcmVnaXN0ZXIgTDIgQVNZTkMgZXJyb3IgSVJRICVk XG4iLAo+PiArCQkJCSAgICAgZXJyX2lycSk7Cj4+ICsJCQlnb3RvIGVycjI7Cj4+ICsJCX0KPj4g Kwl9Cj4+ICsKPj4gKwlyZXR1cm4gMDsKPj4gK2VycjI6Cj4+ICsJZWRhY19kZXZpY2VfZGVsX2Rl dmljZSgmcGRldi0+ZGV2KTsKPj4gK2VycjoKPj4gKwllZGFjX2RldmljZV9mcmVlX2N0bF9pbmZv KGRjaSk7Cj4+ICsKPj4gKwlyZXR1cm4gcmV0Owo+PiArfQoKClswXQpodHRwOi8vaW5mb2NlbnRl ci5hcm0uY29tL2hlbHAvdG9waWMvY29tLmFybS5kb2MuZGRpMDQzOGMvRERJMDQzOENfY29ydGV4 X2ExNV9yMnAwX3RybS5wZGYKWzFdIGh0dHBzOi8vbG9yZS5rZXJuZWwub3JnL2xrbWwvMTUyMTA3 MzA2Ny0yNDM0OC0xLWdpdC1zZW5kLWVtYWlsLXlvcmsuc3VuQG54cC5jb20vCg==