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 Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 01A2FC433FE for ; Tue, 1 Nov 2022 08:48:32 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id AE67F10E314; Tue, 1 Nov 2022 08:48:31 +0000 (UTC) Received: from m1230.mail.163.com (m12-30.163.com [220.181.12.30]) by gabe.freedesktop.org (Postfix) with ESMTP id 60C09890BE for ; Tue, 1 Nov 2022 03:59:31 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=163.com; s=s110527; h=Date:From:Subject:MIME-Version:Message-ID; bh=czxtz 6tW5CXakmArWa1tBAxnkOADr7OmeJxSxjKSGtc=; b=T7S8Orl7w8eASltkAvsEU fnG7oNScXB7bjune3mZpl98a5PRxbLsOkuovAa25WXk3Lwv7nZBHjxGqlEJfZRNj fMLG1nGrJpckGK0svAPcGZ+0il+fWk/lsreA0lrc/bO2maRgb0+pLDAWbXcYC/d5 W2m77W7CfPPYxWREDGqcBc= Received: from lichenyang_ls$163.com ( [114.242.206.180] ) by ajax-webmail-wmsvr214 (Coremail) ; Tue, 1 Nov 2022 11:44:25 +0800 (GMT+08:00) X-Originating-IP: [114.242.206.180] Date: Tue, 1 Nov 2022 11:44:25 +0800 (GMT+08:00) From: lichenyang_ls To: "dri-devel@lists.freedesktop.org" Subject: [PATCH v8 2/4] drm/loongson: Add GPIO and I2C driver for loongson drm. X-Priority: 3 X-Mailer: Coremail Webmail Server Version XT5.0.13 build 20210622(1d4788a8) MailMasterMac/4.17.7.1302_(12.6.0) Copyright (c) 2002-2022 www.mailtech.cn 163com X-NTES-SC: AL_QuydBf6cu0ot4yaYbOkXm00RhOs7XMOwu/oh3IBQOZk0giD14BIrcUFtJkPI9NOiJyu8jiaWbTt10NZbRItETbMPCDBRw1g9kmO7rroeOCSs Content-Type: multipart/alternative; boundary="----=_Part_23713_2092959837.1667274265612" MIME-Version: 1.0 Message-ID: <5df697c7.1f64.184314a540c.Coremail.lichenyang_ls@163.com> X-Coremail-Locale: zh_CN X-CM-TRANSID: lceowAD3_1sZlmBjKGIPAA--.64093W X-CM-SenderInfo: xolfxvxq1d0wxbovqiywtou0bp/1tbiWRCsCFWBwqh4SAADsg X-Coremail-Antispam: 1U5529EdanIXcx71UUUUU7vcSsGvfC2KfnxnUU== X-Mailman-Approved-At: Tue, 01 Nov 2022 08:48:29 +0000 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" ------=_Part_23713_2092959837.1667274265612 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: base64 SW1wbGVtZW50IHVzZSBHUElPIGFuZCBJMkMgZHJpdmVyIHRvIGRldGVjdCBjb25uZWN0b3IKYW5k IGZldGNoIEVESUQgdmlhIEREQy4KCnY1OgotIFVzZSBicmFpZGdlLT5kZGMgdG8gZ2V0IEVESUQg YW5kIGRldGVjdCBjb25uZWN0b3IuCgp2NDoKLSBEZWxldGUgdGhlIGdwaW9fY2hpcCBzdWJzeXN0 ZW0gY2FsbC4KLSBEZWxldGUgc29tZSByZWR1bmRhbnQgcHJpbnRzLgoKdjM6Ci0gQ2hhbmdlIHNv bWUgZHJpdmVyIGxvZyB0byB0aGUgZHJtXyB2ZXJzaW9uLgoKdjI6Ci0gT3B0aW1pemUgdGhlIGVy cm9yIGhhbmRsaW5nIHByb2Nlc3MuCi0gRGVsZXRlIGxvb25nc29uX2kyY19idXNfbWF0Y2ggYW5k IGxvb25nc29uX2kyY19hZGQgZnVuY3Rpb24uCi0gT3B0aW1pemUgcGFydCBvZiB0aGUgY29kZSBm bG93LgoKU2lnbmVkLW9mZi1ieTogWWkgTGkgPGxpeWlAbG9vbmdzb24uY24+ClNpZ25lZC1vZmYt Ynk6IENoZW55YW5nIExpIDxsaWNoZW55YW5nQGxvb25nc29uLmNuPgotLS0KIGRyaXZlcnMvZ3B1 L2RybS9sb29uZ3Nvbi9NYWtlZmlsZSAgICAgICAgICAgfCAgIDEgKwogZHJpdmVycy9ncHUvZHJt L2xvb25nc29uL2xvb25nc29uX2Rydi5jICAgICB8ICAxMSArLQogZHJpdmVycy9ncHUvZHJtL2xv b25nc29uL2xvb25nc29uX2Rydi5oICAgICB8ICAgNyArCiBkcml2ZXJzL2dwdS9kcm0vbG9vbmdz b24vbG9vbmdzb25fZW5jb2Rlci5jIHwgIDMxICsrKy0KIGRyaXZlcnMvZ3B1L2RybS9sb29uZ3Nv bi9sb29uZ3Nvbl9pMmMuYyAgICAgfCAxODkgKysrKysrKysrKysrKysrKysrKysKIGRyaXZlcnMv Z3B1L2RybS9sb29uZ3Nvbi9sb29uZ3Nvbl9pMmMuaCAgICAgfCAgMzEgKysrKwogNiBmaWxlcyBj aGFuZ2VkLCAyNjEgaW5zZXJ0aW9ucygrKSwgOSBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEw MDY0NCBkcml2ZXJzL2dwdS9kcm0vbG9vbmdzb24vbG9vbmdzb25faTJjLmMKIGNyZWF0ZSBtb2Rl IDEwMDY0NCBkcml2ZXJzL2dwdS9kcm0vbG9vbmdzb24vbG9vbmdzb25faTJjLmgKCmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vbG9vbmdzb24vTWFrZWZpbGUgYi9kcml2ZXJzL2dwdS9kcm0v bG9vbmdzb24vTWFrZWZpbGUKaW5kZXggNTM0YTY0MDQ3ZmI2Li40YTVmYWI3ZDAwMGIgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9sb29uZ3Nvbi9NYWtlZmlsZQorKysgYi9kcml2ZXJzL2dw dS9kcm0vbG9vbmdzb24vTWFrZWZpbGUKQEAgLTksNSArOSw2IEBAIGxvb25nc29uLXkgOj0gbG9v bmdzb25fY29ubmVjdG9yLm8gXAogCWxvb25nc29uX2RldmljZS5vIFwKIAlsb29uZ3Nvbl9kcnYu byBcCiAJbG9vbmdzb25fZW5jb2Rlci5vIFwKKwlsb29uZ3Nvbl9pMmMubyBcCiAJbG9vbmdzb25f cGxhbmUubwogb2JqLSQoQ09ORklHX0RSTV9MT09OR1NPTikgKz0gbG9vbmdzb24ubwpkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2xvb25nc29uL2xvb25nc29uX2Rydi5jIGIvZHJpdmVycy9n cHUvZHJtL2xvb25nc29uL2xvb25nc29uX2Rydi5jCmluZGV4IDNkYjI5ODI5Mzg2NS4uOTEyMGQ4 MTg4ZGRmIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vbG9vbmdzb24vbG9vbmdzb25fZHJ2 LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2xvb25nc29uL2xvb25nc29uX2Rydi5jCkBAIC0yMCw5 ICsyMCwxMCBAQAogCiAvKiBJbnRlcmZhY2UgaGlzdG9yeToKICAqIDAuMSAtIG9yaWdpbmFsLgor ICogMC4yIC0gYWRkIGkyYyBhbmQgY29ubmVjdG9yIGRldGVjdC4KICAqLwogI2RlZmluZSBEUklW RVJfTUFKT1IgMAotI2RlZmluZSBEUklWRVJfTUlOT1IgMQorI2RlZmluZSBEUklWRVJfTUlOT1Ig MgogCiBzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9tb2RlX2NvbmZpZ19mdW5jcyBsb29uZ3Nvbl9t b2RlX2Z1bmNzID0gewogCS5mYl9jcmVhdGUgPSBkcm1fZ2VtX2ZiX2NyZWF0ZSwKQEAgLTg2LDYg Kzg3LDE0IEBAIHN0YXRpYyBpbnQgbG9vbmdzb25fZGV2aWNlX2luaXQoc3RydWN0IGRybV9kZXZp Y2UgKmRldikKIAogCWxkZXYtPm51bV9jcnRjID0gMjsKIAorCXJldCA9IGxvb25nc29uX2RjX2dw aW9faW5pdChsZGV2KTsKKwlpZiAocmV0KQorCQlyZXR1cm4gcmV0OworCisJcmV0ID0gbG9vbmdz b25faTJjX2luaXQobGRldik7CisJaWYgKHJldCkKKwkJcmV0dXJuIHJldDsKKwogCWRybV9pbmZv KGRldiwgIkRDIG1taW8gYmFzZSAweCVsbHggc2l6ZSAweCVsbHggaW8gMHglbGx4XG4iLAogCQkg bW1pb19iYXNlLCBtbWlvX3NpemUsICoodTY0ICopbGRldi0+aW8pOwogCWRybV9pbmZvKGRldiwg IkdQVSB2cmFtIHN0YXJ0ID0gMHgleCBzaXplID0gMHgleFxuIiwKZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9sb29uZ3Nvbi9sb29uZ3Nvbl9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9sb29u Z3Nvbi9sb29uZ3Nvbl9kcnYuaAppbmRleCBmZWIyNTRhZThjMzIuLmU4Y2EwZWFjODI3YyAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2xvb25nc29uL2xvb25nc29uX2Rydi5oCisrKyBiL2Ry aXZlcnMvZ3B1L2RybS9sb29uZ3Nvbi9sb29uZ3Nvbl9kcnYuaApAQCAtOCw2ICs4LDggQEAKICNp bmNsdWRlIDxkcm0vZHJtX2dlbV92cmFtX2hlbHBlci5oPgogI2luY2x1ZGUgPGRybS9kcm1fYnJp ZGdlLmg+CiAKKyNpbmNsdWRlICJsb29uZ3Nvbl9pMmMuaCIKKwogLyogR2VuZXJhbCBjdXN0b21p emF0aW9uOgogICovCiAjZGVmaW5lIERSSVZFUl9BVVRIT1IgIkxvb25nc29uIGdyYXBoaWNzIGRy aXZlciB0ZWFtIgpAQCAtMTAwLDYgKzEwMiw4IEBAIHN0cnVjdCBsb29uZ3Nvbl9kZXZpY2Ugewog CXUzMiBudW1fY3J0YzsKIAlzdHJ1Y3QgbG9vbmdzb25fbW9kZV9pbmZvIG1vZGVfaW5mb1syXTsK IAlzdHJ1Y3QgcGNpX2RldiAqZ3B1X3BkZXY7IC8qIExTN0EgZ3B1IGRldmljZSBpbmZvICovCisK KwlzdHJ1Y3QgbG9vbmdzb25faTJjIGkyY19idXNbRENfTUFYX0kyQ19CVVNdOwogfTsKIAogc3Rh dGljIGlubGluZSBzdHJ1Y3QgbG9vbmdzb25fZGV2aWNlICp0b19sb29uZ3Nvbl9kZXZpY2Uoc3Ry dWN0IGRybV9kZXZpY2UgKmRldikKQEAgLTExOSw2ICsxMjMsOSBAQCBpbnQgbG9vbmdzb25fZW5j b2Rlcl9pbml0KHN0cnVjdCBsb29uZ3Nvbl9kZXZpY2UgKmxkZXYsIGludCBpbmRleCk7CiAvKiBw bGFuZSAqLwogc3RydWN0IGxvb25nc29uX3BsYW5lICpsb29uZ3Nvbl9wbGFuZV9pbml0KHN0cnVj dCBkcm1fZGV2aWNlICpkZXYsIGludCBpbmRleCk7CiAKKy8qIGkyYyAqLworaW50IGxvb25nc29u X2RjX2dwaW9faW5pdChzdHJ1Y3QgbG9vbmdzb25fZGV2aWNlICpsZGV2KTsKKwogLyogZGV2aWNl ICovCiB1MzIgbG9vbmdzb25fZ3B1X29mZnNldChzdHJ1Y3QgZHJtX3BsYW5lX3N0YXRlICpzdGF0 ZSwKIAkJCXN0cnVjdCBsb29uZ3Nvbl9kZXZpY2UgKmRldik7CmRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vbG9vbmdzb24vbG9vbmdzb25fZW5jb2Rlci5jIGIvZHJpdmVycy9ncHUvZHJtL2xv b25nc29uL2xvb25nc29uX2VuY29kZXIuYwppbmRleCAwNjQ1YTY0NWNiOWQuLmYwN2MzOWUxNzEz YiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2xvb25nc29uL2xvb25nc29uX2VuY29kZXIu YworKysgYi9kcml2ZXJzL2dwdS9kcm0vbG9vbmdzb24vbG9vbmdzb25fZW5jb2Rlci5jCkBAIC02 LDE5ICs2LDMxIEBACiAKICNpbmNsdWRlICJsb29uZ3Nvbl9kcnYuaCIKIAotc3RhdGljIGludCBs b29uZ3Nvbl9icmlkZ2VfZ2V0X21vZGVzKHN0cnVjdCBkcm1fYnJpZGdlICpicmlkZ2UsCi0JCQkJ ICAgICBzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKQorZW51bSBkcm1fY29ubmVjdG9y X3N0YXR1cyBsb29uZ3Nvbl9icmlkZ2VfZGV0ZWN0KHN0cnVjdCBkcm1fYnJpZGdlICpicmlkZ2Up CiB7Ci0JaW50IGNvdW50OworCXVuc2lnbmVkIGNoYXIgc3RhcnQgPSAweDA7CisJc3RydWN0IGky Y19tc2cgbXNncyA9IHsKKwkJLmFkZHIgPSBERENfQUREUiwKKwkJLmZsYWdzID0gMCwKKwkJLmxl biA9IDEsCisJCS5idWYgPSAmc3RhcnQsCisJfTsKIAotCWNvdW50ID0gZHJtX2FkZF9tb2Rlc19u b2VkaWQoY29ubmVjdG9yLCAxOTIwLCAxMDgwKTsKLQlkcm1fc2V0X3ByZWZlcnJlZF9tb2RlKGNv bm5lY3RvciwgMTAyNCwgNzY4KTsKKwlpZiAoaTJjX3RyYW5zZmVyKGJyaWRnZS0+ZGRjLCAmbXNn cywgMSkgIT0gMSkKKwkJcmV0dXJuIGNvbm5lY3Rvcl9zdGF0dXNfZGlzY29ubmVjdGVkOworCWVs c2UKKwkJcmV0dXJuIGNvbm5lY3Rvcl9zdGF0dXNfY29ubmVjdGVkOworfQogCi0JcmV0dXJuIGNv dW50Oworc3RhdGljIHN0cnVjdCBlZGlkICpsb29uZ3Nvbl9icmlkZ2VfZ2V0X2VkaWQoc3RydWN0 IGRybV9icmlkZ2UgKmJyaWRnZSwKKwkJCQkJICAgICBzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29u bmVjdG9yKQoreworCXJldHVybiBkcm1fZ2V0X2VkaWQoY29ubmVjdG9yLCBicmlkZ2UtPmRkYyk7 CiB9CiAKIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2JyaWRnZV9mdW5jcyBsb29uZ3Nvbl9lbmNv ZGVyX2JyaWRnZV9mdW5jcyA9IHsKLQkuZ2V0X21vZGVzID0gbG9vbmdzb25fYnJpZGdlX2dldF9t b2RlcywKKwkuZGV0ZWN0ID0gbG9vbmdzb25fYnJpZGdlX2RldGVjdCwKKwkuZ2V0X2VkaWQgPSBs b29uZ3Nvbl9icmlkZ2VfZ2V0X2VkaWQsCiAJLmF0b21pY19kdXBsaWNhdGVfc3RhdGUgPSBkcm1f YXRvbWljX2hlbHBlcl9icmlkZ2VfZHVwbGljYXRlX3N0YXRlLAogCS5hdG9taWNfZGVzdHJveV9z dGF0ZSA9IGRybV9hdG9taWNfaGVscGVyX2JyaWRnZV9kZXN0cm95X3N0YXRlLAogCS5hdG9taWNf cmVzZXQgPSBkcm1fYXRvbWljX2hlbHBlcl9icmlkZ2VfcmVzZXQsCkBAIC0zOSw3ICs1MSwxMCBA QCBpbnQgbG9vbmdzb25fZW5jb2Rlcl9pbml0KHN0cnVjdCBsb29uZ3Nvbl9kZXZpY2UgKmxkZXYs IGludCBpbmRleCkKIAlsZGV2LT5tb2RlX2luZm9baW5kZXhdLmVuY29kZXIgPSBsZW5jb2RlcjsK IAogCWxlbmNvZGVyLT5icmlkZ2UuZnVuY3MgPSAmbG9vbmdzb25fZW5jb2Rlcl9icmlkZ2VfZnVu Y3M7Ci0JbGVuY29kZXItPmJyaWRnZS5vcHMgPSBEUk1fQlJJREdFX09QX01PREVTOworCWxlbmNv ZGVyLT5icmlkZ2UuZGRjID0gbGRldi0+aTJjX2J1c1tpbmRleF0uYWRhcHRlcjsKKwlsZW5jb2Rl ci0+YnJpZGdlLm9wcyA9IERSTV9CUklER0VfT1BfREVURUNUIHwgRFJNX0JSSURHRV9PUF9FRElE CisJCQkgICAgICAgfCBEUk1fQlJJREdFX09QX01PREVTOworCiAJaWYgKGluZGV4ID09IDApCiAJ CWxlbmNvZGVyLT5icmlkZ2UudHlwZSA9IERSTV9NT0RFX0NPTk5FQ1RPUl9WR0E7CiAJZWxzZSBp ZiAoaW5kZXggPT0gMSkKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9sb29uZ3Nvbi9sb29u Z3Nvbl9pMmMuYyBiL2RyaXZlcnMvZ3B1L2RybS9sb29uZ3Nvbi9sb29uZ3Nvbl9pMmMuYwpuZXcg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjlmMmI5OTE1OWRkMAotLS0gL2Rl di9udWxsCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9sb29uZ3Nvbi9sb29uZ3Nvbl9pMmMuYwpAQCAt MCwwICsxLDE4OSBAQAorLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb3ItbGF0 ZXIKKy8qIENvcHlyaWdodCAoQykgMjAyMiBMb29uZ3NvbiBJbmMuICovCisKKyNpbmNsdWRlICJs b29uZ3Nvbl9kcnYuaCIKKyNpbmNsdWRlICJsb29uZ3Nvbl9pMmMuaCIKKworc3RhdGljIGlubGlu ZSB2b2lkIGRjX2dwaW9fc2V0X2RpcihzdHJ1Y3QgbG9vbmdzb25fZGV2aWNlICpsZGV2LAorCQkJ CSAgIHVuc2lnbmVkIGludCBwaW4sIGludCBpbnB1dCkKK3sKKwl1MzIgdGVtcDsKKworCXRlbXAg PSBsczdhX21tX3JyZWcobGRldiwgTFM3QV9EQ19HUElPX0NGR19PRkZTRVQpOworCWlmIChpbnB1 dCkKKwkJdGVtcCB8PSAxVUwgPDwgcGluOworCWVsc2UKKwkJdGVtcCAmPSB+KDFVTCA8PCBwaW4p OworCisJbHM3YV9tbV93cmVnKGxkZXYsIExTN0FfRENfR1BJT19DRkdfT0ZGU0VULCB0ZW1wKTsK K30KKworc3RhdGljIHZvaWQgZGNfZ3Bpb19zZXRfdmFsKHN0cnVjdCBsb29uZ3Nvbl9kZXZpY2Ug KmxkZXYsIHVuc2lnbmVkIGludCBwaW4sCisJCQkgICAgaW50IGhpZ2gpCit7CisJdTMyIHRlbXA7 CisKKwl0ZW1wID0gbHM3YV9tbV9ycmVnKGxkZXYsIExTN0FfRENfR1BJT19PVVRfT0ZGU0VUKTsK KwlpZiAoaGlnaCkKKwkJdGVtcCB8PSAxVUwgPDwgcGluOworCWVsc2UKKwkJdGVtcCAmPSB+KDFV TCA8PCBwaW4pOworCisJbHM3YV9tbV93cmVnKGxkZXYsIExTN0FfRENfR1BJT19PVVRfT0ZGU0VU LCB0ZW1wKTsKK30KKworc3RhdGljIHZvaWQgbG9vbmdzb25faTJjX3NldF9kYXRhKHZvaWQgKmky YywgaW50IHZhbHVlKQoreworCXN0cnVjdCBsb29uZ3Nvbl9pMmMgKmxpMmMgPSBpMmM7CisJc3Ry dWN0IGxvb25nc29uX2RldmljZSAqbGRldiA9IGxpMmMtPmxkZXY7CisJdW5zaWduZWQgaW50IHBp biA9IGxpMmMtPmRhdGE7CisKKwlpZiAodmFsdWUpCisJCWRjX2dwaW9fc2V0X2RpcihsZGV2LCBw aW4sIDEpOworCWVsc2UgeworCQlkY19ncGlvX3NldF92YWwobGRldiwgcGluLCAwKTsKKwkJZGNf Z3Bpb19zZXRfZGlyKGxkZXYsIHBpbiwgMCk7CisJfQorfQorCitzdGF0aWMgdm9pZCBsb29uZ3Nv bl9pMmNfc2V0X2Nsb2NrKHZvaWQgKmkyYywgaW50IHZhbHVlKQoreworCXN0cnVjdCBsb29uZ3Nv bl9pMmMgKmxpMmMgPSBpMmM7CisJc3RydWN0IGxvb25nc29uX2RldmljZSAqbGRldiA9IGxpMmMt PmxkZXY7CisJdW5zaWduZWQgaW50IHBpbiA9IGxpMmMtPmNsb2NrOworCisJaWYgKHZhbHVlKQor CQlkY19ncGlvX3NldF9kaXIobGRldiwgcGluLCAxKTsKKwllbHNlIHsKKwkJZGNfZ3Bpb19zZXRf dmFsKGxkZXYsIHBpbiwgMCk7CisJCWRjX2dwaW9fc2V0X2RpcihsZGV2LCBwaW4sIDApOworCX0K K30KKworc3RhdGljIGludCBsb29uZ3Nvbl9pMmNfZ2V0X2RhdGEodm9pZCAqaTJjKQoreworCWlu dCB2YWw7CisJc3RydWN0IGxvb25nc29uX2kyYyAqbGkyYyA9IGkyYzsKKwlzdHJ1Y3QgbG9vbmdz b25fZGV2aWNlICpsZGV2ID0gbGkyYy0+bGRldjsKKwl1bnNpZ25lZCBpbnQgcGluID0gbGkyYy0+ ZGF0YTsKKworCXZhbCA9IGxzN2FfbW1fcnJlZyhsZGV2LCBMUzdBX0RDX0dQSU9fSU5fT0ZGU0VU KTsKKworCXJldHVybiAodmFsID4+IHBpbikgJiAxOworfQorCitzdGF0aWMgaW50IGxvb25nc29u X2kyY19nZXRfY2xvY2sodm9pZCAqaTJjKQoreworCWludCB2YWw7CisJc3RydWN0IGxvb25nc29u X2kyYyAqbGkyYyA9IGkyYzsKKwlzdHJ1Y3QgbG9vbmdzb25fZGV2aWNlICpsZGV2ID0gbGkyYy0+ bGRldjsKKwl1bnNpZ25lZCBpbnQgcGluID0gbGkyYy0+Y2xvY2s7CisKKwl2YWwgPSBsczdhX21t X3JyZWcobGRldiwgTFM3QV9EQ19HUElPX0lOX09GRlNFVCk7CisKKwlyZXR1cm4gKHZhbCA+PiBw aW4pICYgMTsKK30KKworc3RhdGljIGludCBsb29uZ3Nvbl9pMmNfY3JlYXRlKHN0cnVjdCBsb29u Z3Nvbl9kZXZpY2UgKmxkZXYsCisJCQkgICAgICAgc3RydWN0IGxvb25nc29uX2kyYyAqbGkyYywg Y29uc3QgY2hhciAqbmFtZSkKK3sKKwlpbnQgcmV0OworCXVuc2lnbmVkIGludCBpMmNfbnVtOwor CXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSAmbGRldi0+ZGV2OworCXN0cnVjdCBpMmNfY2xpZW50 ICppMmNfY2xpOworCXN0cnVjdCBpMmNfYWRhcHRlciAqaTJjX2FkYXB0ZXI7CisJc3RydWN0IGky Y19hbGdvX2JpdF9kYXRhICppMmNfYWxnb19kYXRhOworCWNvbnN0IHN0cnVjdCBpMmNfYm9hcmRf aW5mbyBpMmNfaW5mbyA9IHsKKwkJLnR5cGUgPSAiZGRjLWRldiIsCisJCS5hZGRyID0gRERDX0FE RFIsCisJCS5mbGFncyA9IEkyQ19DTEFTU19EREMsCisJfTsKKworCWkyY19udW0gPSBsaTJjLT5p MmNfaWQ7CisJaTJjX2FkYXB0ZXIgPSBkZXZtX2t6YWxsb2MoZGV2LT5kZXYsIHNpemVvZigqaTJj X2FkYXB0ZXIpLCBHRlBfS0VSTkVMKTsKKwlpZiAoIWkyY19hZGFwdGVyKQorCQlyZXR1cm4gLUVO T01FTTsKKworCWkyY19hbGdvX2RhdGEgPSBkZXZtX2t6YWxsb2MoZGV2LT5kZXYsIHNpemVvZigq aTJjX2FsZ29fZGF0YSksIEdGUF9LRVJORUwpOworCWlmICghaTJjX2FsZ29fZGF0YSkgeworCQly ZXQgPSAtRU5PTUVNOworCQlnb3RvIGZyZWVfYWRhcHRlcjsKKwl9CisKKwlpMmNfYWRhcHRlci0+ b3duZXIgPSBUSElTX01PRFVMRTsKKwlpMmNfYWRhcHRlci0+Y2xhc3MgPSBJMkNfQ0xBU1NfRERD OworCWkyY19hZGFwdGVyLT5hbGdvX2RhdGEgPSBpMmNfYWxnb19kYXRhOworCWkyY19hZGFwdGVy LT5kZXYucGFyZW50ID0gZGV2LT5kZXY7CisJaTJjX2FkYXB0ZXItPm5yID0gLTE7CisJc25wcmlu dGYoaTJjX2FkYXB0ZXItPm5hbWUsIHNpemVvZihpMmNfYWRhcHRlci0+bmFtZSksICIlcyVkIiwK KwkJIG5hbWUsIGkyY19udW0pOworCisJbGkyYy0+ZGF0YSA9IGkyY19udW0gKiAyOworCWxpMmMt PmNsb2NrID0gaTJjX251bSAqIDIgKyAxOworCURSTV9JTkZPKCJDcmVhdGVkIGkyYy0lZCwgc2Rh PSVkLCBzY2w9JWRcbiIsCisJCSBpMmNfbnVtLCBsaTJjLT5kYXRhLCBsaTJjLT5jbG9jayk7CisK KwlpMmNfYWxnb19kYXRhLT5zZXRzZGEgPSBsb29uZ3Nvbl9pMmNfc2V0X2RhdGE7CisJaTJjX2Fs Z29fZGF0YS0+c2V0c2NsID0gbG9vbmdzb25faTJjX3NldF9jbG9jazsKKwlpMmNfYWxnb19kYXRh LT5nZXRzZGEgPSBsb29uZ3Nvbl9pMmNfZ2V0X2RhdGE7CisJaTJjX2FsZ29fZGF0YS0+Z2V0c2Ns ID0gbG9vbmdzb25faTJjX2dldF9jbG9jazsKKwlpMmNfYWxnb19kYXRhLT51ZGVsYXkgPSBEQ19J MkNfVE9OOworCWkyY19hbGdvX2RhdGEtPnRpbWVvdXQgPSB1c2Vjc190b19qaWZmaWVzKDIyMDAp OworCisJcmV0ID0gaTJjX2JpdF9hZGRfbnVtYmVyZWRfYnVzKGkyY19hZGFwdGVyKTsKKwlpZiAo cmV0KQorCQlnb3RvIGZyZWVfYWxnb19kYXRhOworCisJbGkyYy0+YWRhcHRlciA9IGkyY19hZGFw dGVyOworCWkyY19hbGdvX2RhdGEtPmRhdGEgPSBsaTJjOworCWkyY19zZXRfYWRhcGRhdGEobGky Yy0+YWRhcHRlciwgbGkyYyk7CisJbGkyYy0+bGRldiA9IGxkZXY7CisJRFJNX0lORk8oIlJlZ2lz dGVyIGkyYyBhbGdvLWJpdCBhZGFwdGVyIFslc11cbiIsIGkyY19hZGFwdGVyLT5uYW1lKTsKKwor CWkyY19jbGkgPSBpMmNfbmV3X2NsaWVudF9kZXZpY2UoaTJjX2FkYXB0ZXIsICZpMmNfaW5mbyk7 CisJaWYgKElTX0VSUihpMmNfY2xpKSkgeworCQlyZXQgPSBQVFJfRVJSKGkyY19jbGkpOworCQln b3RvIHJlbW92ZV9pMmNfYWRhcHRlcjsKKwl9CisKKwlyZXR1cm4gMDsKKworcmVtb3ZlX2kyY19h ZGFwdGVyOgorCWRybV9lcnIoZGV2LCAiRmFpbGVkIHRvIGNyZWF0ZSBpMmMgY2xpZW50XG4iKTsK KwlpMmNfZGVsX2FkYXB0ZXIoaTJjX2FkYXB0ZXIpOworZnJlZV9hbGdvX2RhdGE6CisJZHJtX2Vy cihkZXYsICJGYWlsZWQgdG8gcmVnaXN0ZXIgaTJjIGFkYXB0ZXIgJXNcbiIsIGkyY19hZGFwdGVy LT5uYW1lKTsKKwlrZnJlZShpMmNfYWxnb19kYXRhKTsKK2ZyZWVfYWRhcHRlcjoKKwlrZnJlZShp MmNfYWRhcHRlcik7CisKKwlyZXR1cm4gcmV0OworfQorCitpbnQgbG9vbmdzb25fZGNfZ3Bpb19p bml0KHN0cnVjdCBsb29uZ3Nvbl9kZXZpY2UgKmxkZXYpCit7CisJaW50IHBpbjsKKworCS8qIHNl dCBncGlvIGRpciBvdXRwdXQgMC0zICovCisJZm9yIChwaW4gPSAwOyBwaW4gPCA0OyBwaW4rKykg eworCQlkY19ncGlvX3NldF92YWwobGRldiwgcGluLCAwKTsKKwkJZGNfZ3Bpb19zZXRfZGlyKGxk ZXYsIHBpbiwgMCk7CisJfQorCisJcmV0dXJuIDA7Cit9CisKK2ludCBsb29uZ3Nvbl9pMmNfaW5p dChzdHJ1Y3QgbG9vbmdzb25fZGV2aWNlICpsZGV2KQoreworCWludCByZXQ7CisJaW50IGk7CisK Kwlmb3IgKGkgPSAwOyBpIDwgMjsgaSsrKSB7CisJCWxkZXYtPmkyY19idXNbMV0uaTJjX2lkID0g aTsKKwkJcmV0ID0gbG9vbmdzb25faTJjX2NyZWF0ZShsZGV2LCAmbGRldi0+aTJjX2J1c1tpXSwg RENfSTJDX05BTUUpOworCQlpZiAocmV0KQorCQkJcmV0dXJuIHJldDsKKwl9CisKKwlyZXR1cm4g MDsKK30KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9sb29uZ3Nvbi9sb29uZ3Nvbl9pMmMu aCBiL2RyaXZlcnMvZ3B1L2RybS9sb29uZ3Nvbi9sb29uZ3Nvbl9pMmMuaApuZXcgZmlsZSBtb2Rl IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLmM2YzljNTY0ZmVjNAotLS0gL2Rldi9udWxsCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9sb29uZ3Nvbi9sb29uZ3Nvbl9pMmMuaApAQCAtMCwwICsxLDMx IEBACisvKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vbmx5ICovCisvKiBDb3B5 cmlnaHQgKEMpIDIwMjIgTG9vbmdzb24gSW5jLiAqLworCisjaWZuZGVmIF9fTE9PTkdTT05fSTJD X0hfXworI2RlZmluZSBfX0xPT05HU09OX0kyQ19IX18KKworI2luY2x1ZGUgPGxpbnV4L2kyYy5o PgorI2luY2x1ZGUgPGxpbnV4L2kyYy1hbGdvLWJpdC5oPgorCisjaW5jbHVkZSA8ZHJtL2RybV9l ZGlkLmg+CisKKyNkZWZpbmUgRENfSTJDX1RPTiA1CisjZGVmaW5lIERDX0kyQ19OQU1FICJsc19k Y19pMmMiCisjZGVmaW5lIERDX01BWF9JMkNfQlVTIDIKKworI2RlZmluZSBMUzdBX0RDX0dQSU9f Q0ZHX09GRlNFVCAoMHgxNjYwKQorI2RlZmluZSBMUzdBX0RDX0dQSU9fSU5fT0ZGU0VUICgweDE2 NTApCisjZGVmaW5lIExTN0FfRENfR1BJT19PVVRfT0ZGU0VUICgweDE2NTApCisKK3N0cnVjdCBs b29uZ3Nvbl9kZXZpY2U7CitzdHJ1Y3QgbG9vbmdzb25faTJjIHsKKwlzdHJ1Y3QgbG9vbmdzb25f ZGV2aWNlICpsZGV2OworCXN0cnVjdCBpMmNfYWRhcHRlciAqYWRhcHRlcjsKKwl1MzIgZGF0YTsK Kwl1MzIgY2xvY2s7CisJdTMyIGkyY19pZDsKK307CisKK2ludCBsb29uZ3Nvbl9pMmNfaW5pdChz dHJ1Y3QgbG9vbmdzb25fZGV2aWNlICpsZGV2KTsKKworI2VuZGlmIC8qIF9fTE9PTkdTT05fSTJD X0hfXyAqLwotLSAKMi4yNS4x ------=_Part_23713_2092959837.1667274265612 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: base64 PGh0bWw+CjxoZWFkPgogICAgPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50 PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiPgo8L2hlYWQ+Cjxib2R5Pgo8c3R5bGU+CiAgICBm b250ewogICAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7CiAgICB9CiAgICB1bCxvbHsKICAgICAgICBw YWRkaW5nLWxlZnQ6IDIwcHg7CiAgICAgICAgbGlzdC1zdHlsZS1wb3NpdGlvbjogaW5zaWRlOwog ICAgfQo8L3N0eWxlPgo8ZGl2IHN0eWxlPSJmb250LWZhbWlseTpIZWx2ZXRpY2EsSGVsdmV0aWNh LOW+rui9r+mbhem7kSwg5a6L5L2TOyBsaW5lLWhlaWdodDoxLjY7Ij4KICAgIDxkaXY+PC9kaXY+ PGRpdj4KICAgIDxkaXY+PHByZSB3cmFwPSJzb2Z0IiBzdHlsZT0iY2FyZXQtY29sb3I6IHJnYigw LCAwLCAwKTsgY29sb3I6IHJnYigwLCAwLCAwKTsgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDsi PkltcGxlbWVudCB1c2UgR1BJTyBhbmQgSTJDIGRyaXZlciB0byBkZXRlY3QgY29ubmVjdG9yCmFu ZCBmZXRjaCBFRElEIHZpYSBEREMuCgp2NToKLSBVc2UgYnJhaWRnZS0mZ3Q7ZGRjIHRvIGdldCBF RElEIGFuZCBkZXRlY3QgY29ubmVjdG9yLgoKdjQ6Ci0gRGVsZXRlIHRoZSBncGlvX2NoaXAgc3Vi c3lzdGVtIGNhbGwuCi0gRGVsZXRlIHNvbWUgcmVkdW5kYW50IHByaW50cy4KCnYzOgotIENoYW5n ZSBzb21lIGRyaXZlciBsb2cgdG8gdGhlIGRybV8gdmVyc2lvbi4KCnYyOgotIE9wdGltaXplIHRo ZSBlcnJvciBoYW5kbGluZyBwcm9jZXNzLgotIERlbGV0ZSBsb29uZ3Nvbl9pMmNfYnVzX21hdGNo IGFuZCBsb29uZ3Nvbl9pMmNfYWRkIGZ1bmN0aW9uLgotIE9wdGltaXplIHBhcnQgb2YgdGhlIGNv ZGUgZmxvdy4KClNpZ25lZC1vZmYtYnk6IFlpIExpICZsdDtsaXlpQGxvb25nc29uLmNuJmd0OwpT aWduZWQtb2ZmLWJ5OiBDaGVueWFuZyBMaSAmbHQ7bGljaGVueWFuZ0Bsb29uZ3Nvbi5jbiZndDsK LS0tCiBkcml2ZXJzL2dwdS9kcm0vbG9vbmdzb24vTWFrZWZpbGUgICAgICAgICAgIHwgICAxICsK IGRyaXZlcnMvZ3B1L2RybS9sb29uZ3Nvbi9sb29uZ3Nvbl9kcnYuYyAgICAgfCAgMTEgKy0KIGRy aXZlcnMvZ3B1L2RybS9sb29uZ3Nvbi9sb29uZ3Nvbl9kcnYuaCAgICAgfCAgIDcgKwogZHJpdmVy cy9ncHUvZHJtL2xvb25nc29uL2xvb25nc29uX2VuY29kZXIuYyB8ICAzMSArKystCiBkcml2ZXJz L2dwdS9kcm0vbG9vbmdzb24vbG9vbmdzb25faTJjLmMgICAgIHwgMTg5ICsrKysrKysrKysrKysr KysrKysrCiBkcml2ZXJzL2dwdS9kcm0vbG9vbmdzb24vbG9vbmdzb25faTJjLmggICAgIHwgIDMx ICsrKysKIDYgZmlsZXMgY2hhbmdlZCwgMjYxIGluc2VydGlvbnMoKyksIDkgZGVsZXRpb25zKC0p CiBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9ncHUvZHJtL2xvb25nc29uL2xvb25nc29uX2ky Yy5jCiBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9ncHUvZHJtL2xvb25nc29uL2xvb25nc29u X2kyYy5oCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2xvb25nc29uL01ha2VmaWxlIGIv ZHJpdmVycy9ncHUvZHJtL2xvb25nc29uL01ha2VmaWxlCmluZGV4IDUzNGE2NDA0N2ZiNi4uNGE1 ZmFiN2QwMDBiIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vbG9vbmdzb24vTWFrZWZpbGUK KysrIGIvZHJpdmVycy9ncHUvZHJtL2xvb25nc29uL01ha2VmaWxlCkBAIC05LDUgKzksNiBAQCBs b29uZ3Nvbi15IDo9IGxvb25nc29uX2Nvbm5lY3Rvci5vIFwKIAlsb29uZ3Nvbl9kZXZpY2UubyBc CiAJbG9vbmdzb25fZHJ2Lm8gXAogCWxvb25nc29uX2VuY29kZXIubyBcCisJbG9vbmdzb25faTJj Lm8gXAogCWxvb25nc29uX3BsYW5lLm8KIG9iai0kKENPTkZJR19EUk1fTE9PTkdTT04pICs9IGxv b25nc29uLm8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9sb29uZ3Nvbi9sb29uZ3Nvbl9k cnYuYyBiL2RyaXZlcnMvZ3B1L2RybS9sb29uZ3Nvbi9sb29uZ3Nvbl9kcnYuYwppbmRleCAzZGIy OTgyOTM4NjUuLjkxMjBkODE4OGRkZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2xvb25n c29uL2xvb25nc29uX2Rydi5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9sb29uZ3Nvbi9sb29uZ3Nv bl9kcnYuYwpAQCAtMjAsOSArMjAsMTAgQEAKIAogLyogSW50ZXJmYWNlIGhpc3Rvcnk6CiAgKiAw LjEgLSBvcmlnaW5hbC4KKyAqIDAuMiAtIGFkZCBpMmMgYW5kIGNvbm5lY3RvciBkZXRlY3QuCiAg Ki8KICNkZWZpbmUgRFJJVkVSX01BSk9SIDAKLSNkZWZpbmUgRFJJVkVSX01JTk9SIDEKKyNkZWZp bmUgRFJJVkVSX01JTk9SIDIKIAogc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fbW9kZV9jb25maWdf ZnVuY3MgbG9vbmdzb25fbW9kZV9mdW5jcyA9IHsKIAkuZmJfY3JlYXRlID0gZHJtX2dlbV9mYl9j cmVhdGUsCkBAIC04Niw2ICs4NywxNCBAQCBzdGF0aWMgaW50IGxvb25nc29uX2RldmljZV9pbml0 KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCiAKIAlsZGV2LSZndDtudW1fY3J0YyA9IDI7CiAKKwly ZXQgPSBsb29uZ3Nvbl9kY19ncGlvX2luaXQobGRldik7CisJaWYgKHJldCkKKwkJcmV0dXJuIHJl dDsKKworCXJldCA9IGxvb25nc29uX2kyY19pbml0KGxkZXYpOworCWlmIChyZXQpCisJCXJldHVy biByZXQ7CisKIAlkcm1faW5mbyhkZXYsICJEQyBtbWlvIGJhc2UgMHglbGx4IHNpemUgMHglbGx4 IGlvIDB4JWxseFxuIiwKIAkJIG1taW9fYmFzZSwgbW1pb19zaXplLCAqKHU2NCAqKWxkZXYtJmd0 O2lvKTsKIAlkcm1faW5mbyhkZXYsICJHUFUgdnJhbSBzdGFydCA9IDB4JXggc2l6ZSA9IDB4JXhc biIsCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbG9vbmdzb24vbG9vbmdzb25fZHJ2Lmgg Yi9kcml2ZXJzL2dwdS9kcm0vbG9vbmdzb24vbG9vbmdzb25fZHJ2LmgKaW5kZXggZmViMjU0YWU4 YzMyLi5lOGNhMGVhYzgyN2MgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9sb29uZ3Nvbi9s b29uZ3Nvbl9kcnYuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vbG9vbmdzb24vbG9vbmdzb25fZHJ2 LmgKQEAgLTgsNiArOCw4IEBACiAjaW5jbHVkZSAmbHQ7ZHJtL2RybV9nZW1fdnJhbV9oZWxwZXIu aCZndDsKICNpbmNsdWRlICZsdDtkcm0vZHJtX2JyaWRnZS5oJmd0OwogCisjaW5jbHVkZSAibG9v bmdzb25faTJjLmgiCisKIC8qIEdlbmVyYWwgY3VzdG9taXphdGlvbjoKICAqLwogI2RlZmluZSBE UklWRVJfQVVUSE9SICJMb29uZ3NvbiBncmFwaGljcyBkcml2ZXIgdGVhbSIKQEAgLTEwMCw2ICsx MDIsOCBAQCBzdHJ1Y3QgbG9vbmdzb25fZGV2aWNlIHsKIAl1MzIgbnVtX2NydGM7CiAJc3RydWN0 IGxvb25nc29uX21vZGVfaW5mbyBtb2RlX2luZm9bMl07CiAJc3RydWN0IHBjaV9kZXYgKmdwdV9w ZGV2OyAvKiBMUzdBIGdwdSBkZXZpY2UgaW5mbyAqLworCisJc3RydWN0IGxvb25nc29uX2kyYyBp MmNfYnVzW0RDX01BWF9JMkNfQlVTXTsKIH07CiAKIHN0YXRpYyBpbmxpbmUgc3RydWN0IGxvb25n c29uX2RldmljZSAqdG9fbG9vbmdzb25fZGV2aWNlKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCkBA IC0xMTksNiArMTIzLDkgQEAgaW50IGxvb25nc29uX2VuY29kZXJfaW5pdChzdHJ1Y3QgbG9vbmdz b25fZGV2aWNlICpsZGV2LCBpbnQgaW5kZXgpOwogLyogcGxhbmUgKi8KIHN0cnVjdCBsb29uZ3Nv bl9wbGFuZSAqbG9vbmdzb25fcGxhbmVfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBpbnQg aW5kZXgpOwogCisvKiBpMmMgKi8KK2ludCBsb29uZ3Nvbl9kY19ncGlvX2luaXQoc3RydWN0IGxv b25nc29uX2RldmljZSAqbGRldik7CisKIC8qIGRldmljZSAqLwogdTMyIGxvb25nc29uX2dwdV9v ZmZzZXQoc3RydWN0IGRybV9wbGFuZV9zdGF0ZSAqc3RhdGUsCiAJCQlzdHJ1Y3QgbG9vbmdzb25f ZGV2aWNlICpkZXYpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2xvb25nc29uL2xvb25n c29uX2VuY29kZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9sb29uZ3Nvbi9sb29uZ3Nvbl9lbmNvZGVy LmMKaW5kZXggMDY0NWE2NDVjYjlkLi5mMDdjMzllMTcxM2IgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS9sb29uZ3Nvbi9sb29uZ3Nvbl9lbmNvZGVyLmMKKysrIGIvZHJpdmVycy9ncHUvZHJt L2xvb25nc29uL2xvb25nc29uX2VuY29kZXIuYwpAQCAtNiwxOSArNiwzMSBAQAogCiAjaW5jbHVk ZSAibG9vbmdzb25fZHJ2LmgiCiAKLXN0YXRpYyBpbnQgbG9vbmdzb25fYnJpZGdlX2dldF9tb2Rl cyhzdHJ1Y3QgZHJtX2JyaWRnZSAqYnJpZGdlLAotCQkJCSAgICAgc3RydWN0IGRybV9jb25uZWN0 b3IgKmNvbm5lY3RvcikKK2VudW0gZHJtX2Nvbm5lY3Rvcl9zdGF0dXMgbG9vbmdzb25fYnJpZGdl X2RldGVjdChzdHJ1Y3QgZHJtX2JyaWRnZSAqYnJpZGdlKQogewotCWludCBjb3VudDsKKwl1bnNp Z25lZCBjaGFyIHN0YXJ0ID0gMHgwOworCXN0cnVjdCBpMmNfbXNnIG1zZ3MgPSB7CisJCS5hZGRy ID0gRERDX0FERFIsCisJCS5mbGFncyA9IDAsCisJCS5sZW4gPSAxLAorCQkuYnVmID0gJmFtcDtz dGFydCwKKwl9OwogCi0JY291bnQgPSBkcm1fYWRkX21vZGVzX25vZWRpZChjb25uZWN0b3IsIDE5 MjAsIDEwODApOwotCWRybV9zZXRfcHJlZmVycmVkX21vZGUoY29ubmVjdG9yLCAxMDI0LCA3Njgp OworCWlmIChpMmNfdHJhbnNmZXIoYnJpZGdlLSZndDtkZGMsICZhbXA7bXNncywgMSkgIT0gMSkK KwkJcmV0dXJuIGNvbm5lY3Rvcl9zdGF0dXNfZGlzY29ubmVjdGVkOworCWVsc2UKKwkJcmV0dXJu IGNvbm5lY3Rvcl9zdGF0dXNfY29ubmVjdGVkOworfQogCi0JcmV0dXJuIGNvdW50Oworc3RhdGlj IHN0cnVjdCBlZGlkICpsb29uZ3Nvbl9icmlkZ2VfZ2V0X2VkaWQoc3RydWN0IGRybV9icmlkZ2Ug KmJyaWRnZSwKKwkJCQkJICAgICBzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKQorewor CXJldHVybiBkcm1fZ2V0X2VkaWQoY29ubmVjdG9yLCBicmlkZ2UtJmd0O2RkYyk7CiB9CiAKIHN0 YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2JyaWRnZV9mdW5jcyBsb29uZ3Nvbl9lbmNvZGVyX2JyaWRn ZV9mdW5jcyA9IHsKLQkuZ2V0X21vZGVzID0gbG9vbmdzb25fYnJpZGdlX2dldF9tb2RlcywKKwku ZGV0ZWN0ID0gbG9vbmdzb25fYnJpZGdlX2RldGVjdCwKKwkuZ2V0X2VkaWQgPSBsb29uZ3Nvbl9i cmlkZ2VfZ2V0X2VkaWQsCiAJLmF0b21pY19kdXBsaWNhdGVfc3RhdGUgPSBkcm1fYXRvbWljX2hl bHBlcl9icmlkZ2VfZHVwbGljYXRlX3N0YXRlLAogCS5hdG9taWNfZGVzdHJveV9zdGF0ZSA9IGRy bV9hdG9taWNfaGVscGVyX2JyaWRnZV9kZXN0cm95X3N0YXRlLAogCS5hdG9taWNfcmVzZXQgPSBk cm1fYXRvbWljX2hlbHBlcl9icmlkZ2VfcmVzZXQsCkBAIC0zOSw3ICs1MSwxMCBAQCBpbnQgbG9v bmdzb25fZW5jb2Rlcl9pbml0KHN0cnVjdCBsb29uZ3Nvbl9kZXZpY2UgKmxkZXYsIGludCBpbmRl eCkKIAlsZGV2LSZndDttb2RlX2luZm9baW5kZXhdLmVuY29kZXIgPSBsZW5jb2RlcjsKIAogCWxl bmNvZGVyLSZndDticmlkZ2UuZnVuY3MgPSAmYW1wO2xvb25nc29uX2VuY29kZXJfYnJpZGdlX2Z1 bmNzOwotCWxlbmNvZGVyLSZndDticmlkZ2Uub3BzID0gRFJNX0JSSURHRV9PUF9NT0RFUzsKKwls ZW5jb2Rlci0mZ3Q7YnJpZGdlLmRkYyA9IGxkZXYtJmd0O2kyY19idXNbaW5kZXhdLmFkYXB0ZXI7 CisJbGVuY29kZXItJmd0O2JyaWRnZS5vcHMgPSBEUk1fQlJJREdFX09QX0RFVEVDVCB8IERSTV9C UklER0VfT1BfRURJRAorCQkJICAgICAgIHwgRFJNX0JSSURHRV9PUF9NT0RFUzsKKwogCWlmIChp bmRleCA9PSAwKQogCQlsZW5jb2Rlci0mZ3Q7YnJpZGdlLnR5cGUgPSBEUk1fTU9ERV9DT05ORUNU T1JfVkdBOwogCWVsc2UgaWYgKGluZGV4ID09IDEpCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vbG9vbmdzb24vbG9vbmdzb25faTJjLmMgYi9kcml2ZXJzL2dwdS9kcm0vbG9vbmdzb24vbG9v bmdzb25faTJjLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi45ZjJi OTkxNTlkZDAKLS0tIC9kZXYvbnVsbAorKysgYi9kcml2ZXJzL2dwdS9kcm0vbG9vbmdzb24vbG9v bmdzb25faTJjLmMKQEAgLTAsMCArMSwxODkgQEAKKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVy OiBHUEwtMi4wLW9yLWxhdGVyCisvKiBDb3B5cmlnaHQgKEMpIDIwMjIgTG9vbmdzb24gSW5jLiAq LworCisjaW5jbHVkZSAibG9vbmdzb25fZHJ2LmgiCisjaW5jbHVkZSAibG9vbmdzb25faTJjLmgi CisKK3N0YXRpYyBpbmxpbmUgdm9pZCBkY19ncGlvX3NldF9kaXIoc3RydWN0IGxvb25nc29uX2Rl dmljZSAqbGRldiwKKwkJCQkgICB1bnNpZ25lZCBpbnQgcGluLCBpbnQgaW5wdXQpCit7CisJdTMy IHRlbXA7CisKKwl0ZW1wID0gbHM3YV9tbV9ycmVnKGxkZXYsIExTN0FfRENfR1BJT19DRkdfT0ZG U0VUKTsKKwlpZiAoaW5wdXQpCisJCXRlbXAgfD0gMVVMICZsdDsmbHQ7IHBpbjsKKwllbHNlCisJ CXRlbXAgJmFtcDs9IH4oMVVMICZsdDsmbHQ7IHBpbik7CisKKwlsczdhX21tX3dyZWcobGRldiwg TFM3QV9EQ19HUElPX0NGR19PRkZTRVQsIHRlbXApOworfQorCitzdGF0aWMgdm9pZCBkY19ncGlv X3NldF92YWwoc3RydWN0IGxvb25nc29uX2RldmljZSAqbGRldiwgdW5zaWduZWQgaW50IHBpbiwK KwkJCSAgICBpbnQgaGlnaCkKK3sKKwl1MzIgdGVtcDsKKworCXRlbXAgPSBsczdhX21tX3JyZWco bGRldiwgTFM3QV9EQ19HUElPX09VVF9PRkZTRVQpOworCWlmIChoaWdoKQorCQl0ZW1wIHw9IDFV TCAmbHQ7Jmx0OyBwaW47CisJZWxzZQorCQl0ZW1wICZhbXA7PSB+KDFVTCAmbHQ7Jmx0OyBwaW4p OworCisJbHM3YV9tbV93cmVnKGxkZXYsIExTN0FfRENfR1BJT19PVVRfT0ZGU0VULCB0ZW1wKTsK K30KKworc3RhdGljIHZvaWQgbG9vbmdzb25faTJjX3NldF9kYXRhKHZvaWQgKmkyYywgaW50IHZh bHVlKQoreworCXN0cnVjdCBsb29uZ3Nvbl9pMmMgKmxpMmMgPSBpMmM7CisJc3RydWN0IGxvb25n c29uX2RldmljZSAqbGRldiA9IGxpMmMtJmd0O2xkZXY7CisJdW5zaWduZWQgaW50IHBpbiA9IGxp MmMtJmd0O2RhdGE7CisKKwlpZiAodmFsdWUpCisJCWRjX2dwaW9fc2V0X2RpcihsZGV2LCBwaW4s IDEpOworCWVsc2UgeworCQlkY19ncGlvX3NldF92YWwobGRldiwgcGluLCAwKTsKKwkJZGNfZ3Bp b19zZXRfZGlyKGxkZXYsIHBpbiwgMCk7CisJfQorfQorCitzdGF0aWMgdm9pZCBsb29uZ3Nvbl9p MmNfc2V0X2Nsb2NrKHZvaWQgKmkyYywgaW50IHZhbHVlKQoreworCXN0cnVjdCBsb29uZ3Nvbl9p MmMgKmxpMmMgPSBpMmM7CisJc3RydWN0IGxvb25nc29uX2RldmljZSAqbGRldiA9IGxpMmMtJmd0 O2xkZXY7CisJdW5zaWduZWQgaW50IHBpbiA9IGxpMmMtJmd0O2Nsb2NrOworCisJaWYgKHZhbHVl KQorCQlkY19ncGlvX3NldF9kaXIobGRldiwgcGluLCAxKTsKKwllbHNlIHsKKwkJZGNfZ3Bpb19z ZXRfdmFsKGxkZXYsIHBpbiwgMCk7CisJCWRjX2dwaW9fc2V0X2RpcihsZGV2LCBwaW4sIDApOwor CX0KK30KKworc3RhdGljIGludCBsb29uZ3Nvbl9pMmNfZ2V0X2RhdGEodm9pZCAqaTJjKQorewor CWludCB2YWw7CisJc3RydWN0IGxvb25nc29uX2kyYyAqbGkyYyA9IGkyYzsKKwlzdHJ1Y3QgbG9v bmdzb25fZGV2aWNlICpsZGV2ID0gbGkyYy0mZ3Q7bGRldjsKKwl1bnNpZ25lZCBpbnQgcGluID0g bGkyYy0mZ3Q7ZGF0YTsKKworCXZhbCA9IGxzN2FfbW1fcnJlZyhsZGV2LCBMUzdBX0RDX0dQSU9f SU5fT0ZGU0VUKTsKKworCXJldHVybiAodmFsICZndDsmZ3Q7IHBpbikgJmFtcDsgMTsKK30KKwor c3RhdGljIGludCBsb29uZ3Nvbl9pMmNfZ2V0X2Nsb2NrKHZvaWQgKmkyYykKK3sKKwlpbnQgdmFs OworCXN0cnVjdCBsb29uZ3Nvbl9pMmMgKmxpMmMgPSBpMmM7CisJc3RydWN0IGxvb25nc29uX2Rl dmljZSAqbGRldiA9IGxpMmMtJmd0O2xkZXY7CisJdW5zaWduZWQgaW50IHBpbiA9IGxpMmMtJmd0 O2Nsb2NrOworCisJdmFsID0gbHM3YV9tbV9ycmVnKGxkZXYsIExTN0FfRENfR1BJT19JTl9PRkZT RVQpOworCisJcmV0dXJuICh2YWwgJmd0OyZndDsgcGluKSAmYW1wOyAxOworfQorCitzdGF0aWMg aW50IGxvb25nc29uX2kyY19jcmVhdGUoc3RydWN0IGxvb25nc29uX2RldmljZSAqbGRldiwKKwkJ CSAgICAgICBzdHJ1Y3QgbG9vbmdzb25faTJjICpsaTJjLCBjb25zdCBjaGFyICpuYW1lKQorewor CWludCByZXQ7CisJdW5zaWduZWQgaW50IGkyY19udW07CisJc3RydWN0IGRybV9kZXZpY2UgKmRl diA9ICZhbXA7bGRldi0mZ3Q7ZGV2OworCXN0cnVjdCBpMmNfY2xpZW50ICppMmNfY2xpOworCXN0 cnVjdCBpMmNfYWRhcHRlciAqaTJjX2FkYXB0ZXI7CisJc3RydWN0IGkyY19hbGdvX2JpdF9kYXRh ICppMmNfYWxnb19kYXRhOworCWNvbnN0IHN0cnVjdCBpMmNfYm9hcmRfaW5mbyBpMmNfaW5mbyA9 IHsKKwkJLnR5cGUgPSAiZGRjLWRldiIsCisJCS5hZGRyID0gRERDX0FERFIsCisJCS5mbGFncyA9 IEkyQ19DTEFTU19EREMsCisJfTsKKworCWkyY19udW0gPSBsaTJjLSZndDtpMmNfaWQ7CisJaTJj X2FkYXB0ZXIgPSBkZXZtX2t6YWxsb2MoZGV2LSZndDtkZXYsIHNpemVvZigqaTJjX2FkYXB0ZXIp LCBHRlBfS0VSTkVMKTsKKwlpZiAoIWkyY19hZGFwdGVyKQorCQlyZXR1cm4gLUVOT01FTTsKKwor CWkyY19hbGdvX2RhdGEgPSBkZXZtX2t6YWxsb2MoZGV2LSZndDtkZXYsIHNpemVvZigqaTJjX2Fs Z29fZGF0YSksIEdGUF9LRVJORUwpOworCWlmICghaTJjX2FsZ29fZGF0YSkgeworCQlyZXQgPSAt RU5PTUVNOworCQlnb3RvIGZyZWVfYWRhcHRlcjsKKwl9CisKKwlpMmNfYWRhcHRlci0mZ3Q7b3du ZXIgPSBUSElTX01PRFVMRTsKKwlpMmNfYWRhcHRlci0mZ3Q7Y2xhc3MgPSBJMkNfQ0xBU1NfRERD OworCWkyY19hZGFwdGVyLSZndDthbGdvX2RhdGEgPSBpMmNfYWxnb19kYXRhOworCWkyY19hZGFw dGVyLSZndDtkZXYucGFyZW50ID0gZGV2LSZndDtkZXY7CisJaTJjX2FkYXB0ZXItJmd0O25yID0g LTE7CisJc25wcmludGYoaTJjX2FkYXB0ZXItJmd0O25hbWUsIHNpemVvZihpMmNfYWRhcHRlci0m Z3Q7bmFtZSksICIlcyVkIiwKKwkJIG5hbWUsIGkyY19udW0pOworCisJbGkyYy0mZ3Q7ZGF0YSA9 IGkyY19udW0gKiAyOworCWxpMmMtJmd0O2Nsb2NrID0gaTJjX251bSAqIDIgKyAxOworCURSTV9J TkZPKCJDcmVhdGVkIGkyYy0lZCwgc2RhPSVkLCBzY2w9JWRcbiIsCisJCSBpMmNfbnVtLCBsaTJj LSZndDtkYXRhLCBsaTJjLSZndDtjbG9jayk7CisKKwlpMmNfYWxnb19kYXRhLSZndDtzZXRzZGEg PSBsb29uZ3Nvbl9pMmNfc2V0X2RhdGE7CisJaTJjX2FsZ29fZGF0YS0mZ3Q7c2V0c2NsID0gbG9v bmdzb25faTJjX3NldF9jbG9jazsKKwlpMmNfYWxnb19kYXRhLSZndDtnZXRzZGEgPSBsb29uZ3Nv bl9pMmNfZ2V0X2RhdGE7CisJaTJjX2FsZ29fZGF0YS0mZ3Q7Z2V0c2NsID0gbG9vbmdzb25faTJj X2dldF9jbG9jazsKKwlpMmNfYWxnb19kYXRhLSZndDt1ZGVsYXkgPSBEQ19JMkNfVE9OOworCWky Y19hbGdvX2RhdGEtJmd0O3RpbWVvdXQgPSB1c2Vjc190b19qaWZmaWVzKDIyMDApOworCisJcmV0 ID0gaTJjX2JpdF9hZGRfbnVtYmVyZWRfYnVzKGkyY19hZGFwdGVyKTsKKwlpZiAocmV0KQorCQln b3RvIGZyZWVfYWxnb19kYXRhOworCisJbGkyYy0mZ3Q7YWRhcHRlciA9IGkyY19hZGFwdGVyOwor CWkyY19hbGdvX2RhdGEtJmd0O2RhdGEgPSBsaTJjOworCWkyY19zZXRfYWRhcGRhdGEobGkyYy0m Z3Q7YWRhcHRlciwgbGkyYyk7CisJbGkyYy0mZ3Q7bGRldiA9IGxkZXY7CisJRFJNX0lORk8oIlJl Z2lzdGVyIGkyYyBhbGdvLWJpdCBhZGFwdGVyIFslc11cbiIsIGkyY19hZGFwdGVyLSZndDtuYW1l KTsKKworCWkyY19jbGkgPSBpMmNfbmV3X2NsaWVudF9kZXZpY2UoaTJjX2FkYXB0ZXIsICZhbXA7 aTJjX2luZm8pOworCWlmIChJU19FUlIoaTJjX2NsaSkpIHsKKwkJcmV0ID0gUFRSX0VSUihpMmNf Y2xpKTsKKwkJZ290byByZW1vdmVfaTJjX2FkYXB0ZXI7CisJfQorCisJcmV0dXJuIDA7CisKK3Jl bW92ZV9pMmNfYWRhcHRlcjoKKwlkcm1fZXJyKGRldiwgIkZhaWxlZCB0byBjcmVhdGUgaTJjIGNs aWVudFxuIik7CisJaTJjX2RlbF9hZGFwdGVyKGkyY19hZGFwdGVyKTsKK2ZyZWVfYWxnb19kYXRh OgorCWRybV9lcnIoZGV2LCAiRmFpbGVkIHRvIHJlZ2lzdGVyIGkyYyBhZGFwdGVyICVzXG4iLCBp MmNfYWRhcHRlci0mZ3Q7bmFtZSk7CisJa2ZyZWUoaTJjX2FsZ29fZGF0YSk7CitmcmVlX2FkYXB0 ZXI6CisJa2ZyZWUoaTJjX2FkYXB0ZXIpOworCisJcmV0dXJuIHJldDsKK30KKworaW50IGxvb25n c29uX2RjX2dwaW9faW5pdChzdHJ1Y3QgbG9vbmdzb25fZGV2aWNlICpsZGV2KQoreworCWludCBw aW47CisKKwkvKiBzZXQgZ3BpbyBkaXIgb3V0cHV0IDAtMyAqLworCWZvciAocGluID0gMDsgcGlu ICZsdDsgNDsgcGluKyspIHsKKwkJZGNfZ3Bpb19zZXRfdmFsKGxkZXYsIHBpbiwgMCk7CisJCWRj X2dwaW9fc2V0X2RpcihsZGV2LCBwaW4sIDApOworCX0KKworCXJldHVybiAwOworfQorCitpbnQg bG9vbmdzb25faTJjX2luaXQoc3RydWN0IGxvb25nc29uX2RldmljZSAqbGRldikKK3sKKwlpbnQg cmV0OworCWludCBpOworCisJZm9yIChpID0gMDsgaSAmbHQ7IDI7IGkrKykgeworCQlsZGV2LSZn dDtpMmNfYnVzWzFdLmkyY19pZCA9IGk7CisJCXJldCA9IGxvb25nc29uX2kyY19jcmVhdGUobGRl diwgJmFtcDtsZGV2LSZndDtpMmNfYnVzW2ldLCBEQ19JMkNfTkFNRSk7CisJCWlmIChyZXQpCisJ CQlyZXR1cm4gcmV0OworCX0KKworCXJldHVybiAwOworfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2xvb25nc29uL2xvb25nc29uX2kyYy5oIGIvZHJpdmVycy9ncHUvZHJtL2xvb25nc29u L2xvb25nc29uX2kyYy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4u YzZjOWM1NjRmZWM0Ci0tLSAvZGV2L251bGwKKysrIGIvZHJpdmVycy9ncHUvZHJtL2xvb25nc29u L2xvb25nc29uX2kyYy5oCkBAIC0wLDAgKzEsMzEgQEAKKy8qIFNQRFgtTGljZW5zZS1JZGVudGlm aWVyOiBHUEwtMi4wLW9ubHkgKi8KKy8qIENvcHlyaWdodCAoQykgMjAyMiBMb29uZ3NvbiBJbmMu ICovCisKKyNpZm5kZWYgX19MT09OR1NPTl9JMkNfSF9fCisjZGVmaW5lIF9fTE9PTkdTT05fSTJD X0hfXworCisjaW5jbHVkZSAmbHQ7bGludXgvaTJjLmgmZ3Q7CisjaW5jbHVkZSAmbHQ7bGludXgv aTJjLWFsZ28tYml0LmgmZ3Q7CisKKyNpbmNsdWRlICZsdDtkcm0vZHJtX2VkaWQuaCZndDsKKwor I2RlZmluZSBEQ19JMkNfVE9OIDUKKyNkZWZpbmUgRENfSTJDX05BTUUgImxzX2RjX2kyYyIKKyNk ZWZpbmUgRENfTUFYX0kyQ19CVVMgMgorCisjZGVmaW5lIExTN0FfRENfR1BJT19DRkdfT0ZGU0VU ICgweDE2NjApCisjZGVmaW5lIExTN0FfRENfR1BJT19JTl9PRkZTRVQgKDB4MTY1MCkKKyNkZWZp bmUgTFM3QV9EQ19HUElPX09VVF9PRkZTRVQgKDB4MTY1MCkKKworc3RydWN0IGxvb25nc29uX2Rl dmljZTsKK3N0cnVjdCBsb29uZ3Nvbl9pMmMgeworCXN0cnVjdCBsb29uZ3Nvbl9kZXZpY2UgKmxk ZXY7CisJc3RydWN0IGkyY19hZGFwdGVyICphZGFwdGVyOworCXUzMiBkYXRhOworCXUzMiBjbG9j azsKKwl1MzIgaTJjX2lkOworfTsKKworaW50IGxvb25nc29uX2kyY19pbml0KHN0cnVjdCBsb29u Z3Nvbl9kZXZpY2UgKmxkZXYpOworCisjZW5kaWYgLyogX19MT09OR1NPTl9JMkNfSF9fICovCi0t IAoyLjI1LjE8L3ByZT48L2Rpdj4KPC9kaXY+PCEtLe+/vS0tPgo8L2Rpdj4KPC9ib2R5Pgo8L2h0 bWw+ ------=_Part_23713_2092959837.1667274265612--