From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.8 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 7F0E8C43613 for ; Mon, 24 Jun 2019 15:09:44 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 396B120645 for ; Mon, 24 Jun 2019 15:09:44 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=marvell.com header.i=@marvell.com header.b="MySNMAvV"; dkim=pass (1024-bit key) header.d=marvell.onmicrosoft.com header.i=@marvell.onmicrosoft.com header.b="Ai3eH4pb" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730775AbfFXPJn (ORCPT ); Mon, 24 Jun 2019 11:09:43 -0400 Received: from mx0a-0016f401.pphosted.com ([67.231.148.174]:36938 "EHLO mx0b-0016f401.pphosted.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1730713AbfFXPJi (ORCPT ); Mon, 24 Jun 2019 11:09:38 -0400 Received: from pps.filterd (m0045849.ppops.net [127.0.0.1]) by mx0a-0016f401.pphosted.com (8.16.0.27/8.16.0.27) with SMTP id x5OF0BQp018658; Mon, 24 Jun 2019 08:09:32 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : content-transfer-encoding : mime-version; s=pfpt0818; bh=dhPjSm/o1hnsesbUEQ+VSvp8f+PEBgp+eZbBJxLIHnc=; b=MySNMAvV2rPLP9aCifpyfML4ptVrUAnmr3eD/kGIAyQ4B+6eAy5rUEp8UIK8rKZ3BPQ8 w9SKwn1koPnkTntmxH/xWEUkf/LPwbCoy3CRIlKK4tQAOFDin+nfj/QUGLEn5uFcluri vcTNgFr0tzZYcQhIpXzroRrZfGyiJU5KE69+DPVbOLWACzDAwfScNYlquKWpl4kwwqPU cVp/0v7fcXRJMhc7JuGxooeXyoov7+fV3lI3zpZwQfrdoh4vrYqYBoFj5VmsqCyvsk4a ReBS2Y3OzJP5Kfjv+qrJjIxo7M+sQfC1O8kADBU2toUwx49CrXMRdZguiS4mRRdSvL+I IA== Received: from sc-exch04.marvell.com ([199.233.58.184]) by mx0a-0016f401.pphosted.com with ESMTP id 2tarxr9tbp-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT); Mon, 24 Jun 2019 08:09:32 -0700 Received: from SC-EXCH04.marvell.com (10.93.176.84) by SC-EXCH04.marvell.com (10.93.176.84) with Microsoft SMTP Server (TLS) id 15.0.1367.3; Mon, 24 Jun 2019 08:09:31 -0700 Received: from NAM03-BY2-obe.outbound.protection.outlook.com (104.47.42.55) by SC-EXCH04.marvell.com (10.93.176.84) with Microsoft SMTP Server (TLS) id 15.0.1367.3 via Frontend Transport; Mon, 24 Jun 2019 08:09:30 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.onmicrosoft.com; s=selector2-marvell-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=dhPjSm/o1hnsesbUEQ+VSvp8f+PEBgp+eZbBJxLIHnc=; b=Ai3eH4pbpnh3eRP3eotDQOO8w5FZFc/LuENoC0N74vunQB5pAjCcDrmTgvZ5Nn7gl2ysZ+CbTTCaLBqhltNMoy1tyilGekeYI5kNj26kKoB4vSpPYnJGDdiJibxaUkwIh9nQn9+muCcdxYr0+kMvSNKH8cKDL+1ip50cXEuDjiQ= Received: from MN2PR18MB3408.namprd18.prod.outlook.com (10.255.238.217) by MN2PR18MB3197.namprd18.prod.outlook.com (10.255.236.158) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2008.13; Mon, 24 Jun 2019 15:09:29 +0000 Received: from MN2PR18MB3408.namprd18.prod.outlook.com ([fe80::d3:794c:1b94:cf3]) by MN2PR18MB3408.namprd18.prod.outlook.com ([fe80::d3:794c:1b94:cf3%4]) with mapi id 15.20.2008.014; Mon, 24 Jun 2019 15:09:30 +0000 From: Robert Richter To: Borislav Petkov , James Morse , "Mauro Carvalho Chehab" CC: "linux-edac@vger.kernel.org" , "linux-kernel@vger.kernel.org" , Robert Richter Subject: [PATCH v2 17/24] EDAC, ghes: Create one memory controller device per node Thread-Topic: [PATCH v2 17/24] EDAC, ghes: Create one memory controller device per node Thread-Index: AQHVKp7S87ADY1caY0yYL8oUsqwLHA== Date: Mon, 24 Jun 2019 15:09:29 +0000 Message-ID: <20190624150758.6695-18-rrichter@marvell.com> References: <20190624150758.6695-1-rrichter@marvell.com> In-Reply-To: <20190624150758.6695-1-rrichter@marvell.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-clientproxiedby: HE1P190CA0035.EURP190.PROD.OUTLOOK.COM (2603:10a6:7:52::24) To MN2PR18MB3408.namprd18.prod.outlook.com (2603:10b6:208:16c::25) x-ms-exchange-messagesentrepresentingtype: 1 x-mailer: git-send-email 2.20.1 x-originating-ip: [92.254.182.202] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: b1abfc60-0d7d-42dd-10ab-08d6f8b5f486 x-microsoft-antispam: BCL:0;PCL:0;RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600148)(711020)(4605104)(1401327)(2017052603328)(7193020);SRVR:MN2PR18MB3197; x-ms-traffictypediagnostic: MN2PR18MB3197: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:3826; x-forefront-prvs: 007814487B x-forefront-antispam-report: SFV:NSPM;SFS:(10009020)(39860400002)(366004)(136003)(396003)(346002)(376002)(199004)(189003)(36756003)(110136005)(107886003)(54906003)(81156014)(81166006)(68736007)(8676002)(25786009)(5660300002)(8936002)(305945005)(7736002)(4326008)(1076003)(186003)(6116002)(14454004)(476003)(486006)(2616005)(11346002)(256004)(14444005)(446003)(3846002)(50226002)(26005)(2906002)(52116002)(76176011)(71200400001)(71190400001)(99286004)(386003)(6506007)(102836004)(478600001)(316002)(86362001)(6512007)(66066001)(53936002)(6486002)(73956011)(66946007)(66476007)(66556008)(64756008)(66446008)(6436002);DIR:OUT;SFP:1101;SCL:1;SRVR:MN2PR18MB3197;H:MN2PR18MB3408.namprd18.prod.outlook.com;FPR:;SPF:None;LANG:en;PTR:InfoNoRecords;A:1;MX:1; received-spf: None (protection.outlook.com: marvell.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: ubogojV9lTk7pnX8xKmkkBwBiqsyOScxOHOTcrPSt9pAVJxibu14JyqUzKa2ELAhSC0Gk1lYMotNsACkhvTDhMQeZ/x8I2Ylkj0fDhxeiU7dQxPSTSmq9I4R+SGxc4268jgKzpl2RyAdTdQGH9LLN6zvHZN1E57oLZg7SxxBsW4AIQhC+hpGh5LGM9WxmkzPWZ2Ni83RCAcS2JJIsqnqi1OT629EvBUsDIB8q1CUJTXB5h61H2EQYn1UjZmsyyMZcaS6DzAaG8R+QVlQzR4M2UhH6MYnPzs8Z10BNTgxqRxrcvj/hJbtho0zu1+vU1s0LTmjKozDOrtmQlDeGOUDbVPFMB5lI5p5o2/y9U7E7mlzX38zbk1IdtMxxDOZQ+ElZM0wtAspccR+Vxj4seuihQM1wZS2UeByWtec8XxV4yM= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-Network-Message-Id: b1abfc60-0d7d-42dd-10ab-08d6f8b5f486 X-MS-Exchange-CrossTenant-originalarrivaltime: 24 Jun 2019 15:09:29.8857 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 70e1fb47-1155-421d-87fc-2e58f638b6e0 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: rrichter@marvell.com X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR18MB3197 X-OriginatorOrg: marvell.com X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:,, definitions=2019-06-24_10:,, signatures=0 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org VHlwaWNhbGx5IGZvciBtb3N0IHN5c3RlbXMsIHRoZXJlIGlzIG9uZSBlZGFjIG1lbW9yeSBjb250 cm9sbGVyIGRldmljZQ0KcGVyIG5vZGUuIFRoaXMgcGF0Y2ggaW1wbGVtZW50cyB0aGUgc2FtZSBm b3IgdGhlIGdoZXMgZHJpdmVyLiBOb3csDQpjcmVhdGUgbXVsdGlwbGUgbWMgZGV2aWNlcyBhbmQg bWFwIHRoZSBkaW1tcyBiYXNlZCBvbiB0aGUgbm9kZSBpZC4NCg0KV2UgbmVlZCBhdCBsZWFzdCBv bmUgbm9kZSB0aGF0IGlzIHVzZWQgYXMgZmFsbGJhY2sgaWYgbm8gbm9kZQ0KaW5mb3JtYXRpb24g aXMgYXZhaWxhYmxlIGluIHRoZSBlcnJvciByZXBvcnQuDQoNCkhlcmUgYSBjb21wbGV0ZSBhbmQg Y29uc2lzdGVudCBlcnJvciByZXBvcnQgZnJvbSBhIFRodW5kZXJYMiBzeXN0ZW0NCih6ZXJvIGNv dW50ZXIgdmFsdWVzIGRyb3BwZWQpOg0KDQogIyBmaW5kIC9zeXMvZGV2aWNlcy9zeXN0ZW0vZWRh Yy9tYy8gLW5hbWUgXCpjb3VudCB8IHNvcnQgLVYgfCB4YXJncyBncmVwIC4gfCBzZWQgLWUgJy86 MC9kJw0KIC9zeXMvZGV2aWNlcy9zeXN0ZW0vZWRhYy9tYy9tYzAvY2VfY291bnQ6MTENCiAvc3lz L2RldmljZXMvc3lzdGVtL2VkYWMvbWMvbWMwL2NlX25vaW5mb19jb3VudDoxDQogL3N5cy9kZXZp Y2VzL3N5c3RlbS9lZGFjL21jL21jMC9jc3JvdzIvY2VfY291bnQ6NQ0KIC9zeXMvZGV2aWNlcy9z eXN0ZW0vZWRhYy9tYy9tYzAvY3Nyb3cyL2NoMF9jZV9jb3VudDo1DQogL3N5cy9kZXZpY2VzL3N5 c3RlbS9lZGFjL21jL21jMC9jc3JvdzMvY2VfY291bnQ6Mw0KIC9zeXMvZGV2aWNlcy9zeXN0ZW0v ZWRhYy9tYy9tYzAvY3Nyb3czL2NoMF9jZV9jb3VudDozDQogL3N5cy9kZXZpY2VzL3N5c3RlbS9l ZGFjL21jL21jMC9jc3JvdzQvY2VfY291bnQ6Mg0KIC9zeXMvZGV2aWNlcy9zeXN0ZW0vZWRhYy9t Yy9tYzAvY3Nyb3c0L2NoMF9jZV9jb3VudDoyDQogL3N5cy9kZXZpY2VzL3N5c3RlbS9lZGFjL21j L21jMC9kaW1tMi9kaW1tX2NlX2NvdW50OjUNCiAvc3lzL2RldmljZXMvc3lzdGVtL2VkYWMvbWMv bWMwL2RpbW0zL2RpbW1fY2VfY291bnQ6Mw0KIC9zeXMvZGV2aWNlcy9zeXN0ZW0vZWRhYy9tYy9t YzAvZGltbTQvZGltbV9jZV9jb3VudDoyDQogL3N5cy9kZXZpY2VzL3N5c3RlbS9lZGFjL21jL21j MS9jZV9jb3VudDo3DQogL3N5cy9kZXZpY2VzL3N5c3RlbS9lZGFjL21jL21jMS9jc3JvdzIvY2Vf Y291bnQ6NA0KIC9zeXMvZGV2aWNlcy9zeXN0ZW0vZWRhYy9tYy9tYzEvY3Nyb3cyL2NoMF9jZV9j b3VudDo0DQogL3N5cy9kZXZpY2VzL3N5c3RlbS9lZGFjL21jL21jMS9jc3JvdzMvY2VfY291bnQ6 MQ0KIC9zeXMvZGV2aWNlcy9zeXN0ZW0vZWRhYy9tYy9tYzEvY3Nyb3czL2NoMF9jZV9jb3VudDox DQogL3N5cy9kZXZpY2VzL3N5c3RlbS9lZGFjL21jL21jMS9jc3JvdzYvY2VfY291bnQ6Mg0KIC9z eXMvZGV2aWNlcy9zeXN0ZW0vZWRhYy9tYy9tYzEvY3Nyb3c2L2NoMF9jZV9jb3VudDoyDQogL3N5 cy9kZXZpY2VzL3N5c3RlbS9lZGFjL21jL21jMS9kaW1tMi9kaW1tX2NlX2NvdW50OjQNCiAvc3lz L2RldmljZXMvc3lzdGVtL2VkYWMvbWMvbWMxL2RpbW0zL2RpbW1fY2VfY291bnQ6MQ0KIC9zeXMv ZGV2aWNlcy9zeXN0ZW0vZWRhYy9tYy9tYzEvZGltbTYvZGltbV9jZV9jb3VudDoyDQoNClNpZ25l ZC1vZmYtYnk6IFJvYmVydCBSaWNodGVyIDxycmljaHRlckBtYXJ2ZWxsLmNvbT4NCi0tLQ0KIGRy aXZlcnMvZWRhYy9naGVzX2VkYWMuYyB8IDEyNiArKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKy0tLS0tLS0NCiAxIGZpbGUgY2hhbmdlZCwgMTA0IGluc2VydGlvbnMoKyksIDIyIGRlbGV0 aW9ucygtKQ0KDQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9lZGFjL2doZXNfZWRhYy5jIGIvZHJpdmVy cy9lZGFjL2doZXNfZWRhYy5jDQppbmRleCAxM2I3NDM2OGFkODEuLjYzZGUxMTY1NDY0OSAxMDA2 NDQNCi0tLSBhL2RyaXZlcnMvZWRhYy9naGVzX2VkYWMuYw0KKysrIGIvZHJpdmVycy9lZGFjL2do ZXNfZWRhYy5jDQpAQCAtMTYsNiArMTYsNyBAQA0KICNpbmNsdWRlIDxyYXMvcmFzX2V2ZW50Lmg+ DQogDQogc3RydWN0IGdoZXNfZWRhY19wdnQgew0KKwlzdHJ1Y3QgZGV2aWNlIGRldjsNCiAJc3Ry dWN0IGxpc3RfaGVhZCBsaXN0Ow0KIAlzdHJ1Y3QgZ2hlcyAqZ2hlczsNCiAJc3RydWN0IG1lbV9j dGxfaW5mbyAqbWNpOw0KQEAgLTI2LDcgKzI3LDcgQEAgc3RydWN0IGdoZXNfZWRhY19wdnQgew0K IH07DQogDQogc3RhdGljIGF0b21pY190IGdoZXNfaW5pdCA9IEFUT01JQ19JTklUKDApOw0KLXN0 YXRpYyBzdHJ1Y3QgZ2hlc19lZGFjX3B2dCAqZ2hlc19wdnQ7DQorc3RydWN0IG1lbV9jdGxfaW5m byAqZmFsbGJhY2s7DQogDQogLyoNCiAgKiBTeW5jIHdpdGggb3RoZXIsIHBvdGVudGlhbGx5IGNv bmN1cnJlbnQgY2FsbGVycyBvZg0KQEAgLTE3MiwxNSArMTczLDE1IEBAIHN0YXRpYyB2b2lkIGdo ZXNfZWRhY19zZXRfbmlkKGNvbnN0IHN0cnVjdCBkbWlfaGVhZGVyICpkaCwgdm9pZCAqYXJnKQ0K IAl9DQogfQ0KIA0KLXN0YXRpYyBpbnQgZ2V0X2RpbW1fc21iaW9zX2luZGV4KHUxNiBoYW5kbGUp DQorc3RhdGljIGludCBnZXRfZGltbV9zbWJpb3NfaW5kZXgoc3RydWN0IG1lbV9jdGxfaW5mbyAq bWNpLCB1MTYgaGFuZGxlKQ0KIHsNCi0Jc3RydWN0IG1lbV9jdGxfaW5mbyAqbWNpID0gZ2hlc19w dnQtPm1jaTsNCiAJc3RydWN0IGRpbW1faW5mbyAqZGltbTsNCiANCiAJbWNpX2Zvcl9lYWNoX2Rp bW0obWNpLCBkaW1tKSB7DQogCQlpZiAoZGltbS0+c21iaW9zX2hhbmRsZSA9PSBoYW5kbGUpDQog CQkJcmV0dXJuIGRpbW0tPmlkeDsNCiAJfQ0KKw0KIAlyZXR1cm4gLTE7DQogfQ0KIA0KQEAgLTM2 NCw2ICszNjUsOSBAQCBzdGF0aWMgdm9pZCBtZW1faW5mb19wcmVwYXJlX21jaShzdHJ1Y3QgbWVt X2N0bF9pbmZvICptY2kpDQogCWludCBpbmRleCA9IDA7DQogDQogCWZvcl9lYWNoX2RpbW0oZGlt bSkgew0KKwkJaWYgKG1jaS0+bWNfaWR4ICE9IGRpbW0tPm51bWFfbm9kZSkNCisJCQljb250aW51 ZTsNCisNCiAJCWRtaV9kaW1tID0gJmRpbW0tPmRpbW1faW5mbzsNCiAJCW1jaV9kaW1tID0gZWRh Y19nZXRfZGltbV9ieV9pbmRleChtY2ksIGluZGV4KTsNCiANCkBAIC0zODQsMTcgKzM4OCwzNSBA QCBzdGF0aWMgdm9pZCBtZW1faW5mb19wcmVwYXJlX21jaShzdHJ1Y3QgbWVtX2N0bF9pbmZvICpt Y2kpDQogCQkJaW5kZXgsIG1jaS0+dG90X2RpbW1zKTsNCiB9DQogDQorc3RhdGljIHN0cnVjdCBt ZW1fY3RsX2luZm8gKmdldF9tY19ieV9ub2RlKGludCBuaWQpDQorew0KKwlzdHJ1Y3QgbWVtX2N0 bF9pbmZvICptY2kgPSBlZGFjX21jX2ZpbmQobmlkKTsNCisNCisJaWYgKG1jaSkNCisJCXJldHVy biBtY2k7DQorDQorCWlmIChudW1fcG9zc2libGVfbm9kZXMoKSA+IDEpIHsNCisJCWVkYWNfbWNf cHJpbnRrKGZhbGxiYWNrLCBLRVJOX1dBUk5JTkcsDQorCQkJIkludmFsaWQgb3Igbm8gbm9kZSBp bmZvcm1hdGlvbiwgZmFsbGluZyBiYWNrIHRvIGZpcnN0IG5vZGU6ICVzIiwNCisJCQlmYWxsYmFj ay0+ZGV2X25hbWUpOw0KKwl9DQorDQorCXJldHVybiBmYWxsYmFjazsNCit9DQorDQogdm9pZCBn aGVzX2VkYWNfcmVwb3J0X21lbV9lcnJvcihpbnQgc2V2LCBzdHJ1Y3QgY3Blcl9zZWNfbWVtX2Vy ciAqbWVtX2VycikNCiB7DQogCXN0cnVjdCBkaW1tX2luZm8gKmRpbW1faW5mbzsNCiAJZW51bSBo d19ldmVudF9tY19lcnJfdHlwZSB0eXBlOw0KIAlzdHJ1Y3QgZWRhY19yYXdfZXJyb3JfZGVzYyAq ZTsNCiAJc3RydWN0IG1lbV9jdGxfaW5mbyAqbWNpOw0KLQlzdHJ1Y3QgZ2hlc19lZGFjX3B2dCAq cHZ0ID0gZ2hlc19wdnQ7DQorCXN0cnVjdCBnaGVzX2VkYWNfcHZ0ICpwdnQ7DQogCXVuc2lnbmVk IGxvbmcgZmxhZ3M7DQogCWNoYXIgKnA7DQorCWludCBuaWQgPSBOVU1BX05PX05PREU7DQogDQot CWlmICghcHZ0KQ0KKwkvKiBXZSBuZWVkIGF0IGxlYXN0IG9uZSBtYyAqLw0KKwlpZiAoV0FSTl9P Tl9PTkNFKCFmYWxsYmFjaykpDQogCQlyZXR1cm47DQogDQogCS8qDQpAQCAtNDA3LDcgKzQyOSwx MSBAQCB2b2lkIGdoZXNfZWRhY19yZXBvcnRfbWVtX2Vycm9yKGludCBzZXYsIHN0cnVjdCBjcGVy X3NlY19tZW1fZXJyICptZW1fZXJyKQ0KIA0KIAlzcGluX2xvY2tfaXJxc2F2ZSgmZ2hlc19sb2Nr LCBmbGFncyk7DQogDQotCW1jaSA9IHB2dC0+bWNpOw0KKwkvKiBzZWxlY3QgdGhlIG5vZGUncyBt YyBkZXZpY2UgKi8NCisJaWYgKG1lbV9lcnItPnZhbGlkYXRpb25fYml0cyAmIENQRVJfTUVNX1ZB TElEX05PREUpDQorCQluaWQgPSBtZW1fZXJyLT5ub2RlOw0KKwltY2kgPSBnZXRfbWNfYnlfbm9k ZShuaWQpOw0KKwlwdnQgPSBtY2ktPnB2dF9pbmZvOw0KIAllID0gJm1jaS0+ZXJyb3JfZGVzYzsN CiANCiAJLyogQ2xlYW5zIHRoZSBlcnJvciByZXBvcnQgYnVmZmVyICovDQpAQCAtNTQxLDcgKzU2 Nyw3IEBAIHZvaWQgZ2hlc19lZGFjX3JlcG9ydF9tZW1fZXJyb3IoaW50IHNldiwgc3RydWN0IGNw ZXJfc2VjX21lbV9lcnIgKm1lbV9lcnIpDQogCQkJcCArPSBzcHJpbnRmKHAsICJESU1NIERNSSBo YW5kbGU6IDB4JS40eCAiLA0KIAkJCQkgICAgIG1lbV9lcnItPm1lbV9kZXZfaGFuZGxlKTsNCiAN Ci0JCWluZGV4ID0gZ2V0X2RpbW1fc21iaW9zX2luZGV4KG1lbV9lcnItPm1lbV9kZXZfaGFuZGxl KTsNCisJCWluZGV4ID0gZ2V0X2RpbW1fc21iaW9zX2luZGV4KG1jaSwgbWVtX2Vyci0+bWVtX2Rl dl9oYW5kbGUpOw0KIAkJaWYgKGluZGV4ID49IDApDQogCQkJZS0+dG9wX2xheWVyID0gaW5kZXg7 DQogCX0NCkBAIC02NDAsMTUgKzY2NiwyOSBAQCBzdGF0aWMgc3RydWN0IGFjcGlfcGxhdGZvcm1f bGlzdCBwbGF0X2xpc3RbXSA9IHsNCiAJeyB9IC8qIEVuZCAqLw0KIH07DQogDQordm9pZCBnaGVz X2VkYWNfcmVsZWFzZShzdHJ1Y3QgZGV2aWNlICpkZXYpDQorew0KKwlzdHJ1Y3QgZ2hlc19lZGFj X3B2dCAqZ2hlc19wdnQ7DQorCXN0cnVjdCBtZW1fY3RsX2luZm8gKm1jaTsNCisNCisJZ2hlc19w dnQgPSBjb250YWluZXJfb2YoZGV2LCBzdHJ1Y3QgZ2hlc19lZGFjX3B2dCwgZGV2KTsNCisNCisJ bWNpID0gZ2hlc19wdnQtPm1jaTsNCisJZWRhY19tY19kZWxfbWMobWNpLT5wZGV2KTsNCisJZWRh Y19tY19mcmVlKG1jaSk7DQorfQ0KKw0KIHN0YXRpYyBpbnQNCiBnaGVzX2VkYWNfcmVnaXN0ZXJf b25lKGludCBuaWQsIHN0cnVjdCBnaGVzICpnaGVzLCBzdHJ1Y3QgZGV2aWNlICpwYXJlbnQpDQog ew0KKwlzdHJ1Y3QgZGV2aWNlICpkZXY7DQorCXN0cnVjdCBnaGVzX2VkYWNfcHZ0ICpnaGVzX3B2 dDsNCiAJaW50IHJjOw0KIAlzdHJ1Y3QgbWVtX2N0bF9pbmZvICptY2k7DQogCXN0cnVjdCBlZGFj X21jX2xheWVyIGxheWVyc1sxXTsNCiANCiAJbGF5ZXJzWzBdLnR5cGUgPSBFREFDX01DX0xBWUVS X0FMTF9NRU07DQotCWxheWVyc1swXS5zaXplID0gbWVtX2luZm8ubnVtX2RpbW07DQorCWxheWVy c1swXS5zaXplID0gbWVtX2luZm8uZGltbXNfcGVyX25vZGVbbmlkXTsNCiAJbGF5ZXJzWzBdLmlz X3ZpcnRfY3Nyb3cgPSB0cnVlOw0KIA0KIAltY2kgPSBlZGFjX21jX2FsbG9jKG5pZCwgQVJSQVlf U0laRShsYXllcnMpLCBsYXllcnMsDQpAQCAtNjYyLDQzICs3MDIsNjkgQEAgZ2hlc19lZGFjX3Jl Z2lzdGVyX29uZShpbnQgbmlkLCBzdHJ1Y3QgZ2hlcyAqZ2hlcywgc3RydWN0IGRldmljZSAqcGFy ZW50KQ0KIAlnaGVzX3B2dC0+Z2hlcwk9IGdoZXM7DQogCWdoZXNfcHZ0LT5tY2kJPSBtY2k7DQog DQotCW1jaS0+cGRldiA9IHBhcmVudDsNCisJZGV2CQk9ICZnaGVzX3B2dC0+ZGV2Ow0KKwlkZXYt PnBhcmVudAk9IHBhcmVudDsNCisJZGV2LT5yZWxlYXNlCT0gZ2hlc19lZGFjX3JlbGVhc2U7DQor CWRldl9zZXRfbmFtZShkZXYsICJnaGVzX21jJWQiLCBuaWQpOw0KKw0KKwlyYyA9IGRldmljZV9y ZWdpc3RlcihkZXYpOw0KKwlpZiAocmMpIHsNCisJCXByX2VycigiQ2FuJ3QgY3JlYXRlIEVEQUMg ZGV2aWNlICglZClcbiIsIHJjKTsNCisJCWdvdG8gZmFpbDsNCisJfQ0KKw0KKwltY2ktPnBkZXYg PSBkZXY7DQogCW1jaS0+bXR5cGVfY2FwID0gTUVNX0ZMQUdfRU1QVFk7DQogCW1jaS0+ZWRhY19j dGxfY2FwID0gRURBQ19GTEFHX05PTkU7DQogCW1jaS0+ZWRhY19jYXAgPSBFREFDX0ZMQUdfTk9O RTsNCiAJbWNpLT5tb2RfbmFtZSA9ICJnaGVzX2VkYWMuYyI7DQotCW1jaS0+Y3RsX25hbWUgPSAi Z2hlc19lZGFjIjsNCi0JbWNpLT5kZXZfbmFtZSA9ICJnaGVzIjsNCisJbWNpLT5jdGxfbmFtZSA9 ICJnaGVzX21jIjsNCisJbWNpLT5kZXZfbmFtZSA9IGRldl9uYW1lKGRldik7DQogDQogCW1lbV9p bmZvX3ByZXBhcmVfbWNpKG1jaSk7DQogDQogCXJjID0gZWRhY19tY19hZGRfbWMobWNpKTsNCiAJ aWYgKHJjIDwgMCkgew0KLQkJcHJfZXJyKCJDYW4ndCByZWdpc3RlciBhdCBFREFDIGNvcmVcbiIp Ow0KLQkJZWRhY19tY19mcmVlKG1jaSk7DQotCQlyZXR1cm4gLUVOT0RFVjsNCisJCXByX2Vycigi Q2FuJ3QgcmVnaXN0ZXIgYXQgRURBQyBjb3JlICglZClcbiIsIHJjKTsNCisJCWdvdG8gZmFpbDsN CiAJfQ0KKw0KIAlyZXR1cm4gMDsNCitmYWlsOg0KKwlwdXRfZGV2aWNlKGRldik7DQorCXJldHVy biByYzsNCit9DQorDQorc3RhdGljIHZvaWQgZ2hlc19lZGFjX3VucmVnaXN0ZXJfb25lKHN0cnVj dCBtZW1fY3RsX2luZm8gKm1jaSkNCit7DQorCXN0cnVjdCBnaGVzX2VkYWNfcHZ0ICpwdnQgPSBt Y2ktPnB2dF9pbmZvOw0KKw0KKwlwdXRfZGV2aWNlKCZwdnQtPmRldik7DQogfQ0KIA0KIHZvaWQg Z2hlc19lZGFjX3VucmVnaXN0ZXIoc3RydWN0IGdoZXMgKmdoZXMpDQogew0KIAlzdHJ1Y3QgbWVt X2N0bF9pbmZvICptY2k7DQorCWludCBuaWQ7DQogDQotCWlmICghZ2hlc19wdnQpDQotCQlyZXR1 cm47DQotDQotCW1jaSA9IGdoZXNfcHZ0LT5tY2k7DQotCWVkYWNfbWNfZGVsX21jKG1jaS0+cGRl dik7DQotCWVkYWNfbWNfZnJlZShtY2kpOw0KKwlmb3JfZWFjaF9ub2RlKG5pZCkgew0KKwkJbWNp ID0gZWRhY19tY19maW5kKG5pZCk7DQorCQkvKiBzdG9wIGZhbGxiYWNrIGF0IGxhc3QgKi8NCisJ CWlmIChtY2kgJiYgbWNpICE9IGZhbGxiYWNrKQ0KKwkJCWdoZXNfZWRhY191bnJlZ2lzdGVyX29u ZShtY2kpOw0KKwl9DQogDQorCWdoZXNfZWRhY191bnJlZ2lzdGVyX29uZShmYWxsYmFjayk7DQor CWZhbGxiYWNrID0gTlVMTDsNCiAJa2ZyZWUobWVtX2luZm8uZGltbXMpOw0KKwlhdG9taWNfZGVj KCZnaGVzX2luaXQpOw0KIH0NCiANCiBpbnQgZ2hlc19lZGFjX3JlZ2lzdGVyKHN0cnVjdCBnaGVz ICpnaGVzLCBzdHJ1Y3QgZGV2aWNlICpkZXYpDQogew0KIAlib29sIGZha2UgPSBmYWxzZTsNCiAJ aW50IHJjOw0KKwlpbnQgbmlkOw0KIAlpbnQgaWR4ID0gLTE7DQogDQogCWlmIChJU19FTkFCTEVE KENPTkZJR19YODYpKSB7DQpAQCAtNzM4LDcgKzgwNCwyMyBAQCBpbnQgZ2hlc19lZGFjX3JlZ2lz dGVyKHN0cnVjdCBnaGVzICpnaGVzLCBzdHJ1Y3QgZGV2aWNlICpkZXYpDQogCQlwcl9pbmZvKCJU aGlzIHN5c3RlbSBoYXMgJWQgRElNTSBzb2NrZXRzLlxuIiwgbWVtX2luZm8ubnVtX2RpbW0pOw0K IAl9DQogDQotCXJjID0gZ2hlc19lZGFjX3JlZ2lzdGVyX29uZSgwLCBnaGVzLCBkZXYpOw0KKwlm b3JfZWFjaF9ub2RlKG5pZCkgew0KKwkJaWYgKCFtZW1faW5mby5kaW1tc19wZXJfbm9kZVtuaWRd KQ0KKwkJCWNvbnRpbnVlOw0KIA0KLQlyZXR1cm4gcmM7DQorCQlyYyA9IGdoZXNfZWRhY19yZWdp c3Rlcl9vbmUobmlkLCBnaGVzLCBkZXYpOw0KKwkJaWYgKHJjKSB7DQorCQkJZ2hlc19lZGFjX3Vu cmVnaXN0ZXIoZ2hlcyk7DQorCQkJcmV0dXJuIHJjOw0KKwkJfQ0KKw0KKwkJLyoNCisJCSAqIHVz ZSB0aGUgZmlyc3Qgbm9kZSdzIG1jIGFzIGZhbGxiYWNrIGluIGNhc2Ugd2UgY2FuDQorCQkgKiBu b3QgZGV0ZWN0IHRoZSBub2RlIGZyb20gdGhlIGVycm9yIGluZm9ybWF0aW9uDQorCQkgKi8NCisJ CWlmICghZmFsbGJhY2spDQorCQkJZmFsbGJhY2sgPSBlZGFjX21jX2ZpbmQobmlkKTsNCisJfQ0K Kw0KKwlyZXR1cm4gMDsNCiB9DQotLSANCjIuMjAuMQ0KDQo=