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: [v4,1/4] edac: synps: Add platform specific structures for ddrc controller From: Manish Narani Message-Id: <1533374735-16662-2-git-send-email-manish.narani@xilinx.com> Date: Sat, 4 Aug 2018 14:55:32 +0530 To: robh+dt@kernel.org, mark.rutland@arm.com, catalin.marinas@arm.com, will.deacon@arm.com, michal.simek@xilinx.com, bp@alien8.de, mchehab@kernel.org, mdf@kernel.org, edgar.iglesias@xilinx.com, shubhrajyoti.datta@xilinx.com, naga.sureshkumar.relli@xilinx.com, bharat.kumar.gogada@xilinx.com, stefan.krsmanovic@aggios.com 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, Manish Narani List-ID: QWRkIHBsYXRmb3JtIHNwZWNpZmljIHN0cnVjdHVyZXMsIHNvIHRoYXQgd2UgY2FuIGFkZCBkaWZm ZXJlbnQgSVAKc3VwcG9ydCBsYXRlciB1c2luZyBxdWlya3MuCgpTaWduZWQtb2ZmLWJ5OiBNYW5p c2ggTmFyYW5pIDxtYW5pc2gubmFyYW5pQHhpbGlueC5jb20+Ci0tLQogZHJpdmVycy9lZGFjL3N5 bm9wc3lzX2VkYWMuYyB8IDgzICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0t LS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgNjUgaW5zZXJ0aW9ucygrKSwgMTggZGVsZXRpb25zKC0p CgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9lZGFjL3N5bm9wc3lzX2VkYWMuYyBiL2RyaXZlcnMvZWRh Yy9zeW5vcHN5c19lZGFjLmMKaW5kZXggMGM5YzU5ZS4uYjNjNTRlNyAxMDA2NDQKLS0tIGEvZHJp dmVycy9lZGFjL3N5bm9wc3lzX2VkYWMuYworKysgYi9kcml2ZXJzL2VkYWMvc3lub3BzeXNfZWRh Yy5jCkBAIC0yMiw2ICsyMiw3IEBACiAjaW5jbHVkZSA8bGludXgvZWRhYy5oPgogI2luY2x1ZGUg PGxpbnV4L21vZHVsZS5oPgogI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPgorI2lu Y2x1ZGUgPGxpbnV4L29mLmg+CiAKICNpbmNsdWRlICJlZGFjX21vZHVsZS5oIgogCkBAIC0xMzAs NiArMTMxLDcgQEAgc3RydWN0IHN5bnBzX2VjY19zdGF0dXMgewogICogQGJhc2VhZGRyOglCYXNl IGFkZHJlc3Mgb2YgdGhlIEREUiBjb250cm9sbGVyCiAgKiBAbWVzc2FnZToJQnVmZmVyIGZvciBm cmFtaW5nIHRoZSBldmVudCBzcGVjaWZpYyBpbmZvCiAgKiBAc3RhdDoJRUNDIHN0YXR1cyBpbmZv cm1hdGlvbgorICogQHBfZGF0YToJUG9pbnRlciB0byBwbGF0Zm9ybSBkYXRhCiAgKiBAY2VfY250 OglDb3JyZWN0YWJsZSBFcnJvciBjb3VudAogICogQHVlX2NudDoJVW5jb3JyZWN0YWJsZSBFcnJv ciBjb3VudAogICovCkBAIC0xMzcsMjQgKzEzOSw0NyBAQCBzdHJ1Y3Qgc3lucHNfZWRhY19wcml2 IHsKIAl2b2lkIF9faW9tZW0gKmJhc2VhZGRyOwogCWNoYXIgbWVzc2FnZVtTWU5QU19FREFDX01T R19TSVpFXTsKIAlzdHJ1Y3Qgc3lucHNfZWNjX3N0YXR1cyBzdGF0OworCWNvbnN0IHN0cnVjdCBz eW5wc19wbGF0Zm9ybV9kYXRhICpwX2RhdGE7CiAJdTMyIGNlX2NudDsKIAl1MzIgdWVfY250Owog fTsKIAogLyoqCisgKiBzdHJ1Y3Qgc3lucHNfcGxhdGZvcm1fZGF0YSAtICBzeW5wcyBwbGF0Zm9y bSBkYXRhIHN0cnVjdHVyZQorICogQGVkYWNfZ2V0ZXJyb3JfaW5mbzoJZnVuY3Rpb24gcG9pbnRl ciB0byBzeW5wcyBlZGFjIGVycm9yIGluZm8KKyAqIEBlZGFjX2dldF9tdHlwZToJZnVuY3Rpb24g cG9pbnRlciB0byBzeW5wcyBlZGFjIG10eXBlCisgKiBAZWRhY19nZXRfZHR5cGU6CWZ1bmN0aW9u IHBvaW50ZXIgdG8gc3lucHMgZWRhYyBkdHlwZQorICogQGVkYWNfZ2V0X2VjY3N0YXRlOglmdW5j dGlvbiBwb2ludGVyIHRvIHN5bnBzIGVkYWMgZWNjc3RhdGUKKyAqIEBxdWlya3M6CQl0byBkaWZm ZXJlbnRpYXRlIElQcworICovCitzdHJ1Y3Qgc3lucHNfcGxhdGZvcm1fZGF0YSB7CisJaW50ICgq ZWRhY19nZXRlcnJvcl9pbmZvKShzdHJ1Y3Qgc3lucHNfZWRhY19wcml2ICpwcml2KTsKKwllbnVt IG1lbV90eXBlICgqZWRhY19nZXRfbXR5cGUpKGNvbnN0IHZvaWQgX19pb21lbSAqYmFzZSk7CisJ ZW51bSBkZXZfdHlwZSAoKmVkYWNfZ2V0X2R0eXBlKShjb25zdCB2b2lkIF9faW9tZW0gKmJhc2Up OworCWJvb2wgKCplZGFjX2dldF9lY2NzdGF0ZSkodm9pZCBfX2lvbWVtICpiYXNlKTsKKwlpbnQg cXVpcmtzOworfTsKKworLyoqCiAgKiBzeW5wc19lZGFjX2dldGVycm9yX2luZm8gLSBHZXQgdGhl IGN1cnJlbnQgZWNjIGVycm9yIGluZm8KLSAqIEBiYXNlOglQb2ludGVyIHRvIHRoZSBiYXNlIGFk ZHJlc3Mgb2YgdGhlIGRkciBtZW1vcnkgY29udHJvbGxlcgotICogQHA6CQlQb2ludGVyIHRvIHRo ZSBzeW5vcHN5cyBlY2Mgc3RhdHVzIHN0cnVjdHVyZQorICogQHByaXY6CVBvaW50ZXIgdG8gRERS IG1lbW9yeSBjb250cm9sbGVyIHByaXZhdGUgaW5zdGFuY2UgZGF0YQogICoKICAqIERldGVybWlu ZXMgdGhlcmUgaXMgYW55IGVjYyBlcnJvciBvciBub3QKICAqCiAgKiBSZXR1cm46IG9uZSBpZiB0 aGVyZSBpcyBubyBlcnJvciBvdGhlcndpc2UgcmV0dXJucyB6ZXJvCiAgKi8KLXN0YXRpYyBpbnQg c3lucHNfZWRhY19nZXRlcnJvcl9pbmZvKHZvaWQgX19pb21lbSAqYmFzZSwKLQkJCQkgICAgc3Ry dWN0IHN5bnBzX2VjY19zdGF0dXMgKnApCitzdGF0aWMgaW50IHN5bnBzX2VkYWNfZ2V0ZXJyb3Jf aW5mbyhzdHJ1Y3Qgc3lucHNfZWRhY19wcml2ICpwcml2KQogeworCXZvaWQgX19pb21lbSAqYmFz ZTsKKwlzdHJ1Y3Qgc3lucHNfZWNjX3N0YXR1cyAqcDsKIAl1MzIgcmVndmFsLCBjbGVhcnZhbCA9 IDA7CiAKKwlpZiAoIXByaXYpCisJCXJldHVybiAxOworCisJYmFzZSA9IHByaXYtPmJhc2VhZGRy OworCXAgPSAmcHJpdi0+c3RhdDsKKwogCXJlZ3ZhbCA9IHJlYWRsKGJhc2UgKyBTVEFUX09GU1Qp OwogCWlmICghcmVndmFsKQogCQlyZXR1cm4gMTsKQEAgLTI0MCw5ICsyNjUsMTAgQEAgc3RhdGlj IHZvaWQgc3lucHNfZWRhY19oYW5kbGVfZXJyb3Ioc3RydWN0IG1lbV9jdGxfaW5mbyAqbWNpLAog c3RhdGljIHZvaWQgc3lucHNfZWRhY19jaGVjayhzdHJ1Y3QgbWVtX2N0bF9pbmZvICptY2kpCiB7 CiAJc3RydWN0IHN5bnBzX2VkYWNfcHJpdiAqcHJpdiA9IG1jaS0+cHZ0X2luZm87CisJY29uc3Qg c3RydWN0IHN5bnBzX3BsYXRmb3JtX2RhdGEgKnBfZGF0YSA9IHByaXYtPnBfZGF0YTsKIAlpbnQg c3RhdHVzOwogCi0Jc3RhdHVzID0gc3lucHNfZWRhY19nZXRlcnJvcl9pbmZvKHByaXYtPmJhc2Vh ZGRyLCAmcHJpdi0+c3RhdCk7CisJc3RhdHVzID0gcF9kYXRhLT5lZGFjX2dldGVycm9yX2luZm8o cHJpdik7CiAJaWYgKHN0YXR1cykKIAkJcmV0dXJuOwogCkBAIC0zNjIsNiArMzg4LDcgQEAgc3Rh dGljIGludCBzeW5wc19lZGFjX2luaXRfY3Nyb3dzKHN0cnVjdCBtZW1fY3RsX2luZm8gKm1jaSkK IAlzdHJ1Y3QgY3Nyb3dfaW5mbyAqY3NpOwogCXN0cnVjdCBkaW1tX2luZm8gKmRpbW07CiAJc3Ry dWN0IHN5bnBzX2VkYWNfcHJpdiAqcHJpdiA9IG1jaS0+cHZ0X2luZm87CisJY29uc3Qgc3RydWN0 IHN5bnBzX3BsYXRmb3JtX2RhdGEgKnBfZGF0YSA9IHByaXYtPnBfZGF0YTsKIAl1MzIgc2l6ZTsK IAlpbnQgcm93LCBqOwogCkBAIC0zNzAsMTIgKzM5NywxMyBAQCBzdGF0aWMgaW50IHN5bnBzX2Vk YWNfaW5pdF9jc3Jvd3Moc3RydWN0IG1lbV9jdGxfaW5mbyAqbWNpKQogCQlzaXplID0gc3lucHNf ZWRhY19nZXRfbWVtc2l6ZSgpOwogCiAJCWZvciAoaiA9IDA7IGogPCBjc2ktPm5yX2NoYW5uZWxz OyBqKyspIHsKLQkJCWRpbW0gICAgICAgICAgICA9IGNzaS0+Y2hhbm5lbHNbal0tPmRpbW07CisJ CQlkaW1tID0gY3NpLT5jaGFubmVsc1tqXS0+ZGltbTsKIAkJCWRpbW0tPmVkYWNfbW9kZSA9IEVE QUNfRkxBR19TRUNERUQ7Ci0JCQlkaW1tLT5tdHlwZSAgICAgPSBzeW5wc19lZGFjX2dldF9tdHlw ZShwcml2LT5iYXNlYWRkcik7Ci0JCQlkaW1tLT5ucl9wYWdlcyAgPSAoc2l6ZSA+PiBQQUdFX1NI SUZUKSAvIGNzaS0+bnJfY2hhbm5lbHM7Ci0JCQlkaW1tLT5ncmFpbiAgICAgPSBTWU5QU19FREFD X0VSUl9HUkFJTjsKLQkJCWRpbW0tPmR0eXBlICAgICA9IHN5bnBzX2VkYWNfZ2V0X2R0eXBlKHBy aXYtPmJhc2VhZGRyKTsKKwkJCWRpbW0tPm10eXBlID0gcF9kYXRhLT5lZGFjX2dldF9tdHlwZShw cml2LT5iYXNlYWRkcik7CisJCQlkaW1tLT5ucl9wYWdlcyA9IChzaXplID4+IFBBR0VfU0hJRlQp IC8KKwkJCQkJCWNzaS0+bnJfY2hhbm5lbHM7CisJCQlkaW1tLT5ncmFpbiA9IFNZTlBTX0VEQUNf RVJSX0dSQUlOOworCQkJZGltbS0+ZHR5cGUgPSBwX2RhdGEtPmVkYWNfZ2V0X2R0eXBlKHByaXYt PmJhc2VhZGRyKTsKIAkJfQogCX0KIApAQCAtNDIzLDYgKzQ1MSwyMSBAQCBzdGF0aWMgaW50IHN5 bnBzX2VkYWNfbWNfaW5pdChzdHJ1Y3QgbWVtX2N0bF9pbmZvICptY2ksCiAJcmV0dXJuIHN0YXR1 czsKIH0KIAorc3RhdGljIGNvbnN0IHN0cnVjdCBzeW5wc19wbGF0Zm9ybV9kYXRhIHp5bnFfZWRh Y19kZWYgPSB7CisJLmVkYWNfZ2V0ZXJyb3JfaW5mbwk9IHN5bnBzX2VkYWNfZ2V0ZXJyb3JfaW5m bywKKwkuZWRhY19nZXRfbXR5cGUJCT0gc3lucHNfZWRhY19nZXRfbXR5cGUsCisJLmVkYWNfZ2V0 X2R0eXBlCQk9IHN5bnBzX2VkYWNfZ2V0X2R0eXBlLAorCS5lZGFjX2dldF9lY2NzdGF0ZQk9IHN5 bnBzX2VkYWNfZ2V0X2VjY3N0YXRlLAorCS5xdWlya3MJCQk9IDAsCit9OworCitzdGF0aWMgY29u c3Qgc3RydWN0IG9mX2RldmljZV9pZCBzeW5wc19lZGFjX21hdGNoW10gPSB7CisJeyAuY29tcGF0 aWJsZSA9ICJ4bG54LHp5bnEtZGRyYy1hMDUiLCAuZGF0YSA9ICh2b2lkICopJnp5bnFfZWRhY19k ZWYgfSwKKwl7IC8qIGVuZCBvZiB0YWJsZSAqLyB9Cit9OworCitNT0RVTEVfREVWSUNFX1RBQkxF KG9mLCBzeW5wc19lZGFjX21hdGNoKTsKKwogLyoqCiAgKiBzeW5wc19lZGFjX21jX3Byb2JlIC0g Q2hlY2sgY29udHJvbGxlciBhbmQgYmluZCBkcml2ZXIKICAqIEBwZGV2OglQb2ludGVyIHRvIHRo ZSBwbGF0Zm9ybV9kZXZpY2Ugc3RydWN0CkBAIC00NDAsMTMgKzQ4MywyMiBAQCBzdGF0aWMgaW50 IHN5bnBzX2VkYWNfbWNfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKIAlpbnQg cmM7CiAJc3RydWN0IHJlc291cmNlICpyZXM7CiAJdm9pZCBfX2lvbWVtICpiYXNlYWRkcjsKKwlj b25zdCBzdHJ1Y3Qgb2ZfZGV2aWNlX2lkICptYXRjaDsKKwljb25zdCBzdHJ1Y3Qgc3lucHNfcGxh dGZvcm1fZGF0YSAqcF9kYXRhOwogCiAJcmVzID0gcGxhdGZvcm1fZ2V0X3Jlc291cmNlKHBkZXYs IElPUkVTT1VSQ0VfTUVNLCAwKTsKIAliYXNlYWRkciA9IGRldm1faW9yZW1hcF9yZXNvdXJjZSgm cGRldi0+ZGV2LCByZXMpOwogCWlmIChJU19FUlIoYmFzZWFkZHIpKQogCQlyZXR1cm4gUFRSX0VS UihiYXNlYWRkcik7CiAKLQlpZiAoIXN5bnBzX2VkYWNfZ2V0X2VjY3N0YXRlKGJhc2VhZGRyKSkg eworCW1hdGNoID0gb2ZfbWF0Y2hfbm9kZShzeW5wc19lZGFjX21hdGNoLCBwZGV2LT5kZXYub2Zf bm9kZSk7CisJaWYgKCFtYXRjaCAmJiAhbWF0Y2gtPmRhdGEpIHsKKwkJZGV2X2VycigmcGRldi0+ ZGV2LCAib2ZfbWF0Y2hfbm9kZSgpIGZhaWxlZFxuIik7CisJCXJldHVybiAtRUlOVkFMOworCX0K KworCXBfZGF0YSA9IChzdHJ1Y3Qgc3lucHNfcGxhdGZvcm1fZGF0YSAqKW1hdGNoLT5kYXRhOwor CWlmICghKHBfZGF0YS0+ZWRhY19nZXRfZWNjc3RhdGUoYmFzZWFkZHIpKSkgewogCQllZGFjX3By aW50ayhLRVJOX0lORk8sIEVEQUNfTUMsICJFQ0Mgbm90IGVuYWJsZWRcbiIpOwogCQlyZXR1cm4g LUVOWElPOwogCX0KQEAgLTQ2OCw2ICs1MjAsOCBAQCBzdGF0aWMgaW50IHN5bnBzX2VkYWNfbWNf cHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKIAogCXByaXYgPSBtY2ktPnB2dF9p bmZvOwogCXByaXYtPmJhc2VhZGRyID0gYmFzZWFkZHI7CisJcHJpdi0+cF9kYXRhID0gbWF0Y2gt PmRhdGE7CisKIAlyYyA9IHN5bnBzX2VkYWNfbWNfaW5pdChtY2ksIHBkZXYpOwogCWlmIChyYykg ewogCQllZGFjX3ByaW50ayhLRVJOX0VSUiwgRURBQ19NQywKQEAgLTUxMSwxMyArNTY1LDYgQEAg c3RhdGljIGludCBzeW5wc19lZGFjX21jX3JlbW92ZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpw ZGV2KQogCXJldHVybiAwOwogfQogCi1zdGF0aWMgY29uc3Qgc3RydWN0IG9mX2RldmljZV9pZCBz eW5wc19lZGFjX21hdGNoW10gPSB7Ci0JeyAuY29tcGF0aWJsZSA9ICJ4bG54LHp5bnEtZGRyYy1h MDUiLCB9LAotCXsgLyogZW5kIG9mIHRhYmxlICovIH0KLX07Ci0KLU1PRFVMRV9ERVZJQ0VfVEFC TEUob2YsIHN5bnBzX2VkYWNfbWF0Y2gpOwotCiBzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RyaXZl ciBzeW5wc19lZGFjX21jX2RyaXZlciA9IHsKIAkuZHJpdmVyID0gewogCQkgICAubmFtZSA9ICJz eW5vcHN5cy1lZGFjIiwK