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: [v5,1/4] edac: synps: Add platform specific structures for ddrc controller From: Borislav Petkov Message-Id: <20180904165828.GM32615@zn.tnic> Date: Tue, 4 Sep 2018 18:58:28 +0200 To: Manish Narani Cc: robh+dt@kernel.org, mark.rutland@arm.com, michal.simek@xilinx.com, mchehab@kernel.org, leoyang.li@nxp.com, amit.kucheria@linaro.org, olof@lixom.net, sgoud@xilinx.com, anirudh@xilinx.com, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-edac@vger.kernel.org List-ID: T24gRnJpLCBBdWcgMzEsIDIwMTggYXQgMDY6NTc6NDdQTSArMDUzMCwgTWFuaXNoIE5hcmFuaSB3 cm90ZToKPiBBZGQgcGxhdGZvcm0gc3BlY2lmaWMgc3RydWN0dXJlcywgc28gdGhhdCB3ZSBjYW4g YWRkIGRpZmZlcmVudCBJUAo+IHN1cHBvcnQgbGF0ZXIgdXNpbmcgcXVpcmtzLgo+IAo+IFNpZ25l ZC1vZmYtYnk6IE1hbmlzaCBOYXJhbmkgPG1hbmlzaC5uYXJhbmlAeGlsaW54LmNvbT4KPiAtLS0K PiAgZHJpdmVycy9lZGFjL3N5bm9wc3lzX2VkYWMuYyB8IDc4ICsrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKy0tLS0tLS0tLS0tCj4gIDEgZmlsZSBjaGFuZ2VkLCA1OSBpbnNlcnRpb25z KCspLCAxOSBkZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9lZGFjL3N5bm9w c3lzX2VkYWMuYyBiL2RyaXZlcnMvZWRhYy9zeW5vcHN5c19lZGFjLmMKPiBpbmRleCAwYzljNTll Li4yNDcwZDM1IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZWRhYy9zeW5vcHN5c19lZGFjLmMKPiAr KysgYi9kcml2ZXJzL2VkYWMvc3lub3BzeXNfZWRhYy5jCj4gQEAgLTIyLDYgKzIyLDggQEAKPiAg I2luY2x1ZGUgPGxpbnV4L2VkYWMuaD4KPiAgI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgo+ICAj aW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+Cj4gKyNpbmNsdWRlIDxsaW51eC9vZi5o Pgo+ICsjaW5jbHVkZSA8bGludXgvb2ZfZGV2aWNlLmg+Cj4gIAo+ICAjaW5jbHVkZSAiZWRhY19t b2R1bGUuaCIKPiAgCj4gQEAgLTEzMCw2ICsxMzIsNyBAQCBzdHJ1Y3Qgc3lucHNfZWNjX3N0YXR1 cyB7Cj4gICAqIEBiYXNlYWRkcjoJQmFzZSBhZGRyZXNzIG9mIHRoZSBERFIgY29udHJvbGxlcgo+ ICAgKiBAbWVzc2FnZToJQnVmZmVyIGZvciBmcmFtaW5nIHRoZSBldmVudCBzcGVjaWZpYyBpbmZv Cj4gICAqIEBzdGF0OglFQ0Mgc3RhdHVzIGluZm9ybWF0aW9uCj4gKyAqIEBwX2RhdGE6CVBvaW50 ZXIgdG8gcGxhdGZvcm0gZGF0YQo+ICAgKiBAY2VfY250OglDb3JyZWN0YWJsZSBFcnJvciBjb3Vu dAo+ICAgKiBAdWVfY250OglVbmNvcnJlY3RhYmxlIEVycm9yIGNvdW50Cj4gICAqLwo+IEBAIC0x MzcsMjQgKzE0MCw0NyBAQCBzdHJ1Y3Qgc3lucHNfZWRhY19wcml2IHsKPiAgCXZvaWQgX19pb21l bSAqYmFzZWFkZHI7Cj4gIAljaGFyIG1lc3NhZ2VbU1lOUFNfRURBQ19NU0dfU0laRV07Cj4gIAlz dHJ1Y3Qgc3lucHNfZWNjX3N0YXR1cyBzdGF0Owo+ICsJY29uc3Qgc3RydWN0IHN5bnBzX3BsYXRm b3JtX2RhdGEgKnBfZGF0YTsKPiAgCXUzMiBjZV9jbnQ7Cj4gIAl1MzIgdWVfY250Owo+ICB9Owo+ ICAKPiAgLyoqCj4gKyAqIHN0cnVjdCBzeW5wc19wbGF0Zm9ybV9kYXRhIC0gIHN5bnBzIHBsYXRm b3JtIGRhdGEgc3RydWN0dXJlCj4gKyAqIEBlZGFjX2dldGVycm9yX2luZm86CWZ1bmN0aW9uIHBv aW50ZXIgdG8gc3lucHMgZWRhYyBlcnJvciBpbmZvCj4gKyAqIEBlZGFjX2dldF9tdHlwZToJZnVu Y3Rpb24gcG9pbnRlciB0byBzeW5wcyBlZGFjIG10eXBlCj4gKyAqIEBlZGFjX2dldF9kdHlwZToJ ZnVuY3Rpb24gcG9pbnRlciB0byBzeW5wcyBlZGFjIGR0eXBlCj4gKyAqIEBlZGFjX2dldF9lY2Nz dGF0ZToJZnVuY3Rpb24gcG9pbnRlciB0byBzeW5wcyBlZGFjIGVjY3N0YXRlCj4gKyAqIEBxdWly a3M6CQl0byBkaWZmZXJlbnRpYXRlIElQcwoKS2lsbCBhbGwgdGhhdCAiZnVuY3Rpb24gcG9pbnRl ciIgZmx1ZmYuIEhlcmUncyBob3cgSSd2ZSBjaGFuZ2VkIGl0OgoKLyoqCiAqIHN0cnVjdCBzeW5w c19wbGF0Zm9ybV9kYXRhIC0gIHN5bnBzIHBsYXRmb3JtIGRhdGEgc3RydWN0dXJlCiAqIEBlZGFj X2dldGVycm9yX2luZm86IGVkYWMgZXJyb3IgaW5mbwogKiBAZWRhY19nZXRfbXR5cGU6ICAgICBn ZXQgbXR5cGUKICogQGVkYWNfZ2V0X2R0eXBlOiAgICAgZ2V0IGR0eXBlCiAqIEBlZGFjX2dldF9l Y2NzdGF0ZTogIGdldCBFQ0Mgc3RhdGUKICogQHF1aXJrczogICAgICAgICAgICAgdG8gZGlmZmVy ZW50aWF0ZSBJUHMKICovCgpTaG9ydGVyLCBxdWlja2VyIHRvIHJlYWQvc2Nhbi9ldGMuLi4KCj4g KyAqLwo+ICtzdHJ1Y3Qgc3lucHNfcGxhdGZvcm1fZGF0YSB7Cj4gKwlpbnQgKCplZGFjX2dldGVy cm9yX2luZm8pKHN0cnVjdCBzeW5wc19lZGFjX3ByaXYgKnByaXYpOwo+ICsJZW51bSBtZW1fdHlw ZSAoKmVkYWNfZ2V0X210eXBlKShjb25zdCB2b2lkIF9faW9tZW0gKmJhc2UpOwo+ICsJZW51bSBk ZXZfdHlwZSAoKmVkYWNfZ2V0X2R0eXBlKShjb25zdCB2b2lkIF9faW9tZW0gKmJhc2UpOwo+ICsJ Ym9vbCAoKmVkYWNfZ2V0X2VjY3N0YXRlKSh2b2lkIF9faW9tZW0gKmJhc2UpOwo+ICsJaW50IHF1 aXJrczsKPiArfTsKPiArCj4gKy8qKgo+ICAgKiBzeW5wc19lZGFjX2dldGVycm9yX2luZm8gLSBH ZXQgdGhlIGN1cnJlbnQgZWNjIGVycm9yIGluZm8KPiAtICogQGJhc2U6CVBvaW50ZXIgdG8gdGhl IGJhc2UgYWRkcmVzcyBvZiB0aGUgZGRyIG1lbW9yeSBjb250cm9sbGVyCj4gLSAqIEBwOgkJUG9p bnRlciB0byB0aGUgc3lub3BzeXMgZWNjIHN0YXR1cyBzdHJ1Y3R1cmUKPiArICogQHByaXY6CVBv aW50ZXIgdG8gRERSIG1lbW9yeSBjb250cm9sbGVyIHByaXZhdGUgaW5zdGFuY2UgZGF0YQo+ICAg Kgo+ICAgKiBEZXRlcm1pbmVzIHRoZXJlIGlzIGFueSBlY2MgZXJyb3Igb3Igbm90CgpBbGwgc2Vu dGVuY2VzIGVuZCB3aXRoIGEgZnVsbHN0b3AuIENoZWNrIGFsbCB5b3VyIHBhdGNoZXMuCgpBbHNv LCBpdCBpcyBub3QgImVjYyIgaXQgaXMgIkVDQyIuIEFsc28gZ28gb3ZlciBhbGwgeW91ciBwYXRj aGVzLgoKPiAgICoKPiAgICogUmV0dXJuOiBvbmUgaWYgdGhlcmUgaXMgbm8gZXJyb3Igb3RoZXJ3 aXNlIHJldHVybnMgemVybwo+ICAgKi8KPiAtc3RhdGljIGludCBzeW5wc19lZGFjX2dldGVycm9y X2luZm8odm9pZCBfX2lvbWVtICpiYXNlLAo+IC0JCQkJICAgIHN0cnVjdCBzeW5wc19lY2Nfc3Rh dHVzICpwKQo+ICtzdGF0aWMgaW50IHN5bnBzX2VkYWNfZ2V0ZXJyb3JfaW5mbyhzdHJ1Y3Qgc3lu cHNfZWRhY19wcml2ICpwcml2KQo+ICB7Cj4gKwl2b2lkIF9faW9tZW0gKmJhc2U7Cj4gKwlzdHJ1 Y3Qgc3lucHNfZWNjX3N0YXR1cyAqcDsKPiAgCXUzMiByZWd2YWwsIGNsZWFydmFsID0gMDsKClBs ZWFzZSBzb3J0IGZ1bmN0aW9uIGxvY2FsIHZhcmlhYmxlcyBkZWNsYXJhdGlvbiBpbiBhIHJldmVy c2UgY2hyaXN0bWFzCnRyZWUgb3JkZXI6CgoJPHR5cGU+IGxvbmdlc3RfdmFyaWFibGVfbmFtZTsK CTx0eXBlPiBzaG9ydGVyX3Zhcl9uYW1lOwoJPHR5cGU+IGV2ZW5fc2hvcnRlcjsKCTx0eXBlPiBp OwoKPiAgCj4gKwlpZiAoIXByaXYpCj4gKwkJcmV0dXJuIDE7CgpXaHkgYXJlIHlvdSBldmVuIGNo ZWNraW5nIHRoaXMgaGVyZT8KCnN5bnBzX2VkYWNfY2hlY2soKSBpcyBtZXJyaWx5IGRlcmVmZXJl bmNpbmcgaXQgLSBpZiBhbnl0aGluZyB3ZSB3aWxsCmV4cGxvZGUgdGhlcmUgYWxyZWFkeS4KCj4g Kwo+ICsJYmFzZSA9IHByaXYtPmJhc2VhZGRyOwo+ICsJcCA9ICZwcml2LT5zdGF0Owo+ICsKPiAg CXJlZ3ZhbCA9IHJlYWRsKGJhc2UgKyBTVEFUX09GU1QpOwo+ICAJaWYgKCFyZWd2YWwpCj4gIAkJ cmV0dXJuIDE7Cj4gQEAgLTI0MCw5ICsyNjYsMTAgQEAgc3RhdGljIHZvaWQgc3lucHNfZWRhY19o YW5kbGVfZXJyb3Ioc3RydWN0IG1lbV9jdGxfaW5mbyAqbWNpLAo+ICBzdGF0aWMgdm9pZCBzeW5w c19lZGFjX2NoZWNrKHN0cnVjdCBtZW1fY3RsX2luZm8gKm1jaSkKPiAgewo+ICAJc3RydWN0IHN5 bnBzX2VkYWNfcHJpdiAqcHJpdiA9IG1jaS0+cHZ0X2luZm87Cj4gKwljb25zdCBzdHJ1Y3Qgc3lu cHNfcGxhdGZvcm1fZGF0YSAqcF9kYXRhID0gcHJpdi0+cF9kYXRhOwo+ICAJaW50IHN0YXR1czsK PiAgCj4gLQlzdGF0dXMgPSBzeW5wc19lZGFjX2dldGVycm9yX2luZm8ocHJpdi0+YmFzZWFkZHIs ICZwcml2LT5zdGF0KTsKPiArCXN0YXR1cyA9IHBfZGF0YS0+ZWRhY19nZXRlcnJvcl9pbmZvKHBy aXYpOwo+ICAJaWYgKHN0YXR1cykKPiAgCQlyZXR1cm47Cj4gIAo+IEBAIC0zNjIsNiArMzg5LDcg QEAgc3RhdGljIGludCBzeW5wc19lZGFjX2luaXRfY3Nyb3dzKHN0cnVjdCBtZW1fY3RsX2luZm8g Km1jaSkKPiAgCXN0cnVjdCBjc3Jvd19pbmZvICpjc2k7Cj4gIAlzdHJ1Y3QgZGltbV9pbmZvICpk aW1tOwo+ICAJc3RydWN0IHN5bnBzX2VkYWNfcHJpdiAqcHJpdiA9IG1jaS0+cHZ0X2luZm87Cj4g Kwljb25zdCBzdHJ1Y3Qgc3lucHNfcGxhdGZvcm1fZGF0YSAqcF9kYXRhID0gcHJpdi0+cF9kYXRh Owo+ICAJdTMyIHNpemU7Cj4gIAlpbnQgcm93LCBqOwo+ICAKPiBAQCAtMzcwLDEyICszOTgsMTIg QEAgc3RhdGljIGludCBzeW5wc19lZGFjX2luaXRfY3Nyb3dzKHN0cnVjdCBtZW1fY3RsX2luZm8g Km1jaSkKClRoYXQgZnVuY3Rpb24gcmV0dXJucyAwIHVuY29uZGl0aW9uYWxseS4gTWFrZSBpdCBh IHZvaWQgaW4gYSBwcmVwYXRjaC4KCj4gIAkJc2l6ZSA9IHN5bnBzX2VkYWNfZ2V0X21lbXNpemUo KTsKPiAgCj4gIAkJZm9yIChqID0gMDsgaiA8IGNzaS0+bnJfY2hhbm5lbHM7IGorKykgewo+IC0J CQlkaW1tICAgICAgICAgICAgPSBjc2ktPmNoYW5uZWxzW2pdLT5kaW1tOwo+IC0JCQlkaW1tLT5l ZGFjX21vZGUgPSBFREFDX0ZMQUdfU0VDREVEOwo+IC0JCQlkaW1tLT5tdHlwZSAgICAgPSBzeW5w c19lZGFjX2dldF9tdHlwZShwcml2LT5iYXNlYWRkcik7Cj4gLQkJCWRpbW0tPm5yX3BhZ2VzICA9 IChzaXplID4+IFBBR0VfU0hJRlQpIC8gY3NpLT5ucl9jaGFubmVsczsKPiAtCQkJZGltbS0+Z3Jh aW4gICAgID0gU1lOUFNfRURBQ19FUlJfR1JBSU47Cj4gLQkJCWRpbW0tPmR0eXBlICAgICA9IHN5 bnBzX2VkYWNfZ2V0X2R0eXBlKHByaXYtPmJhc2VhZGRyKTsKPiArCQkJZGltbQkJPSBjc2ktPmNo YW5uZWxzW2pdLT5kaW1tOwo+ICsJCQlkaW1tLT5lZGFjX21vZGUJPSBFREFDX0ZMQUdfU0VDREVE Owo+ICsJCQlkaW1tLT5tdHlwZQk9IHBfZGF0YS0+ZWRhY19nZXRfbXR5cGUocHJpdi0+YmFzZWFk ZHIpOwo+ICsJCQlkaW1tLT5ucl9wYWdlcwk9IChzaXplID4+IFBBR0VfU0hJRlQpIC8gY3NpLT5u cl9jaGFubmVsczsKPiArCQkJZGltbS0+Z3JhaW4JPSBTWU5QU19FREFDX0VSUl9HUkFJTjsKPiAr CQkJZGltbS0+ZHR5cGUJPSBwX2RhdGEtPmVkYWNfZ2V0X2R0eXBlKHByaXYtPmJhc2VhZGRyKTsK PiAgCQl9Cj4gIAl9Cj4gIAo+IEBAIC00MjMsNiArNDUxLDIxIEBAIHN0YXRpYyBpbnQgc3lucHNf ZWRhY19tY19pbml0KHN0cnVjdCBtZW1fY3RsX2luZm8gKm1jaSwKPiAgCXJldHVybiBzdGF0dXM7 Cj4gIH0KPiAgCj4gK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgc3lucHNfcGxhdGZvcm1fZGF0YSB6eW5x X2VkYWNfZGVmID0gewo+ICsJLmVkYWNfZ2V0ZXJyb3JfaW5mbwk9IHN5bnBzX2VkYWNfZ2V0ZXJy b3JfaW5mbywKPiArCS5lZGFjX2dldF9tdHlwZQkJPSBzeW5wc19lZGFjX2dldF9tdHlwZSwKPiAr CS5lZGFjX2dldF9kdHlwZQkJPSBzeW5wc19lZGFjX2dldF9kdHlwZSwKPiArCS5lZGFjX2dldF9l Y2NzdGF0ZQk9IHN5bnBzX2VkYWNfZ2V0X2VjY3N0YXRlLAo+ICsJLnF1aXJrcwkJCT0gMCwKPiAr fTsKPiArCj4gK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgb2ZfZGV2aWNlX2lkIHN5bnBzX2VkYWNfbWF0 Y2hbXSA9IHsKPiArCXsgLmNvbXBhdGlibGUgPSAieGxueCx6eW5xLWRkcmMtYTA1IiwgLmRhdGEg PSAodm9pZCAqKSZ6eW5xX2VkYWNfZGVmIH0sCj4gKwl7IC8qIGVuZCBvZiB0YWJsZSAqLyB9Cj4g K307Cj4gKwo+ICtNT0RVTEVfREVWSUNFX1RBQkxFKG9mLCBzeW5wc19lZGFjX21hdGNoKTsKPiAr Cj4gIC8qKgo+ICAgKiBzeW5wc19lZGFjX21jX3Byb2JlIC0gQ2hlY2sgY29udHJvbGxlciBhbmQg YmluZCBkcml2ZXIKPiAgICogQHBkZXY6CVBvaW50ZXIgdG8gdGhlIHBsYXRmb3JtX2RldmljZSBz dHJ1Y3QKPiBAQCAtNDQwLDEzICs0ODMsMTUgQEAgc3RhdGljIGludCBzeW5wc19lZGFjX21jX3By b2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCj4gIAlpbnQgcmM7Cj4gIAlzdHJ1Y3Qg cmVzb3VyY2UgKnJlczsKPiAgCXZvaWQgX19pb21lbSAqYmFzZWFkZHI7Cj4gKwljb25zdCBzdHJ1 Y3Qgc3lucHNfcGxhdGZvcm1fZGF0YSAqcF9kYXRhOwoKUGxlYXNlIHNvcnQgZnVuY3Rpb24gbG9j YWwgdmFyaWFibGVzIGRlY2xhcmF0aW9uIGluIGEgcmV2ZXJzZSBjaHJpc3RtYXMKdHJlZSBvcmRl cjoKCgk8dHlwZT4gbG9uZ2VzdF92YXJpYWJsZV9uYW1lOwoJPHR5cGU+IHNob3J0ZXJfdmFyX25h bWU7Cgk8dHlwZT4gZXZlbl9zaG9ydGVyOwoJPHR5cGU+IGk7Cgo+ICAKPiAgCXJlcyA9IHBsYXRm b3JtX2dldF9yZXNvdXJjZShwZGV2LCBJT1JFU09VUkNFX01FTSwgMCk7Cj4gIAliYXNlYWRkciA9 IGRldm1faW9yZW1hcF9yZXNvdXJjZSgmcGRldi0+ZGV2LCByZXMpOwo+ICAJaWYgKElTX0VSUihi YXNlYWRkcikpCj4gIAkJcmV0dXJuIFBUUl9FUlIoYmFzZWFkZHIpOwo+ICAKPiAtCWlmICghc3lu cHNfZWRhY19nZXRfZWNjc3RhdGUoYmFzZWFkZHIpKSB7Cj4gKwlwX2RhdGEgPSBvZl9kZXZpY2Vf Z2V0X21hdGNoX2RhdGEoJnBkZXYtPmRldik7Cj4gKwlpZiAoIShwX2RhdGEtPmVkYWNfZ2V0X2Vj Y3N0YXRlKGJhc2VhZGRyKSkpIHsKClRvbyBtYW55IHBhcmVudGhlc2VzOgoKCWlmICghcF9kYXRh LT4uLi4KCmlzIGVub3VnaC4K