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: [v2] EDAC, sb_edac: Add support for systems with segmented PCI buses From: Masayoshi Mizuma Message-Id: <27c2042a-7312-6954-bab9-c232c506aca1@gmail.com> Date: Wed, 25 Jul 2018 20:27:31 -0400 To: bp@alien8.de Cc: mchehab@kernel.org, linux-edac@vger.kernel.org, linux-kernel@vger.kernel.org, tony.luck@intel.com, m.mizuma@jp.fujitsu.com List-ID: SGkgQm9yaXMsCgpPbiAwNy8yNS8yMDE4IDA1OjIyIEFNLCBCb3Jpc2xhdiBQZXRrb3Ygd3JvdGU6 Cj4gT24gVHVlLCBKdWwgMjQsIDIwMTggYXQgMDM6MDI6MTNQTSAtMDQwMCwgTWFzYXlvc2hpIE1p enVtYSB3cm90ZToKPj4gWypdIEtBU0FOIHJlcG9ydCBpcyBhcyBmb2xsb3dzLgo+IAo+IFRoYXQg S0FTQU4gcmVwb3J0IGlzIGFuIGFyYml0cmFyeSBzaWRlLWVmZmVjdCBmcm9tIHRoZSBtaXNzaW5n IHNlZ21lbnRlZAo+IHN1cHBvcnQgc28gSSByaXBwZWQgaXQgb3V0IGZyb20gdGhlIGNvbW1pdCBt ZXNzYWdlIGFuZCBlbmRlZCB1cAo+IGNvbW1pdHRpbmcgdGhpczoKClRoYW5rIHlvdSBzbyBtdWNo IQoKLSBNYXNhCgo+IAo+IC0tLQo+IEZyb206IE1hc2F5b3NoaSBNaXp1bWEgPG0ubWl6dW1hQGpw LmZ1aml0c3UuY29tPgo+IERhdGU6IFR1ZSwgMjQgSnVsIDIwMTggMTU6MDI6MTMgLTA0MDAKPiBT dWJqZWN0OiBbUEFUQ0hdIEVEQUMsIHNiX2VkYWM6IEFkZCBzdXBwb3J0IGZvciBzeXN0ZW1zIHdp dGggc2VnbWVudGVkIFBDSSBidXNlcwo+IAo+IEV4dGVuZCB0aGUgZHJpdmVyIHRvIGNoZWNrIHdo ZXRoZXIgc2VnbWVudCBudW1iZXIgYW5kIGJ1cyBudW1iZXIgbWF0Y2hlcwo+IHdoZW4gZGVjaWRp bmcgaG93IHRvIGdyb3VwIG1lbW9yeSBjb250cm9sbGVyIFBDSSBkZXZpY2VzIHRvIENQVSBzb2Nr ZXRzLgo+IAo+IFNpZ25lZC1vZmYtYnk6IE1hc2F5b3NoaSBNaXp1bWEgPG0ubWl6dW1hQGpwLmZ1 aml0c3UuY29tPgo+IFJldmlld2VkLWJ5OiBUb255IEx1Y2sgPHRvbnkubHVja0BpbnRlbC5jb20+ Cj4gQ2M6IE1hdXJvIENhcnZhbGhvIENoZWhhYiA8bWNoZWhhYkBrZXJuZWwub3JnPgo+IENjOiBs aW51eC1lZGFjIDxsaW51eC1lZGFjQHZnZXIua2VybmVsLm9yZz4KPiBMaW5rOiBodHRwOi8vbGtt bC5rZXJuZWwub3JnL3IvMjAxODA3MjQxOTAyMTMuMjYzNTktMS1tc3lzLm1penVtYUBnbWFpbC5j b20KPiBbIENsZWFudXAgY29tbWl0IG1lc3NhZ2UuIF0KPiBTaWduZWQtb2ZmLWJ5OiBCb3Jpc2xh diBQZXRrb3YgPGJwQHN1c2UuZGU+Cj4gLS0tCj4gIGRyaXZlcnMvZWRhYy9zYl9lZGFjLmMgfCAx NyArKysrKysrKysrKystLS0tLQo+ICAxIGZpbGUgY2hhbmdlZCwgMTIgaW5zZXJ0aW9ucygrKSwg NSBkZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9lZGFjL3NiX2VkYWMuYyBi L2RyaXZlcnMvZWRhYy9zYl9lZGFjLmMKPiBpbmRleCA0YTg5YzgwOTMzMDcuLjA3NzI2ZmIwMDMy MSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2VkYWMvc2JfZWRhYy5jCj4gKysrIGIvZHJpdmVycy9l ZGFjL3NiX2VkYWMuYwo+IEBAIC0zNTIsNiArMzUyLDcgQEAgc3RydWN0IHBjaV9pZF90YWJsZSB7 Cj4gIAo+ICBzdHJ1Y3Qgc2JyaWRnZV9kZXYgewo+ICAJc3RydWN0IGxpc3RfaGVhZAlsaXN0Owo+ ICsJaW50CQkJc2VnOwo+ICAJdTgJCQlidXMsIG1jOwo+ICAJdTgJCQlub2RlX2lkLCBzb3VyY2Vf aWQ7Cj4gIAlzdHJ1Y3QgcGNpX2RldgkJKipwZGV2Owo+IEBAIC03MjksNyArNzMwLDggQEAgc3Rh dGljIGlubGluZSBpbnQgbnVtY29sKHUzMiBtdHIpCj4gIAlyZXR1cm4gMSA8PCBjb2xzOwo+ICB9 Cj4gIAo+IC1zdGF0aWMgc3RydWN0IHNicmlkZ2VfZGV2ICpnZXRfc2JyaWRnZV9kZXYodTggYnVz LCBlbnVtIGRvbWFpbiBkb20sIGludCBtdWx0aV9idXMsCj4gK3N0YXRpYyBzdHJ1Y3Qgc2JyaWRn ZV9kZXYgKmdldF9zYnJpZGdlX2RldihpbnQgc2VnLCB1OCBidXMsIGVudW0gZG9tYWluIGRvbSwK PiArCQkJCQkgICBpbnQgbXVsdGlfYnVzLAo+ICAJCQkJCSAgIHN0cnVjdCBzYnJpZGdlX2RldiAq cHJldikKPiAgewo+ICAJc3RydWN0IHNicmlkZ2VfZGV2ICpzYnJpZGdlX2RldjsKPiBAQCAtNzQ3 LDE0ICs3NDksMTUgQEAgc3RhdGljIHN0cnVjdCBzYnJpZGdlX2RldiAqZ2V0X3NicmlkZ2VfZGV2 KHU4IGJ1cywgZW51bSBkb21haW4gZG9tLCBpbnQgbXVsdGlfYnUKPiAgCQkJCSAgICAgIDogc2Jy aWRnZV9lZGFjX2xpc3QubmV4dCwgc3RydWN0IHNicmlkZ2VfZGV2LCBsaXN0KTsKPiAgCj4gIAls aXN0X2Zvcl9lYWNoX2VudHJ5X2Zyb20oc2JyaWRnZV9kZXYsICZzYnJpZGdlX2VkYWNfbGlzdCwg bGlzdCkgewo+IC0JCWlmIChzYnJpZGdlX2Rldi0+YnVzID09IGJ1cyAmJiAoZG9tID09IFNPQ0sg fHwgZG9tID09IHNicmlkZ2VfZGV2LT5kb20pKQo+ICsJCWlmICgoc2JyaWRnZV9kZXYtPnNlZyA9 PSBzZWcpICYmIChzYnJpZGdlX2Rldi0+YnVzID09IGJ1cykgJiYKPiArCQkJCShkb20gPT0gU09D SyB8fCBkb20gPT0gc2JyaWRnZV9kZXYtPmRvbSkpCj4gIAkJCXJldHVybiBzYnJpZGdlX2RldjsK PiAgCX0KPiAgCj4gIAlyZXR1cm4gTlVMTDsKPiAgfQo+ICAKPiAtc3RhdGljIHN0cnVjdCBzYnJp ZGdlX2RldiAqYWxsb2Nfc2JyaWRnZV9kZXYodTggYnVzLCBlbnVtIGRvbWFpbiBkb20sCj4gK3N0 YXRpYyBzdHJ1Y3Qgc2JyaWRnZV9kZXYgKmFsbG9jX3NicmlkZ2VfZGV2KGludCBzZWcsIHU4IGJ1 cywgZW51bSBkb21haW4gZG9tLAo+ICAJCQkJCSAgICAgY29uc3Qgc3RydWN0IHBjaV9pZF90YWJs ZSAqdGFibGUpCj4gIHsKPiAgCXN0cnVjdCBzYnJpZGdlX2RldiAqc2JyaWRnZV9kZXY7Cj4gQEAg LTc3MSw2ICs3NzQsNyBAQCBzdGF0aWMgc3RydWN0IHNicmlkZ2VfZGV2ICphbGxvY19zYnJpZGdl X2Rldih1OCBidXMsIGVudW0gZG9tYWluIGRvbSwKPiAgCQlyZXR1cm4gTlVMTDsKPiAgCX0KPiAg Cj4gKwlzYnJpZGdlX2Rldi0+c2VnID0gc2VnOwo+ICAJc2JyaWRnZV9kZXYtPmJ1cyA9IGJ1czsK PiAgCXNicmlkZ2VfZGV2LT5kb20gPSBkb207Cj4gIAlzYnJpZGdlX2Rldi0+bl9kZXZzID0gdGFi bGUtPm5fZGV2c19wZXJfaW1jOwo+IEBAIC0yMjQ2LDYgKzIyNTAsNyBAQCBzdGF0aWMgaW50IHNi cmlkZ2VfZ2V0X29uZWRldmljZShzdHJ1Y3QgcGNpX2RldiAqKnByZXYsCj4gIAlzdHJ1Y3Qgc2Jy aWRnZV9kZXYgKnNicmlkZ2VfZGV2ID0gTlVMTDsKPiAgCWNvbnN0IHN0cnVjdCBwY2lfaWRfZGVz Y3IgKmRldl9kZXNjciA9ICZ0YWJsZS0+ZGVzY3JbZGV2bm9dOwo+ICAJc3RydWN0IHBjaV9kZXYg KnBkZXYgPSBOVUxMOwo+ICsJaW50IHNlZyA9IDA7Cj4gIAl1OCBidXMgPSAwOwo+ICAJaW50IGkg PSAwOwo+ICAKPiBAQCAtMjI3NiwxMCArMjI4MSwxMiBAQCBzdGF0aWMgaW50IHNicmlkZ2VfZ2V0 X29uZWRldmljZShzdHJ1Y3QgcGNpX2RldiAqKnByZXYsCj4gIAkJLyogRW5kIG9mIGxpc3QsIGxl YXZlICovCj4gIAkJcmV0dXJuIC1FTk9ERVY7Cj4gIAl9Cj4gKwlzZWcgPSBwY2lfZG9tYWluX25y KHBkZXYtPmJ1cyk7Cj4gIAlidXMgPSBwZGV2LT5idXMtPm51bWJlcjsKPiAgCj4gIG5leHRfaW1j Ogo+IC0Jc2JyaWRnZV9kZXYgPSBnZXRfc2JyaWRnZV9kZXYoYnVzLCBkZXZfZGVzY3ItPmRvbSwg bXVsdGlfYnVzLCBzYnJpZGdlX2Rldik7Cj4gKwlzYnJpZGdlX2RldiA9IGdldF9zYnJpZGdlX2Rl dihzZWcsIGJ1cywgZGV2X2Rlc2NyLT5kb20sCj4gKwkJCQkgICAgICBtdWx0aV9idXMsIHNicmlk Z2VfZGV2KTsKPiAgCWlmICghc2JyaWRnZV9kZXYpIHsKPiAgCQkvKiBJZiB0aGUgSEExIHdhc24n dCBmb3VuZCwgZG9uJ3QgY3JlYXRlIEVEQUMgc2Vjb25kIG1lbW9yeSBjb250cm9sbGVyICovCj4g IAkJaWYgKGRldl9kZXNjci0+ZG9tID09IElNQzEgJiYgZGV2bm8gIT0gMSkgewo+IEBAIC0yMjky LDcgKzIyOTksNyBAQCBzdGF0aWMgaW50IHNicmlkZ2VfZ2V0X29uZWRldmljZShzdHJ1Y3QgcGNp X2RldiAqKnByZXYsCj4gIAkJaWYgKGRldl9kZXNjci0+ZG9tID09IFNPQ0spCj4gIAkJCWdvdG8g b3V0X2ltYzsKPiAgCj4gLQkJc2JyaWRnZV9kZXYgPSBhbGxvY19zYnJpZGdlX2RldihidXMsIGRl dl9kZXNjci0+ZG9tLCB0YWJsZSk7Cj4gKwkJc2JyaWRnZV9kZXYgPSBhbGxvY19zYnJpZGdlX2Rl dihzZWcsIGJ1cywgZGV2X2Rlc2NyLT5kb20sIHRhYmxlKTsKPiAgCQlpZiAoIXNicmlkZ2VfZGV2 KSB7Cj4gIAkJCXBjaV9kZXZfcHV0KHBkZXYpOwo+ICAJCQlyZXR1cm4gLUVOT01FTTsKPgotLS0K VG8gdW5zdWJzY3JpYmUgZnJvbSB0aGlzIGxpc3Q6IHNlbmQgdGhlIGxpbmUgInVuc3Vic2NyaWJl IGxpbnV4LWVkYWMiIGluCnRoZSBib2R5IG9mIGEgbWVzc2FnZSB0byBtYWpvcmRvbW9Admdlci5r ZXJuZWwub3JnCk1vcmUgbWFqb3Jkb21vIGluZm8gYXQgIGh0dHA6Ly92Z2VyLmtlcm5lbC5vcmcv bWFqb3Jkb21vLWluZm8uaHRtbAo=