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: EDAC, dmc520:: add DMC520 EDAC driver From: James Morse Message-Id: <0866a996-49f7-1498-4653-20232bef2f46@arm.com> Date: Mon, 21 Jan 2019 17:09:26 +0000 To: Sasha Levin , ruizhao@microsoft.com Cc: bp@alien8.de, mchehab@kernel.org, linux-edac@vger.kernel.org, linux-kernel@vger.kernel.org, linux-kernel@microsoft.com, will.deacon@arm.com, okaya@kernel.org List-ID: SGkgU2FzaGEsIFJ1aSwKCk9uIDE4LzAxLzIwMTkgMTY6MjMsIFNhc2hhIExldmluIHdyb3RlOgo+ IEZyb206IFJ1aSBaaGFvIDxydWl6aGFvQG1pY3Jvc29mdC5jb20+Cj4gTmV3IGRyaXZlciBzdXBw b3J0cyBEUkFNIGVycm9yIGRldGVjdGlvbiBhbmQgY29ycmVjdGlvbiBvbiBETUM1MjAKPiBjb250 cm9sbGVyLgoKPiBWYWxpZGF0ZWQgb24gYWN0dWFsIGhhcmR3YXJlOiBEUkFNIGVycm9ycyBzaG93 ZWQgdXAgb25jZSB0aGUgRERSIGNvcmUKPiB2b2x0YWdlIHdhcyBsb3dlcmVkIGRvd24gYnkgMjAw K21WIHVzaW5nIHRlc3QgdG9vbC4KClRoYXQncyBxdWl0ZSBjb29sIQoKCj4gLS0tCj4gIE1BSU5U QUlORVJTICAgICAgICAgICAgICAgIHwgICA2ICsKPiAgZHJpdmVycy9lZGFjL0tjb25maWcgICAg ICAgfCAgIDcgKwo+ICBkcml2ZXJzL2VkYWMvTWFrZWZpbGUgICAgICB8ICAgMSArCj4gIGRyaXZl cnMvZWRhYy9kbWM1MjBfZWRhYy5jIHwgNDk1ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysKPiAgNCBmaWxlcyBjaGFuZ2VkLCA1MDkgaW5zZXJ0aW9ucygrKQo+ICBjcmVhdGUg bW9kZSAxMDA2NDQgZHJpdmVycy9lZGFjL2RtYzUyMF9lZGFjLmMKCldoZXJlIGRvIEkgZmluZCB0 aGUgZHQtYmluZGluZyBmb3IgdGhpcz8KCkl0IHdvdWxkIGJlIGdvb2QgaWYgd2UgY2FuIG1ha2Ug dGhpcyBnZW5lcmljLCBzbyBpdCB3b3JrcyBvbiBhbGwgcGxhdGZvcm1zIHdpdGgKYSBETUM1MjAs IHBvc3NpYmx5IGFsb25nIHdpdGggb3RoZXIgY29tcG9uZW50cy4gKGUuZy4gdGhlIGExNSBMMiBk cml2ZXIgcG9zdGVkCnJlY2VudGx5KS4KClRoaXMgd2lsbCBtb3N0bHkgYmUgZ2V0dGluZyB0aGUg RFQgcmlnaHQsIGFzIHdlIGNhbiByZWZhY3RvciB0aGUgY29kZSB3aGVuIGEKc2Vjb25kIHVzZXIg Y29tZXMgYWxvbmcsIGJ1dCBjYW4ndCBjaGFuZ2UgdGhlIERUIGZvcm1hdC4KCgpUaGUgVFJNIGRl c2NyaWJlcyAnYSBzZXQgb2YgaW50ZXJydXB0cycsIHdoaWNoIG9uZXMgZG9lcyB0aGUgYmluZGlu ZyBhbnRpY2lwYXRlCmFyZSB3aXJlZCB1cCBmb3IgdGhpcz8gVGhlcmUgYXJlIHNlcGFyYXRlIHN0 YXR1cyBiaXRzIGZvciBjb3JyZWN0ZWQgYW5kCnVuY29ycmVjdGVkLCBhbmQgb25lIHBhaXIgZm9y IGRyYW0gdmVyc3VzIHJhbS4gKG5vdCBzdXJlIHdoYXQgdGhpcyBjb3JyZXNwb25kcwp3aXRoKS4K CkRvIHdlIGNhcmUgYWJvdXQgdGhlIGxpbmstZXJyb3IgaW50ZXJydXB0PwoKCkl0IGxvb2tzIHlv dSdyZSBwbGF0Zm9ybSBoYXMgd2lyZWQgY29ycmVjdGVkIGFuZCB1bmNvcnJlY3RlZCBkcmFtIHVw IGFzIHNlcGFyYXRlClNQSSwgYnV0IG5vdCB0b3VjaGVkIHRoZSByYW0gaW50ZXJydXB0cy4gVGhl c2UgYXJlIGNob2ljZXMgdGhlIHNvYyBkZXNpZ25lcnMKbWFkZSwgd2UgbmVlZCB0byBjYXB0dXJl IHRoaXMgc3R1ZmYgaW4gdGhlIGJpbmRpbmcuCgpBIHN5c3RlbSBtYXkgaGF2ZSBtdWx0aXBsZSBt ZW1vcnkgY29udHJvbGxlcnMsIHRoZXkgbWF5IHNoYXJlIHRoZSBpbnRlcnJ1cHRzLgoKKEl0IGxv b2tzIGxpa2UgeW91J3ZlIGZvbGRlZCB0aGVzZSBjb3JuZXJzIG91dCBieSBub3QgdXNpbmcgSVJR Rl9TSEFSRUQ6IHRoaXMKZHJpdmVyIG9ubHkgd29ya3MgZm9yIGluZGVwZW5kZW50IGludGVycnVw dHMsIHdoaWNoIGNhbiBydW4gY29uY3VycmVudGx5LCBidXQKd29yayBmaW5lIGJlY2F1c2UgdGhl IG9ubHkgcmVnaXN0ZXIgdGhleSBib3RoIHRvdWNoIGlzIGludGVycnVwdF9jbHIsIHdoaWNoIGlz CndyaXRlLW9ubHkuKQoKCkZvciB0aGVzZSBwcmUtdjguMi1SQVMgdGhpbmdzIHRoZSBleHBlY3Rh dGlvbiBpcyBmaXJtd2FyZSBoYW5kbGVzIGFsbCB0aGlzCnN0dWZmLiBJJ20gc3VycHJpc2VkIHlv dXIgcGxhdGZvcm0gaGFzbid0IG1hZGUgdGhlIG1lbW9yeS1jb250cm9sbGVyCidzZWN1cmUtb25s eScsIHNvIG9ubHkgcGxhdGZvcm0tZmlybXdhcmUgY2FuIHRvdWNoIGl0LgoKSSBjYW4ndCBzZWUg aG93IHRoaXMgY291bGQgYmUgdXNlZCBvbiB2OC9hYXJjaDY0LCBpdCB3b3VsZCBpbXBseSB0aGVy ZSBpcyBubwpmaXJtd2FyZSwgd2hpY2ggc3VnZ2VzdHMgdGhpcyBpcyBhIFVQIHN5c3RlbS4gKG9y IGZpcm13YXJlIHRydXN0cyBsaW51eCBub3QgdG8KbWVzcyBpdCB1cCEpCgpJJ20gZ3Vlc3Npbmcg dGhpcyBpcyBmb3IgMzJiaXQsIHdoZXJlIG9uIHlvdXIgcGxhdGZvcm0gbGludXggaXMgcnVubmlu ZyBpbgonc2VjdXJlJy4gVGhpcyBpcyBhIHNpZ25pZmljYW50IHBsYXRmb3JtIHBvbGljeSwgdG8g bWFrZSB0aGlzIGdlbmVyaWMgd2UnZCBuZWVkCnRvIGZpbmQgYSB3YXkgb2YgZGVzY3JpYmluZyBp dC4gaS5lLiwgb3RoZXIgcGxhdGZvcm1zIG1heSBoYXZlIGEgZG1jNTIwLCB0aGUgRFQKbWF5IGRl c2NyaWJlIHdoZXJlIGl0IGlzLCBidXQgbGludXggY2FuJ3QgdG91Y2ggaXQuCkkgYmVsaWV2ZSB0 aGF0IHRvZGF5IHRoaXMgZGVwZW5kcyBvbiB0aGUgYm9vdGxvYWRlciBrbm93aW5nIHdoaWNoIG5v ZGVzIHRvCnJlbW92ZSB3aGVuIHN0YXJ0aW5nIGxpbnV4LgoKSSB0aGluayB0aGlzIHBvbGljeS1i aXQgY2FuIGJlIGRvbmUgYnkgaGF2aW5nIGEgc29jLWZhbWlseS92ZW5kb3Igc3BlY2lmaWMKZHJp dmVyIHRoYXQga25vd3Mgd2hpY2ggb2YgdGhlIGVkYWMgY29tcG9uZW50cyBjYW4gYmUgdXNlZCBv biB0aGlzIHBsYXRmb3JtLgpUaGUgYWx0ZXJhIGRyaXZlciBkb2VzIHNvbWV0aGluZyBhbG9uZyB0 aGVzZSBsaW5lcyBpbiBhbHRyX3NkcmFtX3Byb2JlKCkuCk9idmlvdXNseSBpZiB3ZSBjYW4gaGF2 ZSBhbGwgdGhlIGRhdGEgY29tZSBmcm9tIERUIHRoYXQgaXMgYmV0dGVyLgoKCj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvZWRhYy9kbWM1MjBfZWRhYy5jIGIvZHJpdmVycy9lZGFjL2RtYzUyMF9lZGFj LmMKPiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+IGluZGV4IDAwMDAwMDAwMDAwMC4uNWYxNDg4OTA3 NGFmCj4gLS0tIC9kZXYvbnVsbAo+ICsrKyBiL2RyaXZlcnMvZWRhYy9kbWM1MjBfZWRhYy5jCj4g QEAgLTAsMCArMSw0OTUgQEAKCj4gKy8qIERyaXZlciBzZXR0aW5ncyAqLwo+ICsjZGVmaW5lIERN QzUyMF9FREFDX0NIQU5TCQkJMQo+ICsjZGVmaW5lIERNQzUyMF9FREFDX0VSUl9HUkFJTgkJCTEK PiArI2RlZmluZSBETUM1MjBfRURBQ19JTlRfQ09VTlQJCQkyCj4gKyNkZWZpbmUgRE1DNTIwX0VE QUNfQlVTX1dJRFRICQkJOAoKU2hvdWxkIHRoZXNlIGJlIGluIHRoZSBEVD8KSWYgc29tZW9uZSBl bHNlIGhhcyBhIGRtYzUyMCBjb25maWd1cmVkIHNsaWdodGx5IGRpZmZlcmVudGx5LCBob3cgY2Fu IHdlIGdldApib3RoIHN5c3RlbXMgZ29pbmcsIHdpdGhvdXQgaGF2aW5nIHRvIGNoYW5nZSB5b3Vy IHN5c3RlbSdzIERUPwoKCj4gK3N0YXRpYyBib29sIGRtYzUyMF9pc19lY2NfZW5hYmxlZChzdHJ1 Y3QgZG1jNTIwX2VkYWMgKmVkYWMpCj4gK3sKPiArCXUzMiByZWdfdmFsID0gZG1jNTIwX3JlYWRf cmVnKGVkYWMsIFJFR19PRkZTRVRfRkVBVFVSRV9DT05GSUcpOwo+ICsKPiArCXJldHVybiAoRklF TERfR0VUKFJFR19GSUVMRF9EUkFNX0VDQ19FTkFCTEVELCByZWdfdmFsKSAhPSAwKTsKPiArfQoK QWgsIHNvIHRoZXJlIGlzIGZpcm13YXJlIHRoYXQgc2V0cyB0aGlzIHVwIGFuZCBlbmFibGVzIGl0 IC4uLgoKCj4gK3N0YXRpYyBpbnQgZG1jNTIwX2VkYWNfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2Rl dmljZSAqcGRldikKPiArewo+ICsJc3RydWN0IGRtYzUyMF9lZGFjICplZGFjOwo+ICsJc3RydWN0 IG1lbV9jdGxfaW5mbyAqbWNpOwo+ICsJc3RydWN0IGVkYWNfbWNfbGF5ZXIgbGF5ZXJzWzJdOwo+ ICsJaW50IHJldCwgaXJxOwo+ICsJc3RydWN0IHJlc291cmNlICpyZXM7Cj4gKwl2b2lkIF9faW9t ZW0gKnJlZ19iYXNlOwo+ICsKPiArCXJlcyA9IHBsYXRmb3JtX2dldF9yZXNvdXJjZShwZGV2LCBJ T1JFU09VUkNFX01FTSwgMCk7Cj4gKwlyZWdfYmFzZSA9IGRldm1faW9yZW1hcF9yZXNvdXJjZSgm cGRldi0+ZGV2LCByZXMpOwo+ICsJaWYgKElTX0VSUihyZWdfYmFzZSkpCj4gKwkJcmV0dXJuIFBU Ul9FUlIocmVnX2Jhc2UpOwo+ICsKPiArCWxheWVyc1swXS50eXBlID0gRURBQ19NQ19MQVlFUl9D SElQX1NFTEVDVDsKPiArCWxheWVyc1swXS5zaXplID0gZG1jNTIwX2dldF9yYW5rX2NvdW50KHJl Z19iYXNlKTsKPiArCWxheWVyc1swXS5pc192aXJ0X2Nzcm93ID0gdHJ1ZTsKPiArCj4gKwlsYXll cnNbMV0udHlwZSA9IEVEQUNfTUNfTEFZRVJfQ0hBTk5FTDsKPiArCWxheWVyc1sxXS5zaXplID0g RE1DNTIwX0VEQUNfQ0hBTlM7Cj4gKwlsYXllcnNbMV0uaXNfdmlydF9jc3JvdyA9IGZhbHNlOwoK SWYgeW91IGNhbiByZWFkIHRoZSByYW5rIGNvdW50LCB3aHkgaGFyZCBjb2RlIHRoZSBiYW5rPwoo d2hpY2ggaXMgd2hhdCBJIGFzc3VtZSBjaGFubmVscyBjb3JyZXNwb25kcyB0byAuLi4gYWx0aG91 Z2ggdGhpcyBoYXMgY29uZnVzZWQKbWUgYmVmb3JlIFswXSkuCgoKPiArCXBsYXRmb3JtX3NldF9k cnZkYXRhKHBkZXYsIG1jaSk7Cj4gKwo+ICsJbWNpLT5wZGV2ID0gJnBkZXYtPmRldjsKPiArCW1j aS0+bXR5cGVfY2FwID0gTUVNX0ZMQUdfRERSMyB8IE1FTV9GTEFHX0REUjQ7Cj4gKwltY2ktPmVk YWNfY3RsX2NhcCA9IEVEQUNfRkxBR19OT05FIHwgRURBQ19GTEFHX1NFQ0RFRDsKCj4gKwltY2kt PnNjcnViX2NhcCA9IFNDUlVCX0hXX1NSQzsKPiArCW1jaS0+c2NydWJfbW9kZSA9IFNDUlVCX05P TkU7CgpJcyB0aGlzIHNheWluZyB0aGUgZGV2aWNlIHN1cHBvcnRzIGVycm9yIHNjcnViYmluZywg YnV0IGl0cyBkaXNhYmxlZD8KRG8gd2Uga25vdyB0aGF0PwoKQ2FuIHRoZSB1c2VyIHRyeSBhbmQg dHVybiBpdCBvbj8gKEkgY2FuJ3QgZmluZCBhbnl0aGluZyB0aGF0IHJlYWRzIHRoaXMhKQoKSXQg ZG9lc24ndCBsb29rIGxpa2Ugd2UgY2FuIGNvbmZpZ3VyZWQgc2NydWJiaW5nIGlmIGl0IHdhc24n dCBkb25lIGF0IGJvb3QuCjMuMy4yNDUgc2NydWJfY29udHJvbDBfbm93IG9mIHRoZSBUUk0gaGFz ICJDYW5ub3QgYmUgd3JpdHRlbiB0byBhbmQgb25seSB1cGRhdGVkCndoZW4gaW4gQ09ORklHIG9y IExPVy1QT1dFUiBzdGF0ZXMiLiBJIGFzc3VtZSB3ZSBjYW4ndCBwdXQgdGhpcyB0aGluZyBiYWNr IGludG8KY29uZmlnIG1vZGUgd2hlbiB3ZSdyZSBydW5uaW5nLgoKClsuLi5dCgo+ICsJLyogQ2hl Y2sgRUNDIENFL1VFIGVycm9ycyAqLwo+ICsJZG1jNTIwX2hhbmRsZV9lY2NfZXJyb3JzKG1jaSwg dHJ1ZSwgZmFsc2UpOwo+ICsJZG1jNTIwX2hhbmRsZV9lY2NfZXJyb3JzKG1jaSwgZmFsc2UsIGZh bHNlKTsKCkRvIHdlIGtub3cgb3ZlcmZsb3c9ZmFsc2U/CgoKPiArCS8qIEVuYWJsZSBpbnRlcnJ1 cHRzICovCj4gKwlkbWM1MjBfd3JpdGVfcmVnKGVkYWMsCj4gKwkJCSBEUkFNX0VDQ19JTlRfQ0Vf TUFTSyB8IERSQU1fRUNDX0lOVF9VRV9NQVNLLAo+ICsJCQkgUkVHX09GRlNFVF9JTlRFUlJVUFRf Q09OVFJPTCk7CgoKV2hhdCBpZiB0aGV5IHdlcmUgZW5hYmxlZCBiZWZvcmU/IChlLmcuIGVuYWJs ZWQgYnkgZmlybXdhcmUsIHRoZSBib290bG9hZGVyIG9yCmtkdW1wKS4gSWYgdGhleSdyZSBhbHJl YWR5IGVuYWJsZWQsIGNhbiB3ZSByYWNlIHdpdGggdGhlIGludGVycnVwdCBoYW5kbGVyIG9uCmFu b3RoZXIgQ1BVIGFuZCBnZXQgZG91YmxlIHJlcG9ydGluZyBvZiB0aGUgZXJyb3IgY291bnRlcj8K CgpUaGFua3MsCgpKYW1lcwoKWzBdIGh0dHBzOi8vbG9yZS5rZXJuZWwub3JnL2xrbWwvZDRlZTZk M2EtYjNhYy0yOTg2LTQwZGItODQyM2RlN2U5NjBhQGFybS5jb20vCg==