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: [v7,5/7] edac: synopsys: Add EDAC ECC support for ZynqMP DDRC From: Borislav Petkov Message-Id: <20180921125527.GE30439@nazgul.tnic> Date: Fri, 21 Sep 2018 14:56:13 +0200 To: Manish Narani Cc: robh+dt@kernel.org, mark.rutland@arm.com, mchehab@kernel.org, michal.simek@xilinx.com, leoyang.li@nxp.com, sudeep.holla@arm.com, amit.kucheria@linaro.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-edac@vger.kernel.org, linux-arm-kernel@lists.infradead.org List-ID: T24gTW9uLCBTZXAgMTcsIDIwMTggYXQgMDc6NTU6MDNQTSArMDUzMCwgTWFuaXNoIE5hcmFuaSB3 cm90ZToKPiBBZGQgRURBQyBFQ0Mgc3VwcG9ydCBmb3IgWnlucU1QIEREUkMgSVAuIFRoZSBJUCBz dXBwb3J0cyBpbnRlcnJ1cHRzIGZvcgo+IGNvcnJlY3RlZCBhbmQgdW5jb3JyZWN0ZWQgZXJyb3Jz LiBBZGQgaW50ZXJydXB0IGhhbmRsZXJzIGZvciB0aGUgc2FtZS4KPiAKPiBTaWduZWQtb2ZmLWJ5 OiBNYW5pc2ggTmFyYW5pIDxtYW5pc2gubmFyYW5pQHhpbGlueC5jb20+Cj4gLS0tCj4gIGRyaXZl cnMvZWRhYy9LY29uZmlnICAgICAgICAgfCAgIDIgKy0KPiAgZHJpdmVycy9lZGFjL3N5bm9wc3lz X2VkYWMuYyB8IDMwNCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0t Cj4gIDIgZmlsZXMgY2hhbmdlZCwgMjg3IGluc2VydGlvbnMoKyksIDE5IGRlbGV0aW9ucygtKQoK Li4uCgo+IEBAIC02MzksNyArODc4LDcgQEAgc3RhdGljIGludCBzeW5wc19lZGFjX21jX3Byb2Jl KHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCj4gIAlzdHJ1Y3QgbWVtX2N0bF9pbmZvICpt Y2k7Cj4gIAl2b2lkIF9faW9tZW0gKmJhc2VhZGRyOwo+ICAJc3RydWN0IHJlc291cmNlICpyZXM7 Cj4gLQlpbnQgcmM7Cj4gKwlpbnQgcmMsIGlycTsKPiAgCj4gIAlyZXMgPSBwbGF0Zm9ybV9nZXRf cmVzb3VyY2UocGRldiwgSU9SRVNPVVJDRV9NRU0sIDApOwo+ICAJYmFzZWFkZHIgPSBkZXZtX2lv cmVtYXBfcmVzb3VyY2UoJnBkZXYtPmRldiwgcmVzKTsKPiBAQCAtNjczLDYgKzkxMiwyOCBAQCBz dGF0aWMgaW50IHN5bnBzX2VkYWNfbWNfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRl dikKPiAgCj4gIAllZGFjX21jX2luaXQobWNpLCBwZGV2KTsKPiAgCj4gKwlpZiAocHJpdi0+cF9k YXRhLT5xdWlya3MgJiBERFJfRUNDX0lOVFJfU1VQUE9SVCkgewoKVGhpcyB3aG9sZSBjaHVuayB0 b2dldGhlciB3aXRoIHRoZSBpZiwgbG9va3MgbGlrZSBpdCBjb3VsZCBiZSBhIHNlcGFyYXRlCmZ1 bmN0aW9uIGNhbGxlZCBtYXliZSByZXF1ZXN0X2lycSgpIG9yIHNvLgoKPiArCQlpcnEgPSBwbGF0 Zm9ybV9nZXRfaXJxKHBkZXYsIDApOwo+ICsJCWlmIChpcnEgPCAwKSB7Cj4gKwkJCWVkYWNfcHJp bnRrKEtFUk5fRVJSLCBFREFDX01DLAo+ICsJCQkJCSJObyBpcnEgJWQgaW4gRFRcbiIsIGlycSk7 CgpBbGlnbiBhcmd1bWVudHMgb24gb3BlbmluZyBicmFjZS4KClRoZW4sIGhlcmUgaXQgaXMgImly cSIuLi4KCj4gKwkJCXJjID0gaXJxOwo+ICsJCQlnb3RvIGZyZWVfZWRhY19tYzsKPiArCQl9Cj4g Kwo+ICsJCXJjID0gZGV2bV9yZXF1ZXN0X2lycSgmcGRldi0+ZGV2LCBpcnEsCj4gKwkJCXN5bnBz X2VkYWNfaW50cl9oYW5kbGVyLAo+ICsJCQkwLCBkZXZfbmFtZSgmcGRldi0+ZGV2KSwgbWNpKTsK CkFsc28gYWxpZ24gb24gb3BlbmluZyBicmFjZS4KCj4gKwkJaWYgKHJjIDwgMCkgewo+ICsJCQll ZGFjX3ByaW50ayhLRVJOX0VSUiwgRURBQ19NQywgIkZhaWxlZCB0byByZXF1ZXN0IElycVxuIik7 CgouLi4gaGVyZSBpdCBpcyAiSXJxIi4KCkknZCBzYXkgaXQgc2hvdWxkIGJlICJJUlEiIGV2ZXJ5 d2hlcmUuCgo+ICsJCQlnb3RvIGZyZWVfZWRhY19tYzsKPiArCQl9Cj4gKwo+ICsJCS8qIEVuYWJs ZSBVRS9DRSBJbnRlcnJ1cHRzICovCj4gKwkJd3JpdGVsKChERFJfUU9TVUVfTUFTSyB8IEREUl9R T1NDRV9NQVNLKSwKPiArCQkJcHJpdi0+YmFzZWFkZHIgKyBERFJfUU9TX0lSUV9FTl9PRlNUKTsK PiArCX0KPiArCj4gIAlyYyA9IGVkYWNfbWNfYWRkX21jKG1jaSk7Cj4gIAlpZiAocmMpIHsKPiAg CQllZGFjX3ByaW50ayhLRVJOX0VSUiwgRURBQ19NQywKPiBAQCAtNjg0LDcgKzk0NSw4IEBAIHN0 YXRpYyBpbnQgc3lucHNfZWRhY19tY19wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2 KQo+ICAJICogU3RhcnQgY2FwdHVyaW5nIHRoZSBjb3JyZWN0YWJsZSBhbmQgdW5jb3JyZWN0YWJs ZSBlcnJvcnMuIEEgd3JpdGUgb2YKPiAgCSAqIDAgc3RhcnRzIHRoZSBjb3VudGVycy4KPiAgCSAq Lwo+IC0Jd3JpdGVsKDB4MCwgYmFzZWFkZHIgKyBFQ0NfQ1RSTF9PRlNUKTsKPiArCWlmICghKHBy aXYtPnBfZGF0YS0+cXVpcmtzICYgRERSX0VDQ19JTlRSX1NVUFBPUlQpKQo+ICsJCXdyaXRlbCgw eDAsIGJhc2VhZGRyICsgRUNDX0NUUkxfT0ZTVCk7Cj4gIAlyZXR1cm4gcmM7Cj4gIAo+ICBmcmVl X2VkYWNfbWM6Cj4gQEAgLTcwMiw3ICs5NjQsMTMgQEAgc3RhdGljIGludCBzeW5wc19lZGFjX21j X3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCj4gIHN0YXRpYyBpbnQgc3lucHNf ZWRhY19tY19yZW1vdmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKPiAgewo+ICAJc3Ry dWN0IG1lbV9jdGxfaW5mbyAqbWNpID0gcGxhdGZvcm1fZ2V0X2RydmRhdGEocGRldik7Cj4gKwlz dHJ1Y3Qgc3lucHNfZWRhY19wcml2ICpwcml2Owo+ICAKPiArCXByaXYgPSBtY2ktPnB2dF9pbmZv Owo+ICsJaWYgKHByaXYtPnBfZGF0YS0+cXVpcmtzICYgRERSX0VDQ19JTlRSX1NVUFBPUlQpCj4g KwkJLyogRGlzYWJsZSBVRS9DRSBJbnRlcnJ1cHRzICovCj4gKwkJd3JpdGVsKChERFJfUU9TVUVf TUFTSyB8IEREUl9RT1NDRV9NQVNLKSwKPiArCQkJcHJpdi0+YmFzZWFkZHIgKyBERFJfUU9TX0lS UV9EQl9PRlNUKTsKClRoaXMgY291bGQgYmUgYSBkaXNhYmxlX2lycSgpIGZ1bmN0aW9uLiBNYWtl cyB0aGUgY29kZSBlYXNpZXIgdG8gZm9sbG93Lgo=