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: [v0,1/4] drivers: soc: Add broadcast base for Last Level Cache Controller (LLCC) From: Venkata Narendra Kumar Gutta Message-Id: <1532540697-26630-2-git-send-email-vnkgutta@codeaurora.org> Date: Wed, 25 Jul 2018 10:44:54 -0700 To: evgreen@chromium.org, robh@kernel.org, bp@alien8.de, mchehab@kernel.org, linux-edac@vger.kernel.org, linux-kernel@vger.kernel.org, andy.gross@linaro.org, david.brown@linaro.org, linux-arm-msm@vger.kernel.org, linux-soc@vger.kernel.org, robh+dt@kernel.org, mark.rutland@arm.com, devicetree@vger.kernel.org, tsoni@codeaurora.org, ckadabi@codeaurora.org, rishabhb@codeaurora.org Cc: Venkata Narendra Kumar Gutta List-ID: Q3VycmVudGx5LCBib3JhZGNhc3QgYmFzZSBpcyBzZXQgdG8gZW5kIG9mIHRoZSBMTENDIGJhbmtz LCB3aGljaCBtYXkKbm90IGJlIGNvcnJlY3QgYWx3YXlzLiBBcyB0aGUgbnVtYmVyIG9mIGJhbmtz IG1heSB2YXJ5IGZvciBlYWNoIGNoaXBzZXQKYW5kIHRoZSBicm9hZGNhc3QgYmFzZSBjb3VsZCBi ZSBhdCBhIGRpZmZlcmVudCBhZGRyZXNzIGFzIHdlbGwuIFRoaXMgaW5mbwpkZXBlbmRzIG9uIHRo ZSBjaGlwc2V0LCBzbyBnZXQgdGhlIGJyb2FkY2FzdCBiYXNlIGluZm8gZnJvbSB0aGUgZGV2aWNl CnRyZWUgKERUKS4gQWRkIGJyb2FkY2FzdCBiYXNlIGluIExMQ0MgZHJpdmVyIGFuZCB1c2UgdGhp cyBmb3IgYnJvYWRjYXN0CndyaXRlcy4KClNpZ25lZC1vZmYtYnk6IFZlbmthdGEgTmFyZW5kcmEg S3VtYXIgR3V0dGEgPHZua2d1dHRhQGNvZGVhdXJvcmEub3JnPgotLS0KIGRyaXZlcnMvc29jL3Fj b20vbGxjYy1zbGljZS5jICAgICAgfCA1NSArKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0t LS0tLS0tLQogaW5jbHVkZS9saW51eC9zb2MvcWNvbS9sbGNjLXFjb20uaCB8ICA0ICstLQogMiBm aWxlcyBjaGFuZ2VkLCAzNSBpbnNlcnRpb25zKCspLCAyNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1n aXQgYS9kcml2ZXJzL3NvYy9xY29tL2xsY2Mtc2xpY2UuYyBiL2RyaXZlcnMvc29jL3Fjb20vbGxj Yy1zbGljZS5jCmluZGV4IGZjYWFkMWEuLmE2MzY0MGQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvc29j L3Fjb20vbGxjYy1zbGljZS5jCisrKyBiL2RyaXZlcnMvc29jL3Fjb20vbGxjYy1zbGljZS5jCkBA IC0xMDUsMjIgKzEwNSwyNCBAQCBzdGF0aWMgaW50IGxsY2NfdXBkYXRlX2FjdF9jdHJsKHUzMiBz aWQsCiAJdTMyIHNsaWNlX3N0YXR1czsKIAlpbnQgcmV0OwogCi0JYWN0X2N0cmxfcmVnID0gZHJ2 X2RhdGEtPmJjYXN0X29mZiArIExMQ0NfVFJQX0FDVF9DVFJMbihzaWQpOwotCXN0YXR1c19yZWcg PSBkcnZfZGF0YS0+YmNhc3Rfb2ZmICsgTExDQ19UUlBfU1RBVFVTbihzaWQpOworCWFjdF9jdHJs X3JlZyA9IExMQ0NfVFJQX0FDVF9DVFJMbihzaWQpOworCXN0YXR1c19yZWcgPSBMTENDX1RSUF9T VEFUVVNuKHNpZCk7CiAKIAkvKiBTZXQgdGhlIEFDVElWRSB0cmlnZ2VyICovCiAJYWN0X2N0cmxf cmVnX3ZhbCB8PSBBQ1RfQ1RSTF9BQ1RfVFJJRzsKLQlyZXQgPSByZWdtYXBfd3JpdGUoZHJ2X2Rh dGEtPnJlZ21hcCwgYWN0X2N0cmxfcmVnLCBhY3RfY3RybF9yZWdfdmFsKTsKKwlyZXQgPSByZWdt YXBfd3JpdGUoZHJ2X2RhdGEtPmJjYXN0X3JlZ21hcCwgYWN0X2N0cmxfcmVnLAorCQkJCWFjdF9j dHJsX3JlZ192YWwpOwogCWlmIChyZXQpCiAJCXJldHVybiByZXQ7CiAKIAkvKiBDbGVhciB0aGUg QUNUSVZFIHRyaWdnZXIgKi8KIAlhY3RfY3RybF9yZWdfdmFsICY9IH5BQ1RfQ1RSTF9BQ1RfVFJJ RzsKLQlyZXQgPSByZWdtYXBfd3JpdGUoZHJ2X2RhdGEtPnJlZ21hcCwgYWN0X2N0cmxfcmVnLCBh Y3RfY3RybF9yZWdfdmFsKTsKKwlyZXQgPSByZWdtYXBfd3JpdGUoZHJ2X2RhdGEtPmJjYXN0X3Jl Z21hcCwgYWN0X2N0cmxfcmVnLAorCQkJCWFjdF9jdHJsX3JlZ192YWwpOwogCWlmIChyZXQpCiAJ CXJldHVybiByZXQ7CiAKLQlyZXQgPSByZWdtYXBfcmVhZF9wb2xsX3RpbWVvdXQoZHJ2X2RhdGEt PnJlZ21hcCwgc3RhdHVzX3JlZywKKwlyZXQgPSByZWdtYXBfcmVhZF9wb2xsX3RpbWVvdXQoZHJ2 X2RhdGEtPmJjYXN0X3JlZ21hcCwgc3RhdHVzX3JlZywKIAkJCQkgICAgICBzbGljZV9zdGF0dXMs ICEoc2xpY2Vfc3RhdHVzICYgc3RhdHVzKSwKIAkJCQkgICAgICAwLCBMTENDX1NUQVRVU19SRUFE X0RFTEFZKTsKIAlyZXR1cm4gcmV0OwpAQCAtMjI1LDE2ICsyMjcsMTMgQEAgc3RhdGljIGludCBx Y29tX2xsY2NfY2ZnX3Byb2dyYW0oc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKIAlpbnQg cmV0OwogCWNvbnN0IHN0cnVjdCBsbGNjX3NsaWNlX2NvbmZpZyAqbGxjY190YWJsZTsKIAlzdHJ1 Y3QgbGxjY19zbGljZV9kZXNjIGRlc2M7Ci0JdTMyIGJjYXN0X29mZiA9IGRydl9kYXRhLT5iY2Fz dF9vZmY7CiAKIAlzeiA9IGRydl9kYXRhLT5jZmdfc2l6ZTsKIAlsbGNjX3RhYmxlID0gZHJ2X2Rh dGEtPmNmZzsKIAogCWZvciAoaSA9IDA7IGkgPCBzejsgaSsrKSB7Ci0JCWF0dHIxX2NmZyA9IGJj YXN0X29mZiArCi0JCQkJTExDQ19UUlBfQVRUUjFfQ0ZHbihsbGNjX3RhYmxlW2ldLnNsaWNlX2lk KTsKLQkJYXR0cjBfY2ZnID0gYmNhc3Rfb2ZmICsKLQkJCQlMTENDX1RSUF9BVFRSMF9DRkduKGxs Y2NfdGFibGVbaV0uc2xpY2VfaWQpOworCQlhdHRyMV9jZmcgPSBMTENDX1RSUF9BVFRSMV9DRkdu KGxsY2NfdGFibGVbaV0uc2xpY2VfaWQpOworCQlhdHRyMF9jZmcgPSBMTENDX1RSUF9BVFRSMF9D RkduKGxsY2NfdGFibGVbaV0uc2xpY2VfaWQpOwogCiAJCWF0dHIxX3ZhbCA9IGxsY2NfdGFibGVb aV0uY2FjaGVfbW9kZTsKIAkJYXR0cjFfdmFsIHw9IGxsY2NfdGFibGVbaV0ucHJvYmVfdGFyZ2V0 X3dheXMgPDwKQEAgLTI1OSwxMCArMjU4LDEyIEBAIHN0YXRpYyBpbnQgcWNvbV9sbGNjX2NmZ19w cm9ncmFtKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCiAJCWF0dHIwX3ZhbCA9IGxsY2Nf dGFibGVbaV0ucmVzX3dheXMgJiBBVFRSMF9SRVNfV0FZU19NQVNLOwogCQlhdHRyMF92YWwgfD0g bGxjY190YWJsZVtpXS5ib251c193YXlzIDw8IEFUVFIwX0JPTlVTX1dBWVNfU0hJRlQ7CiAKLQkJ cmV0ID0gcmVnbWFwX3dyaXRlKGRydl9kYXRhLT5yZWdtYXAsIGF0dHIxX2NmZywgYXR0cjFfdmFs KTsKKwkJcmV0ID0gcmVnbWFwX3dyaXRlKGRydl9kYXRhLT5iY2FzdF9yZWdtYXAsIGF0dHIxX2Nm ZywKKwkJCQkJYXR0cjFfdmFsKTsKIAkJaWYgKHJldCkKIAkJCXJldHVybiByZXQ7Ci0JCXJldCA9 IHJlZ21hcF93cml0ZShkcnZfZGF0YS0+cmVnbWFwLCBhdHRyMF9jZmcsIGF0dHIwX3ZhbCk7CisJ CXJldCA9IHJlZ21hcF93cml0ZShkcnZfZGF0YS0+YmNhc3RfcmVnbWFwLCBhdHRyMF9jZmcsCisJ CQkJCWF0dHIwX3ZhbCk7CiAJCWlmIChyZXQpCiAJCQlyZXR1cm4gcmV0OwogCQlpZiAobGxjY190 YWJsZVtpXS5hY3RpdmF0ZV9vbl9pbml0KSB7CkBAIC0yNzgsMjQgKzI3OSwzNiBAQCBpbnQgcWNv bV9sbGNjX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYsCiB7CiAJdTMyIG51bV9i YW5rczsKIAlzdHJ1Y3QgZGV2aWNlICpkZXYgPSAmcGRldi0+ZGV2OwotCXN0cnVjdCByZXNvdXJj ZSAqcmVzOwotCXZvaWQgX19pb21lbSAqYmFzZTsKKwlzdHJ1Y3QgcmVzb3VyY2UgKmxsY2NfYmFu a3NfcmVzLCAqbGxjY19iY2FzdF9yZXM7CisJdm9pZCBfX2lvbWVtICpsbGNjX2JhbmtzX2Jhc2Us ICpsbGNjX2JjYXN0X2Jhc2U7CiAJaW50IHJldCwgaTsKIAogCWRydl9kYXRhID0gZGV2bV9remFs bG9jKGRldiwgc2l6ZW9mKCpkcnZfZGF0YSksIEdGUF9LRVJORUwpOwogCWlmICghZHJ2X2RhdGEp CiAJCXJldHVybiAtRU5PTUVNOwogCi0JcmVzID0gcGxhdGZvcm1fZ2V0X3Jlc291cmNlKHBkZXYs IElPUkVTT1VSQ0VfTUVNLCAwKTsKLQliYXNlID0gZGV2bV9pb3JlbWFwX3Jlc291cmNlKCZwZGV2 LT5kZXYsIHJlcyk7Ci0JaWYgKElTX0VSUihiYXNlKSkKLQkJcmV0dXJuIFBUUl9FUlIoYmFzZSk7 CisJbGxjY19iYW5rc19yZXMgPSBwbGF0Zm9ybV9nZXRfcmVzb3VyY2VfYnluYW1lKHBkZXYsIElP UkVTT1VSQ0VfTUVNLAorCQkJCQkJCSJsbGNjX2Jhc2UiKTsKKwlsbGNjX2JhbmtzX2Jhc2UgPSBk ZXZtX2lvcmVtYXBfcmVzb3VyY2UoJnBkZXYtPmRldiwgbGxjY19iYW5rc19yZXMpOworCWlmIChJ U19FUlIobGxjY19iYW5rc19iYXNlKSkKKwkJcmV0dXJuIFBUUl9FUlIobGxjY19iYW5rc19iYXNl KTsKIAotCWRydl9kYXRhLT5yZWdtYXAgPSBkZXZtX3JlZ21hcF9pbml0X21taW8oZGV2LCBiYXNl LAotCQkJCQkmbGxjY19yZWdtYXBfY29uZmlnKTsKKwlkcnZfZGF0YS0+cmVnbWFwID0gZGV2bV9y ZWdtYXBfaW5pdF9tbWlvKGRldiwgbGxjY19iYW5rc19iYXNlLAorCQkJCQkJJmxsY2NfcmVnbWFw X2NvbmZpZyk7CiAJaWYgKElTX0VSUihkcnZfZGF0YS0+cmVnbWFwKSkKIAkJcmV0dXJuIFBUUl9F UlIoZHJ2X2RhdGEtPnJlZ21hcCk7CiAKKwlsbGNjX2JjYXN0X3JlcyA9IHBsYXRmb3JtX2dldF9y ZXNvdXJjZV9ieW5hbWUocGRldiwgSU9SRVNPVVJDRV9NRU0sCisJCQkJCQkJImxsY2NfYnJvYWRj YXN0X2Jhc2UiKTsKKwlsbGNjX2JjYXN0X2Jhc2UgPSBkZXZtX2lvcmVtYXBfcmVzb3VyY2UoJnBk ZXYtPmRldiwgbGxjY19iY2FzdF9yZXMpOworCWlmIChJU19FUlIobGxjY19iY2FzdF9iYXNlKSkK KwkJcmV0dXJuIFBUUl9FUlIobGxjY19iY2FzdF9iYXNlKTsKKworCWRydl9kYXRhLT5iY2FzdF9y ZWdtYXAgPSBkZXZtX3JlZ21hcF9pbml0X21taW8oZGV2LCBsbGNjX2JjYXN0X2Jhc2UsCisJCQkJ CQkJJmxsY2NfcmVnbWFwX2NvbmZpZyk7CisJaWYgKElTX0VSUihkcnZfZGF0YS0+YmNhc3RfcmVn bWFwKSkKKwkJcmV0dXJuIFBUUl9FUlIoZHJ2X2RhdGEtPmJjYXN0X3JlZ21hcCk7CisKIAlyZXQg PSByZWdtYXBfcmVhZChkcnZfZGF0YS0+cmVnbWFwLCBMTENDX0NPTU1PTl9TVEFUVVMwLAogCQkJ CQkJJm51bV9iYW5rcyk7CiAJaWYgKHJldCkKQEAgLTMxNyw4ICszMzAsNiBAQCBpbnQgcWNvbV9s bGNjX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYsCiAJZm9yIChpID0gMDsgaSA8 IG51bV9iYW5rczsgaSsrKQogCQlkcnZfZGF0YS0+b2Zmc2V0c1tpXSA9IGkgKiBCQU5LX09GRlNF VF9TVFJJREU7CiAKLQlkcnZfZGF0YS0+YmNhc3Rfb2ZmID0gbnVtX2JhbmtzICogQkFOS19PRkZT RVRfU1RSSURFOwotCiAJZHJ2X2RhdGEtPmJpdG1hcCA9IGRldm1fa2NhbGxvYyhkZXYsCiAJQklU U19UT19MT05HUyhkcnZfZGF0YS0+bWF4X3NsaWNlcyksIHNpemVvZih1bnNpZ25lZCBsb25nKSwK IAkJCQkJCUdGUF9LRVJORUwpOwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9zb2MvcWNvbS9s bGNjLXFjb20uaCBiL2luY2x1ZGUvbGludXgvc29jL3Fjb20vbGxjYy1xY29tLmgKaW5kZXggN2Uz YjljNi4uYzY4MWU3OSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9saW51eC9zb2MvcWNvbS9sbGNjLXFj b20uaAorKysgYi9pbmNsdWRlL2xpbnV4L3NvYy9xY29tL2xsY2MtcWNvbS5oCkBAIC03MCwyMiAr NzAsMjIgQEAgc3RydWN0IGxsY2Nfc2xpY2VfY29uZmlnIHsKIC8qKgogICogbGxjY19kcnZfZGF0 YSAtIERhdGEgYXNzb2NpYXRlZCB3aXRoIHRoZSBsbGNjIGRyaXZlcgogICogQHJlZ21hcDogcmVn bWFwIGFzc29jaWF0ZWQgd2l0aCB0aGUgbGxjYyBkZXZpY2UKKyAqIEBiY2FzdF9yZWdtYXA6IHJl Z21hcCBhc3NvY2lhdGVkIHdpdGggbGxjYyBicm9hZGNhc3Qgb2Zmc2V0CiAgKiBAY2ZnOiBwb2lu dGVyIHRvIHRoZSBkYXRhIHN0cnVjdHVyZSBmb3Igc2xpY2UgY29uZmlndXJhdGlvbgogICogQGxv Y2s6IG11dGV4IGFzc29jaWF0ZWQgd2l0aCBlYWNoIHNsaWNlCiAgKiBAY2ZnX3NpemU6IHNpemUg b2YgdGhlIGNvbmZpZyBkYXRhIHRhYmxlCiAgKiBAbWF4X3NsaWNlczogbWF4IHNsaWNlcyBhcyBy ZWFkIGZyb20gZGV2aWNlIHRyZWUKLSAqIEBiY2FzdF9vZmY6IE9mZnNldCBvZiB0aGUgYnJvYWRj YXN0IGJhbmsKICAqIEBudW1fYmFua3M6IE51bWJlciBvZiBsbGNjIGJhbmtzCiAgKiBAYml0bWFw OiBCaXQgbWFwIHRvIHRyYWNrIHRoZSBhY3RpdmUgc2xpY2UgaWRzCiAgKiBAb2Zmc2V0czogUG9p bnRlciB0byB0aGUgYmFuayBvZmZzZXRzIGFycmF5CiAgKi8KIHN0cnVjdCBsbGNjX2Rydl9kYXRh IHsKIAlzdHJ1Y3QgcmVnbWFwICpyZWdtYXA7CisJc3RydWN0IHJlZ21hcCAqYmNhc3RfcmVnbWFw OwogCWNvbnN0IHN0cnVjdCBsbGNjX3NsaWNlX2NvbmZpZyAqY2ZnOwogCXN0cnVjdCBtdXRleCBs b2NrOwogCXUzMiBjZmdfc2l6ZTsKIAl1MzIgbWF4X3NsaWNlczsKLQl1MzIgYmNhc3Rfb2ZmOwog CXUzMiBudW1fYmFua3M7CiAJdW5zaWduZWQgbG9uZyAqYml0bWFwOwogCXUzMiAqb2Zmc2V0czsK