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: Borislav Petkov Message-Id: <20180725092258.GA14113@nazgul.tnic> Date: Wed, 25 Jul 2018 11:22:58 +0200 To: Masayoshi Mizuma Cc: Mauro Carvalho Chehab , linux-edac@vger.kernel.org, linux-kernel@vger.kernel.org, Tony Luck , Masayoshi Mizuma List-ID: T24gVHVlLCBKdWwgMjQsIDIwMTggYXQgMDM6MDI6MTNQTSAtMDQwMCwgTWFzYXlvc2hpIE1penVt YSB3cm90ZToKPiBbKl0gS0FTQU4gcmVwb3J0IGlzIGFzIGZvbGxvd3MuCgpUaGF0IEtBU0FOIHJl cG9ydCBpcyBhbiBhcmJpdHJhcnkgc2lkZS1lZmZlY3QgZnJvbSB0aGUgbWlzc2luZyBzZWdtZW50 ZWQKc3VwcG9ydCBzbyBJIHJpcHBlZCBpdCBvdXQgZnJvbSB0aGUgY29tbWl0IG1lc3NhZ2UgYW5k IGVuZGVkIHVwCmNvbW1pdHRpbmcgdGhpczoKLS0tCkZyb206IE1hc2F5b3NoaSBNaXp1bWEgPG0u bWl6dW1hQGpwLmZ1aml0c3UuY29tPgpEYXRlOiBUdWUsIDI0IEp1bCAyMDE4IDE1OjAyOjEzIC0w NDAwClN1YmplY3Q6IFtQQVRDSF0gRURBQywgc2JfZWRhYzogQWRkIHN1cHBvcnQgZm9yIHN5c3Rl bXMgd2l0aCBzZWdtZW50ZWQgUENJIGJ1c2VzCgpFeHRlbmQgdGhlIGRyaXZlciB0byBjaGVjayB3 aGV0aGVyIHNlZ21lbnQgbnVtYmVyIGFuZCBidXMgbnVtYmVyIG1hdGNoZXMKd2hlbiBkZWNpZGlu ZyBob3cgdG8gZ3JvdXAgbWVtb3J5IGNvbnRyb2xsZXIgUENJIGRldmljZXMgdG8gQ1BVIHNvY2tl dHMuCgpTaWduZWQtb2ZmLWJ5OiBNYXNheW9zaGkgTWl6dW1hIDxtLm1penVtYUBqcC5mdWppdHN1 LmNvbT4KUmV2aWV3ZWQtYnk6IFRvbnkgTHVjayA8dG9ueS5sdWNrQGludGVsLmNvbT4KQ2M6IE1h dXJvIENhcnZhbGhvIENoZWhhYiA8bWNoZWhhYkBrZXJuZWwub3JnPgpDYzogbGludXgtZWRhYyA8 bGludXgtZWRhY0B2Z2VyLmtlcm5lbC5vcmc+Ckxpbms6IGh0dHA6Ly9sa21sLmtlcm5lbC5vcmcv ci8yMDE4MDcyNDE5MDIxMy4yNjM1OS0xLW1zeXMubWl6dW1hQGdtYWlsLmNvbQpbIENsZWFudXAg Y29tbWl0IG1lc3NhZ2UuIF0KU2lnbmVkLW9mZi1ieTogQm9yaXNsYXYgUGV0a292IDxicEBzdXNl LmRlPgotLS0KIGRyaXZlcnMvZWRhYy9zYl9lZGFjLmMgfCAxNyArKysrKysrKysrKystLS0tLQog MSBmaWxlIGNoYW5nZWQsIDEyIGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCgpkaWZmIC0t Z2l0IGEvZHJpdmVycy9lZGFjL3NiX2VkYWMuYyBiL2RyaXZlcnMvZWRhYy9zYl9lZGFjLmMKaW5k ZXggNGE4OWM4MDkzMzA3Li4wNzcyNmZiMDAzMjEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZWRhYy9z Yl9lZGFjLmMKKysrIGIvZHJpdmVycy9lZGFjL3NiX2VkYWMuYwpAQCAtMzUyLDYgKzM1Miw3IEBA IHN0cnVjdCBwY2lfaWRfdGFibGUgewogCiBzdHJ1Y3Qgc2JyaWRnZV9kZXYgewogCXN0cnVjdCBs aXN0X2hlYWQJbGlzdDsKKwlpbnQJCQlzZWc7CiAJdTgJCQlidXMsIG1jOwogCXU4CQkJbm9kZV9p ZCwgc291cmNlX2lkOwogCXN0cnVjdCBwY2lfZGV2CQkqKnBkZXY7CkBAIC03MjksNyArNzMwLDgg QEAgc3RhdGljIGlubGluZSBpbnQgbnVtY29sKHUzMiBtdHIpCiAJcmV0dXJuIDEgPDwgY29sczsK IH0KIAotc3RhdGljIHN0cnVjdCBzYnJpZGdlX2RldiAqZ2V0X3NicmlkZ2VfZGV2KHU4IGJ1cywg ZW51bSBkb21haW4gZG9tLCBpbnQgbXVsdGlfYnVzLAorc3RhdGljIHN0cnVjdCBzYnJpZGdlX2Rl diAqZ2V0X3NicmlkZ2VfZGV2KGludCBzZWcsIHU4IGJ1cywgZW51bSBkb21haW4gZG9tLAorCQkJ CQkgICBpbnQgbXVsdGlfYnVzLAogCQkJCQkgICBzdHJ1Y3Qgc2JyaWRnZV9kZXYgKnByZXYpCiB7 CiAJc3RydWN0IHNicmlkZ2VfZGV2ICpzYnJpZGdlX2RldjsKQEAgLTc0NywxNCArNzQ5LDE1IEBA IHN0YXRpYyBzdHJ1Y3Qgc2JyaWRnZV9kZXYgKmdldF9zYnJpZGdlX2Rldih1OCBidXMsIGVudW0g ZG9tYWluIGRvbSwgaW50IG11bHRpX2J1CiAJCQkJICAgICAgOiBzYnJpZGdlX2VkYWNfbGlzdC5u ZXh0LCBzdHJ1Y3Qgc2JyaWRnZV9kZXYsIGxpc3QpOwogCiAJbGlzdF9mb3JfZWFjaF9lbnRyeV9m cm9tKHNicmlkZ2VfZGV2LCAmc2JyaWRnZV9lZGFjX2xpc3QsIGxpc3QpIHsKLQkJaWYgKHNicmlk Z2VfZGV2LT5idXMgPT0gYnVzICYmIChkb20gPT0gU09DSyB8fCBkb20gPT0gc2JyaWRnZV9kZXYt PmRvbSkpCisJCWlmICgoc2JyaWRnZV9kZXYtPnNlZyA9PSBzZWcpICYmIChzYnJpZGdlX2Rldi0+ YnVzID09IGJ1cykgJiYKKwkJCQkoZG9tID09IFNPQ0sgfHwgZG9tID09IHNicmlkZ2VfZGV2LT5k b20pKQogCQkJcmV0dXJuIHNicmlkZ2VfZGV2OwogCX0KIAogCXJldHVybiBOVUxMOwogfQogCi1z dGF0aWMgc3RydWN0IHNicmlkZ2VfZGV2ICphbGxvY19zYnJpZGdlX2Rldih1OCBidXMsIGVudW0g ZG9tYWluIGRvbSwKK3N0YXRpYyBzdHJ1Y3Qgc2JyaWRnZV9kZXYgKmFsbG9jX3NicmlkZ2VfZGV2 KGludCBzZWcsIHU4IGJ1cywgZW51bSBkb21haW4gZG9tLAogCQkJCQkgICAgIGNvbnN0IHN0cnVj dCBwY2lfaWRfdGFibGUgKnRhYmxlKQogewogCXN0cnVjdCBzYnJpZGdlX2RldiAqc2JyaWRnZV9k ZXY7CkBAIC03NzEsNiArNzc0LDcgQEAgc3RhdGljIHN0cnVjdCBzYnJpZGdlX2RldiAqYWxsb2Nf c2JyaWRnZV9kZXYodTggYnVzLCBlbnVtIGRvbWFpbiBkb20sCiAJCXJldHVybiBOVUxMOwogCX0K IAorCXNicmlkZ2VfZGV2LT5zZWcgPSBzZWc7CiAJc2JyaWRnZV9kZXYtPmJ1cyA9IGJ1czsKIAlz YnJpZGdlX2Rldi0+ZG9tID0gZG9tOwogCXNicmlkZ2VfZGV2LT5uX2RldnMgPSB0YWJsZS0+bl9k ZXZzX3Blcl9pbWM7CkBAIC0yMjQ2LDYgKzIyNTAsNyBAQCBzdGF0aWMgaW50IHNicmlkZ2VfZ2V0 X29uZWRldmljZShzdHJ1Y3QgcGNpX2RldiAqKnByZXYsCiAJc3RydWN0IHNicmlkZ2VfZGV2ICpz YnJpZGdlX2RldiA9IE5VTEw7CiAJY29uc3Qgc3RydWN0IHBjaV9pZF9kZXNjciAqZGV2X2Rlc2Ny ID0gJnRhYmxlLT5kZXNjcltkZXZub107CiAJc3RydWN0IHBjaV9kZXYgKnBkZXYgPSBOVUxMOwor CWludCBzZWcgPSAwOwogCXU4IGJ1cyA9IDA7CiAJaW50IGkgPSAwOwogCkBAIC0yMjc2LDEwICsy MjgxLDEyIEBAIHN0YXRpYyBpbnQgc2JyaWRnZV9nZXRfb25lZGV2aWNlKHN0cnVjdCBwY2lfZGV2 ICoqcHJldiwKIAkJLyogRW5kIG9mIGxpc3QsIGxlYXZlICovCiAJCXJldHVybiAtRU5PREVWOwog CX0KKwlzZWcgPSBwY2lfZG9tYWluX25yKHBkZXYtPmJ1cyk7CiAJYnVzID0gcGRldi0+YnVzLT5u dW1iZXI7CiAKIG5leHRfaW1jOgotCXNicmlkZ2VfZGV2ID0gZ2V0X3NicmlkZ2VfZGV2KGJ1cywg ZGV2X2Rlc2NyLT5kb20sIG11bHRpX2J1cywgc2JyaWRnZV9kZXYpOworCXNicmlkZ2VfZGV2ID0g Z2V0X3NicmlkZ2VfZGV2KHNlZywgYnVzLCBkZXZfZGVzY3ItPmRvbSwKKwkJCQkgICAgICBtdWx0 aV9idXMsIHNicmlkZ2VfZGV2KTsKIAlpZiAoIXNicmlkZ2VfZGV2KSB7CiAJCS8qIElmIHRoZSBI QTEgd2Fzbid0IGZvdW5kLCBkb24ndCBjcmVhdGUgRURBQyBzZWNvbmQgbWVtb3J5IGNvbnRyb2xs ZXIgKi8KIAkJaWYgKGRldl9kZXNjci0+ZG9tID09IElNQzEgJiYgZGV2bm8gIT0gMSkgewpAQCAt MjI5Miw3ICsyMjk5LDcgQEAgc3RhdGljIGludCBzYnJpZGdlX2dldF9vbmVkZXZpY2Uoc3RydWN0 IHBjaV9kZXYgKipwcmV2LAogCQlpZiAoZGV2X2Rlc2NyLT5kb20gPT0gU09DSykKIAkJCWdvdG8g b3V0X2ltYzsKIAotCQlzYnJpZGdlX2RldiA9IGFsbG9jX3NicmlkZ2VfZGV2KGJ1cywgZGV2X2Rl c2NyLT5kb20sIHRhYmxlKTsKKwkJc2JyaWRnZV9kZXYgPSBhbGxvY19zYnJpZGdlX2RldihzZWcs IGJ1cywgZGV2X2Rlc2NyLT5kb20sIHRhYmxlKTsKIAkJaWYgKCFzYnJpZGdlX2RldikgewogCQkJ cGNpX2Rldl9wdXQocGRldik7CiAJCQlyZXR1cm4gLUVOT01FTTsK