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: Manish Narani Message-Id: <1535722070-10394-2-git-send-email-manish.narani@xilinx.com> Date: Fri, 31 Aug 2018 18:57:47 +0530 To: robh+dt@kernel.org, mark.rutland@arm.com, michal.simek@xilinx.com, bp@alien8.de, mchehab@kernel.org, manish.narani@xilinx.com, leoyang.li@nxp.com, amit.kucheria@linaro.org, olof@lixom.net Cc: 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: QWRkIHBsYXRmb3JtIHNwZWNpZmljIHN0cnVjdHVyZXMsIHNvIHRoYXQgd2UgY2FuIGFkZCBkaWZm ZXJlbnQgSVAKc3VwcG9ydCBsYXRlciB1c2luZyBxdWlya3MuCgpTaWduZWQtb2ZmLWJ5OiBNYW5p c2ggTmFyYW5pIDxtYW5pc2gubmFyYW5pQHhpbGlueC5jb20+Ci0tLQogZHJpdmVycy9lZGFjL3N5 bm9wc3lzX2VkYWMuYyB8IDc4ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0t LS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgNTkgaW5zZXJ0aW9ucygrKSwgMTkgZGVsZXRpb25zKC0p CgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9lZGFjL3N5bm9wc3lzX2VkYWMuYyBiL2RyaXZlcnMvZWRh Yy9zeW5vcHN5c19lZGFjLmMKaW5kZXggMGM5YzU5ZS4uMjQ3MGQzNSAxMDA2NDQKLS0tIGEvZHJp dmVycy9lZGFjL3N5bm9wc3lzX2VkYWMuYworKysgYi9kcml2ZXJzL2VkYWMvc3lub3BzeXNfZWRh Yy5jCkBAIC0yMiw2ICsyMiw4IEBACiAjaW5jbHVkZSA8bGludXgvZWRhYy5oPgogI2luY2x1ZGUg PGxpbnV4L21vZHVsZS5oPgogI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPgorI2lu Y2x1ZGUgPGxpbnV4L29mLmg+CisjaW5jbHVkZSA8bGludXgvb2ZfZGV2aWNlLmg+CiAKICNpbmNs dWRlICJlZGFjX21vZHVsZS5oIgogCkBAIC0xMzAsNiArMTMyLDcgQEAgc3RydWN0IHN5bnBzX2Vj Y19zdGF0dXMgewogICogQGJhc2VhZGRyOglCYXNlIGFkZHJlc3Mgb2YgdGhlIEREUiBjb250cm9s bGVyCiAgKiBAbWVzc2FnZToJQnVmZmVyIGZvciBmcmFtaW5nIHRoZSBldmVudCBzcGVjaWZpYyBp bmZvCiAgKiBAc3RhdDoJRUNDIHN0YXR1cyBpbmZvcm1hdGlvbgorICogQHBfZGF0YToJUG9pbnRl ciB0byBwbGF0Zm9ybSBkYXRhCiAgKiBAY2VfY250OglDb3JyZWN0YWJsZSBFcnJvciBjb3VudAog ICogQHVlX2NudDoJVW5jb3JyZWN0YWJsZSBFcnJvciBjb3VudAogICovCkBAIC0xMzcsMjQgKzE0 MCw0NyBAQCBzdHJ1Y3Qgc3lucHNfZWRhY19wcml2IHsKIAl2b2lkIF9faW9tZW0gKmJhc2VhZGRy OwogCWNoYXIgbWVzc2FnZVtTWU5QU19FREFDX01TR19TSVpFXTsKIAlzdHJ1Y3Qgc3lucHNfZWNj X3N0YXR1cyBzdGF0OworCWNvbnN0IHN0cnVjdCBzeW5wc19wbGF0Zm9ybV9kYXRhICpwX2RhdGE7 CiAJdTMyIGNlX2NudDsKIAl1MzIgdWVfY250OwogfTsKIAogLyoqCisgKiBzdHJ1Y3Qgc3lucHNf cGxhdGZvcm1fZGF0YSAtICBzeW5wcyBwbGF0Zm9ybSBkYXRhIHN0cnVjdHVyZQorICogQGVkYWNf Z2V0ZXJyb3JfaW5mbzoJZnVuY3Rpb24gcG9pbnRlciB0byBzeW5wcyBlZGFjIGVycm9yIGluZm8K KyAqIEBlZGFjX2dldF9tdHlwZToJZnVuY3Rpb24gcG9pbnRlciB0byBzeW5wcyBlZGFjIG10eXBl CisgKiBAZWRhY19nZXRfZHR5cGU6CWZ1bmN0aW9uIHBvaW50ZXIgdG8gc3lucHMgZWRhYyBkdHlw ZQorICogQGVkYWNfZ2V0X2VjY3N0YXRlOglmdW5jdGlvbiBwb2ludGVyIHRvIHN5bnBzIGVkYWMg ZWNjc3RhdGUKKyAqIEBxdWlya3M6CQl0byBkaWZmZXJlbnRpYXRlIElQcworICovCitzdHJ1Y3Qg c3lucHNfcGxhdGZvcm1fZGF0YSB7CisJaW50ICgqZWRhY19nZXRlcnJvcl9pbmZvKShzdHJ1Y3Qg c3lucHNfZWRhY19wcml2ICpwcml2KTsKKwllbnVtIG1lbV90eXBlICgqZWRhY19nZXRfbXR5cGUp KGNvbnN0IHZvaWQgX19pb21lbSAqYmFzZSk7CisJZW51bSBkZXZfdHlwZSAoKmVkYWNfZ2V0X2R0 eXBlKShjb25zdCB2b2lkIF9faW9tZW0gKmJhc2UpOworCWJvb2wgKCplZGFjX2dldF9lY2NzdGF0 ZSkodm9pZCBfX2lvbWVtICpiYXNlKTsKKwlpbnQgcXVpcmtzOworfTsKKworLyoqCiAgKiBzeW5w c19lZGFjX2dldGVycm9yX2luZm8gLSBHZXQgdGhlIGN1cnJlbnQgZWNjIGVycm9yIGluZm8KLSAq IEBiYXNlOglQb2ludGVyIHRvIHRoZSBiYXNlIGFkZHJlc3Mgb2YgdGhlIGRkciBtZW1vcnkgY29u dHJvbGxlcgotICogQHA6CQlQb2ludGVyIHRvIHRoZSBzeW5vcHN5cyBlY2Mgc3RhdHVzIHN0cnVj dHVyZQorICogQHByaXY6CVBvaW50ZXIgdG8gRERSIG1lbW9yeSBjb250cm9sbGVyIHByaXZhdGUg aW5zdGFuY2UgZGF0YQogICoKICAqIERldGVybWluZXMgdGhlcmUgaXMgYW55IGVjYyBlcnJvciBv ciBub3QKICAqCiAgKiBSZXR1cm46IG9uZSBpZiB0aGVyZSBpcyBubyBlcnJvciBvdGhlcndpc2Ug cmV0dXJucyB6ZXJvCiAgKi8KLXN0YXRpYyBpbnQgc3lucHNfZWRhY19nZXRlcnJvcl9pbmZvKHZv aWQgX19pb21lbSAqYmFzZSwKLQkJCQkgICAgc3RydWN0IHN5bnBzX2VjY19zdGF0dXMgKnApCitz dGF0aWMgaW50IHN5bnBzX2VkYWNfZ2V0ZXJyb3JfaW5mbyhzdHJ1Y3Qgc3lucHNfZWRhY19wcml2 ICpwcml2KQogeworCXZvaWQgX19pb21lbSAqYmFzZTsKKwlzdHJ1Y3Qgc3lucHNfZWNjX3N0YXR1 cyAqcDsKIAl1MzIgcmVndmFsLCBjbGVhcnZhbCA9IDA7CiAKKwlpZiAoIXByaXYpCisJCXJldHVy biAxOworCisJYmFzZSA9IHByaXYtPmJhc2VhZGRyOworCXAgPSAmcHJpdi0+c3RhdDsKKwogCXJl Z3ZhbCA9IHJlYWRsKGJhc2UgKyBTVEFUX09GU1QpOwogCWlmICghcmVndmFsKQogCQlyZXR1cm4g MTsKQEAgLTI0MCw5ICsyNjYsMTAgQEAgc3RhdGljIHZvaWQgc3lucHNfZWRhY19oYW5kbGVfZXJy b3Ioc3RydWN0IG1lbV9jdGxfaW5mbyAqbWNpLAogc3RhdGljIHZvaWQgc3lucHNfZWRhY19jaGVj ayhzdHJ1Y3QgbWVtX2N0bF9pbmZvICptY2kpCiB7CiAJc3RydWN0IHN5bnBzX2VkYWNfcHJpdiAq cHJpdiA9IG1jaS0+cHZ0X2luZm87CisJY29uc3Qgc3RydWN0IHN5bnBzX3BsYXRmb3JtX2RhdGEg KnBfZGF0YSA9IHByaXYtPnBfZGF0YTsKIAlpbnQgc3RhdHVzOwogCi0Jc3RhdHVzID0gc3lucHNf ZWRhY19nZXRlcnJvcl9pbmZvKHByaXYtPmJhc2VhZGRyLCAmcHJpdi0+c3RhdCk7CisJc3RhdHVz ID0gcF9kYXRhLT5lZGFjX2dldGVycm9yX2luZm8ocHJpdik7CiAJaWYgKHN0YXR1cykKIAkJcmV0 dXJuOwogCkBAIC0zNjIsNiArMzg5LDcgQEAgc3RhdGljIGludCBzeW5wc19lZGFjX2luaXRfY3Ny b3dzKHN0cnVjdCBtZW1fY3RsX2luZm8gKm1jaSkKIAlzdHJ1Y3QgY3Nyb3dfaW5mbyAqY3NpOwog CXN0cnVjdCBkaW1tX2luZm8gKmRpbW07CiAJc3RydWN0IHN5bnBzX2VkYWNfcHJpdiAqcHJpdiA9 IG1jaS0+cHZ0X2luZm87CisJY29uc3Qgc3RydWN0IHN5bnBzX3BsYXRmb3JtX2RhdGEgKnBfZGF0 YSA9IHByaXYtPnBfZGF0YTsKIAl1MzIgc2l6ZTsKIAlpbnQgcm93LCBqOwogCkBAIC0zNzAsMTIg KzM5OCwxMiBAQCBzdGF0aWMgaW50IHN5bnBzX2VkYWNfaW5pdF9jc3Jvd3Moc3RydWN0IG1lbV9j dGxfaW5mbyAqbWNpKQogCQlzaXplID0gc3lucHNfZWRhY19nZXRfbWVtc2l6ZSgpOwogCiAJCWZv ciAoaiA9IDA7IGogPCBjc2ktPm5yX2NoYW5uZWxzOyBqKyspIHsKLQkJCWRpbW0gICAgICAgICAg ICA9IGNzaS0+Y2hhbm5lbHNbal0tPmRpbW07Ci0JCQlkaW1tLT5lZGFjX21vZGUgPSBFREFDX0ZM QUdfU0VDREVEOwotCQkJZGltbS0+bXR5cGUgICAgID0gc3lucHNfZWRhY19nZXRfbXR5cGUocHJp di0+YmFzZWFkZHIpOwotCQkJZGltbS0+bnJfcGFnZXMgID0gKHNpemUgPj4gUEFHRV9TSElGVCkg LyBjc2ktPm5yX2NoYW5uZWxzOwotCQkJZGltbS0+Z3JhaW4gICAgID0gU1lOUFNfRURBQ19FUlJf R1JBSU47Ci0JCQlkaW1tLT5kdHlwZSAgICAgPSBzeW5wc19lZGFjX2dldF9kdHlwZShwcml2LT5i YXNlYWRkcik7CisJCQlkaW1tCQk9IGNzaS0+Y2hhbm5lbHNbal0tPmRpbW07CisJCQlkaW1tLT5l ZGFjX21vZGUJPSBFREFDX0ZMQUdfU0VDREVEOworCQkJZGltbS0+bXR5cGUJPSBwX2RhdGEtPmVk YWNfZ2V0X210eXBlKHByaXYtPmJhc2VhZGRyKTsKKwkJCWRpbW0tPm5yX3BhZ2VzCT0gKHNpemUg Pj4gUEFHRV9TSElGVCkgLyBjc2ktPm5yX2NoYW5uZWxzOworCQkJZGltbS0+Z3JhaW4JPSBTWU5Q U19FREFDX0VSUl9HUkFJTjsKKwkJCWRpbW0tPmR0eXBlCT0gcF9kYXRhLT5lZGFjX2dldF9kdHlw ZShwcml2LT5iYXNlYWRkcik7CiAJCX0KIAl9CiAKQEAgLTQyMyw2ICs0NTEsMjEgQEAgc3RhdGlj IGludCBzeW5wc19lZGFjX21jX2luaXQoc3RydWN0IG1lbV9jdGxfaW5mbyAqbWNpLAogCXJldHVy biBzdGF0dXM7CiB9CiAKK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgc3lucHNfcGxhdGZvcm1fZGF0YSB6 eW5xX2VkYWNfZGVmID0geworCS5lZGFjX2dldGVycm9yX2luZm8JPSBzeW5wc19lZGFjX2dldGVy cm9yX2luZm8sCisJLmVkYWNfZ2V0X210eXBlCQk9IHN5bnBzX2VkYWNfZ2V0X210eXBlLAorCS5l ZGFjX2dldF9kdHlwZQkJPSBzeW5wc19lZGFjX2dldF9kdHlwZSwKKwkuZWRhY19nZXRfZWNjc3Rh dGUJPSBzeW5wc19lZGFjX2dldF9lY2NzdGF0ZSwKKwkucXVpcmtzCQkJPSAwLAorfTsKKworc3Rh dGljIGNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgc3lucHNfZWRhY19tYXRjaFtdID0geworCXsg LmNvbXBhdGlibGUgPSAieGxueCx6eW5xLWRkcmMtYTA1IiwgLmRhdGEgPSAodm9pZCAqKSZ6eW5x X2VkYWNfZGVmIH0sCisJeyAvKiBlbmQgb2YgdGFibGUgKi8gfQorfTsKKworTU9EVUxFX0RFVklD RV9UQUJMRShvZiwgc3lucHNfZWRhY19tYXRjaCk7CisKIC8qKgogICogc3lucHNfZWRhY19tY19w cm9iZSAtIENoZWNrIGNvbnRyb2xsZXIgYW5kIGJpbmQgZHJpdmVyCiAgKiBAcGRldjoJUG9pbnRl ciB0byB0aGUgcGxhdGZvcm1fZGV2aWNlIHN0cnVjdApAQCAtNDQwLDEzICs0ODMsMTUgQEAgc3Rh dGljIGludCBzeW5wc19lZGFjX21jX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYp CiAJaW50IHJjOwogCXN0cnVjdCByZXNvdXJjZSAqcmVzOwogCXZvaWQgX19pb21lbSAqYmFzZWFk ZHI7CisJY29uc3Qgc3RydWN0IHN5bnBzX3BsYXRmb3JtX2RhdGEgKnBfZGF0YTsKIAogCXJlcyA9 IHBsYXRmb3JtX2dldF9yZXNvdXJjZShwZGV2LCBJT1JFU09VUkNFX01FTSwgMCk7CiAJYmFzZWFk ZHIgPSBkZXZtX2lvcmVtYXBfcmVzb3VyY2UoJnBkZXYtPmRldiwgcmVzKTsKIAlpZiAoSVNfRVJS KGJhc2VhZGRyKSkKIAkJcmV0dXJuIFBUUl9FUlIoYmFzZWFkZHIpOwogCi0JaWYgKCFzeW5wc19l ZGFjX2dldF9lY2NzdGF0ZShiYXNlYWRkcikpIHsKKwlwX2RhdGEgPSBvZl9kZXZpY2VfZ2V0X21h dGNoX2RhdGEoJnBkZXYtPmRldik7CisJaWYgKCEocF9kYXRhLT5lZGFjX2dldF9lY2NzdGF0ZShi YXNlYWRkcikpKSB7CiAJCWVkYWNfcHJpbnRrKEtFUk5fSU5GTywgRURBQ19NQywgIkVDQyBub3Qg ZW5hYmxlZFxuIik7CiAJCXJldHVybiAtRU5YSU87CiAJfQpAQCAtNDY4LDYgKzUxMyw4IEBAIHN0 YXRpYyBpbnQgc3lucHNfZWRhY19tY19wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2 KQogCiAJcHJpdiA9IG1jaS0+cHZ0X2luZm87CiAJcHJpdi0+YmFzZWFkZHIgPSBiYXNlYWRkcjsK Kwlwcml2LT5wX2RhdGEgPSBwX2RhdGE7CisKIAlyYyA9IHN5bnBzX2VkYWNfbWNfaW5pdChtY2ks IHBkZXYpOwogCWlmIChyYykgewogCQllZGFjX3ByaW50ayhLRVJOX0VSUiwgRURBQ19NQywKQEAg LTUxMSwxMyArNTU4LDYgQEAgc3RhdGljIGludCBzeW5wc19lZGFjX21jX3JlbW92ZShzdHJ1Y3Qg cGxhdGZvcm1fZGV2aWNlICpwZGV2KQogCXJldHVybiAwOwogfQogCi1zdGF0aWMgY29uc3Qgc3Ry dWN0IG9mX2RldmljZV9pZCBzeW5wc19lZGFjX21hdGNoW10gPSB7Ci0JeyAuY29tcGF0aWJsZSA9 ICJ4bG54LHp5bnEtZGRyYy1hMDUiLCB9LAotCXsgLyogZW5kIG9mIHRhYmxlICovIH0KLX07Ci0K LU1PRFVMRV9ERVZJQ0VfVEFCTEUob2YsIHN5bnBzX2VkYWNfbWF0Y2gpOwotCiBzdGF0aWMgc3Ry dWN0IHBsYXRmb3JtX2RyaXZlciBzeW5wc19lZGFjX21jX2RyaXZlciA9IHsKIAkuZHJpdmVyID0g ewogCQkgICAubmFtZSA9ICJzeW5vcHN5cy1lZGFjIiwK