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 32DB5FA373D for ; Tue, 1 Nov 2022 08:49:17 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 6096710E31D; Tue, 1 Nov 2022 08:49:15 +0000 (UTC) Received: from m1230.mail.163.com (m12-30.163.com [220.181.12.30]) by gabe.freedesktop.org (Postfix) with ESMTP id DF2CC890BE for ; Tue, 1 Nov 2022 04:00:20 +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=k1LKd nOW6r+iUAuQSCfga5qcaF6vgDGmk/m45LQsb7I=; b=PfB1EC9aAuOoFOHY9edlH JJFKUY/IaIHyQslfqbP0kTGHpQTxBB18NSelI6/S1eaMH3ytWIWDKr2XV/0nSQR5 9+euq2zgULaQ5zDWKUl9MF0wbJrFZdDmVixFMInEyKx9wz2AjWlWB6LQE5XVQyTq 6D2grLel2TXj3F+E7Emzmo= Received: from lichenyang_ls$163.com ( [114.242.206.180] ) by ajax-webmail-wmsvr214 (Coremail) ; Tue, 1 Nov 2022 11:45:09 +0800 (GMT+08:00) X-Originating-IP: [114.242.206.180] Date: Tue, 1 Nov 2022 11:45:09 +0800 (GMT+08:00) From: lichenyang_ls To: "dri-devel@lists.freedesktop.org" Subject: [PATCH v8 3/4] drm/loongson: Add interrupt driver for LS7A. 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_QuydBf6cu0sr7yWYZekXm00RhOs7XMOwu/oh3IBQOZk0giD14BIrcUFtJkPI9NOiJyu8jiaWbTt10NZbRItETbPseDhAuT2HdncUfWlDWKYz Content-Type: multipart/alternative; boundary="----=_Part_23803_1766653535.1667274309502" MIME-Version: 1.0 Message-ID: X-Coremail-Locale: zh_CN X-CM-TRANSID: lceowACnusFFlmBjbGIPAA--.62569W X-CM-SenderInfo: xolfxvxq1d0wxbovqiywtou0bp/1tbiWRCsCFWBwqh4SAAEsn 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_23803_1766653535.1667274309502 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: base64 QWRkIExTN0EgREMgdnN5bmMgaW50ZXJydXB0IGVuYWJsZSBhbmQgY2xvc2UgZnVuY3Rpb24sIGFu ZApyZWdpc3RlciBpcnFfaGFuZGxlciBmdW5jdGlvbiBpbnRlcmZhY2UuCkFkZCB2YnJhbmsgZXZl bnQgcHJvY2Vzc2luZyBmbG93LgoKdjQ6Ci0gUmVwbGFjZSBkcm1faXJxX2luc3RhbGwgd2l0aCBk ZXZtX3JlcXVlc3RfaXJxLgotIERlbGV0ZSB0aGUgaXJxXyBob29rcyBpbiBkcm1fZHJpdmVyLgoK djM6Ci0gSW1wcm92ZSBjb2RlIHJlYWRhYmlsaXR5LgotIFVzZSB0aGUgdG9fcGNpX2RldiBmdW5j dGlvbiB0byBnZXQgcGNpX2Rldi4KCnYyOgotIEFkZGVkIGVycm9yIGhhbmRsaW5nIGluIHRoZSBs b29uZ3Nvbl9kcm1fbG9hZCBmdW5jdGlvbi4KClNpZ25lZC1vZmYtYnk6IFlpIExpIDxsaXlpQGxv b25nc29uLmNuPgpTaWduZWQtb2ZmLWJ5OiBDaGVueWFuZyBMaSA8bGljaGVueWFuZ0Bsb29uZ3Nv bi5jbj4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vbG9vbmdzb24vTWFrZWZpbGUgICAgICAgIHwgIDEg KwogZHJpdmVycy9ncHUvZHJtL2xvb25nc29uL2xvb25nc29uX2NydGMuYyB8IDM3ICsrKysrKysr KysrCiBkcml2ZXJzL2dwdS9kcm0vbG9vbmdzb24vbG9vbmdzb25fZHJ2LmMgIHwgIDkgKystCiBk cml2ZXJzL2dwdS9kcm0vbG9vbmdzb24vbG9vbmdzb25fZHJ2LmggIHwgMTAgKysrCiBkcml2ZXJz L2dwdS9kcm0vbG9vbmdzb24vbG9vbmdzb25faXJxLmMgIHwgODIgKysrKysrKysrKysrKysrKysr KysrKysrCiA1IGZpbGVzIGNoYW5nZWQsIDEzOCBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0p CiBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9ncHUvZHJtL2xvb25nc29uL2xvb25nc29uX2ly cS5jCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2xvb25nc29uL01ha2VmaWxlIGIvZHJp dmVycy9ncHUvZHJtL2xvb25nc29uL01ha2VmaWxlCmluZGV4IDRhNWZhYjdkMDAwYi4uYjA4Mzg1 NGQ3ODliIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vbG9vbmdzb24vTWFrZWZpbGUKKysr IGIvZHJpdmVycy9ncHUvZHJtL2xvb25nc29uL01ha2VmaWxlCkBAIC0xMCw1ICsxMCw2IEBAIGxv b25nc29uLXkgOj0gbG9vbmdzb25fY29ubmVjdG9yLm8gXAogCWxvb25nc29uX2Rydi5vIFwKIAls b29uZ3Nvbl9lbmNvZGVyLm8gXAogCWxvb25nc29uX2kyYy5vIFwKKwlsb29uZ3Nvbl9pcnEubyBc CiAJbG9vbmdzb25fcGxhbmUubwogb2JqLSQoQ09ORklHX0RSTV9MT09OR1NPTikgKz0gbG9vbmdz b24ubwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2xvb25nc29uL2xvb25nc29uX2NydGMu YyBiL2RyaXZlcnMvZ3B1L2RybS9sb29uZ3Nvbi9sb29uZ3Nvbl9jcnRjLmMKaW5kZXggYTk3MzVm YmIxYzJlLi4xMGQ2ZjlhMTZmNGUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9sb29uZ3Nv bi9sb29uZ3Nvbl9jcnRjLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2xvb25nc29uL2xvb25nc29u X2NydGMuYwpAQCAtMyw2ICszLDcgQEAKIAogI2luY2x1ZGUgPGRybS9kcm1fZm91cmNjLmg+CiAj aW5jbHVkZSA8ZHJtL2RybV9mcmFtZWJ1ZmZlci5oPgorI2luY2x1ZGUgPGRybS9kcm1fdmJsYW5r Lmg+CiAKICNpbmNsdWRlICJsb29uZ3Nvbl9kcnYuaCIKIApAQCAtMTY1LDggKzE2NiwxNCBAQCBz dGF0aWMgdm9pZCBsb29uZ3Nvbl9jcnRjX2F0b21pY19lbmFibGUoc3RydWN0IGRybV9jcnRjICpj cnRjLAogCXN0cnVjdCBsb29uZ3Nvbl9jcnRjICpsY3J0YyA9IHRvX2xvb25nc29uX2NydGMoY3J0 Yyk7CiAJdTMyIHJlZ19vZmZzZXQgPSBsY3J0Yy0+cmVnX29mZnNldDsKIAorCWlmIChsY3J0Yy0+ Y2ZnX3JlZyAmIENGR19FTkFCTEUpCisJCWdvdG8gdmJsYW5rX29uOworCiAJbGNydGMtPmNmZ19y ZWcgfD0gQ0ZHX0VOQUJMRTsKIAlsczdhX21tX3dyZWcobGRldiwgRkJfQ0ZHX1JFRyArIHJlZ19v ZmZzZXQsIGxjcnRjLT5jZmdfcmVnKTsKKwordmJsYW5rX29uOgorCWRybV9jcnRjX3ZibGFua19v bihjcnRjKTsKIH0KIAogc3RhdGljIHZvaWQgbG9vbmdzb25fY3J0Y19hdG9taWNfZGlzYWJsZShz dHJ1Y3QgZHJtX2NydGMgKmNydGMsCkBAIC0xNzksNiArMTg2LDMzIEBAIHN0YXRpYyB2b2lkIGxv b25nc29uX2NydGNfYXRvbWljX2Rpc2FibGUoc3RydWN0IGRybV9jcnRjICpjcnRjLAogCiAJbGNy dGMtPmNmZ19yZWcgJj0gfkNGR19FTkFCTEU7CiAJbHM3YV9tbV93cmVnKGxkZXYsIEZCX0NGR19S RUcgKyByZWdfb2Zmc2V0LCBsY3J0Yy0+Y2ZnX3JlZyk7CisKKwlzcGluX2xvY2tfaXJxKCZjcnRj LT5kZXYtPmV2ZW50X2xvY2spOworCWlmIChjcnRjLT5zdGF0ZS0+ZXZlbnQpIHsKKwkJZHJtX2Ny dGNfc2VuZF92YmxhbmtfZXZlbnQoY3J0YywgY3J0Yy0+c3RhdGUtPmV2ZW50KTsKKwkJY3J0Yy0+ c3RhdGUtPmV2ZW50ID0gTlVMTDsKKwl9CisJc3Bpbl91bmxvY2tfaXJxKCZjcnRjLT5kZXYtPmV2 ZW50X2xvY2spOworCisJZHJtX2NydGNfdmJsYW5rX29mZihjcnRjKTsKK30KKworc3RhdGljIHZv aWQgbG9vbmdzb25fY3J0Y19hdG9taWNfZmx1c2goc3RydWN0IGRybV9jcnRjICpjcnRjLAorCQkJ CSAgICAgICBzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUpCit7CisJc3RydWN0IGRybV9w ZW5kaW5nX3ZibGFua19ldmVudCAqZXZlbnQgPSBjcnRjLT5zdGF0ZS0+ZXZlbnQ7CisKKwlpZiAo IWV2ZW50KQorCQlyZXR1cm47CisKKwljcnRjLT5zdGF0ZS0+ZXZlbnQgPSBOVUxMOworCisJc3Bp bl9sb2NrX2lycSgmY3J0Yy0+ZGV2LT5ldmVudF9sb2NrKTsKKwlpZiAoZHJtX2NydGNfdmJsYW5r X2dldChjcnRjKSA9PSAwKQorCQlkcm1fY3J0Y19hcm1fdmJsYW5rX2V2ZW50KGNydGMsIGV2ZW50 KTsKKwllbHNlCisJCWRybV9jcnRjX3NlbmRfdmJsYW5rX2V2ZW50KGNydGMsIGV2ZW50KTsKKwlz cGluX3VubG9ja19pcnEoJmNydGMtPmRldi0+ZXZlbnRfbG9jayk7CiB9CiAKIHN0YXRpYyBlbnVt IGRybV9tb2RlX3N0YXR1cyBsb29uZ3Nvbl9tb2RlX3ZhbGlkKHN0cnVjdCBkcm1fY3J0YyAqY3J0 YywKQEAgLTE5OCw2ICsyMzIsNyBAQCBzdGF0aWMgZW51bSBkcm1fbW9kZV9zdGF0dXMgbG9vbmdz b25fbW9kZV92YWxpZChzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCiAKIHN0YXRpYyBjb25zdCBzdHJ1 Y3QgZHJtX2NydGNfaGVscGVyX2Z1bmNzIGxvb25nc29uX2NydGNfaGVscGVyX2Z1bmNzID0gewog CS5tb2RlX3ZhbGlkID0gbG9vbmdzb25fbW9kZV92YWxpZCwKKwkuYXRvbWljX2ZsdXNoID0gbG9v bmdzb25fY3J0Y19hdG9taWNfZmx1c2gsCiAJLmF0b21pY19lbmFibGUgPSBsb29uZ3Nvbl9jcnRj X2F0b21pY19lbmFibGUsCiAJLmF0b21pY19kaXNhYmxlID0gbG9vbmdzb25fY3J0Y19hdG9taWNf ZGlzYWJsZSwKIAkubW9kZV9zZXRfbm9mYiA9IGxvb25nc29uX2NydGNfbW9kZV9zZXRfbm9mYiwK QEAgLTIwOSw2ICsyNDQsOCBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9jcnRjX2Z1bmNzIGxv b25nc29uX2NydGNfZnVuY3MgPSB7CiAJLnJlc2V0ID0gZHJtX2F0b21pY19oZWxwZXJfY3J0Y19y ZXNldCwKIAkuYXRvbWljX2R1cGxpY2F0ZV9zdGF0ZSA9IGRybV9hdG9taWNfaGVscGVyX2NydGNf ZHVwbGljYXRlX3N0YXRlLAogCS5hdG9taWNfZGVzdHJveV9zdGF0ZSA9IGRybV9hdG9taWNfaGVs cGVyX2NydGNfZGVzdHJveV9zdGF0ZSwKKwkuZW5hYmxlX3ZibGFuayA9IGxvb25nc29uX2NydGNf ZW5hYmxlX3ZibGFuaywKKwkuZGlzYWJsZV92YmxhbmsgPSBsb29uZ3Nvbl9jcnRjX2Rpc2FibGVf dmJsYW5rLAogfTsKIAogaW50IGxvb25nc29uX2NydGNfaW5pdChzdHJ1Y3QgbG9vbmdzb25fZGV2 aWNlICpsZGV2LCBpbnQgaW5kZXgpCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbG9vbmdz b24vbG9vbmdzb25fZHJ2LmMgYi9kcml2ZXJzL2dwdS9kcm0vbG9vbmdzb24vbG9vbmdzb25fZHJ2 LmMKaW5kZXggOTEyMGQ4MTg4ZGRmLi5jOTcwMjk3MGEwMzcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS9sb29uZ3Nvbi9sb29uZ3Nvbl9kcnYuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vbG9v bmdzb24vbG9vbmdzb25fZHJ2LmMKQEAgLTIxLDkgKzIxLDEwIEBACiAvKiBJbnRlcmZhY2UgaGlz dG9yeToKICAqIDAuMSAtIG9yaWdpbmFsLgogICogMC4yIC0gYWRkIGkyYyBhbmQgY29ubmVjdG9y IGRldGVjdC4KKyAqIDAuMyAtIFZibGFuayBhbmQgdnN5bmMgaW50ZXJydXB0IHN1cHBvcnQuCiAg Ki8KICNkZWZpbmUgRFJJVkVSX01BSk9SIDAKLSNkZWZpbmUgRFJJVkVSX01JTk9SIDIKKyNkZWZp bmUgRFJJVkVSX01JTk9SIDMKIAogc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fbW9kZV9jb25maWdf ZnVuY3MgbG9vbmdzb25fbW9kZV9mdW5jcyA9IHsKIAkuZmJfY3JlYXRlID0gZHJtX2dlbV9mYl9j cmVhdGUsCkBAIC0xNjUsNiArMTY2LDEyIEBAIHN0YXRpYyBpbnQgbG9vbmdzb25fZHJpdmVyX2lu aXQoc3RydWN0IGRybV9kZXZpY2UgKmRldikKIAkJZ290byBlcnI7CiAJfQogCisJcmV0ID0gbG9v bmdzb25faXJxX2luaXQobGRldik7CisJaWYgKHJldCkgeworCQlkZXZfZXJyKGRldi0+ZGV2LCAi RmF0YWwgZXJyb3IgZHVyaW5nIGlycSBpbml0OiAlZFxuIiwgcmV0KTsKKwkJZ290byBlcnI7CisJ fQorCiAJZHJtX2ttc19oZWxwZXJfcG9sbF9pbml0KGRldik7CiAJZHJtX21vZGVfY29uZmlnX3Jl c2V0KGRldik7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9sb29uZ3Nvbi9sb29uZ3Nv bl9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9sb29uZ3Nvbi9sb29uZ3Nvbl9kcnYuaAppbmRleCBl OGNhMGVhYzgyN2MuLmVjMjJkZmY4OWU4OCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2xv b25nc29uL2xvb25nc29uX2Rydi5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9sb29uZ3Nvbi9sb29u Z3Nvbl9kcnYuaApAQCAtMzgsNiArMzgsNyBAQAogI2RlZmluZSBGQl9IU1lOQ19SRUcgKDB4MTQy MCkKICNkZWZpbmUgRkJfVkRJU1BMQVlfUkVHICgweDE0ODApCiAjZGVmaW5lIEZCX1ZTWU5DX1JF RyAoMHgxNGEwKQorI2RlZmluZSBGQl9JTlRfUkVHICgweDE1NzApCiAKICNkZWZpbmUgQ0ZHX0ZN VCBHRU5NQVNLKDIsIDApCiAjZGVmaW5lIENGR19GQlNXSVRDSCBCSVQoNykKQEAgLTQ5LDYgKzUw LDEwIEBACiAjZGVmaW5lIEZCX1BBTkNGR19ERUYgMHg4MDAwMTMxMQogI2RlZmluZSBGQl9IU1lO Q19QVUxTRSAoMSA8PCAzMCkKICNkZWZpbmUgRkJfVlNZTkNfUFVMU0UgKDEgPDwgMzApCisjZGVm aW5lIEZCX1ZTWU5DMV9FTkFCTEUgKDEgPDwgMTYpCisjZGVmaW5lIEZCX1ZTWU5DMF9FTkFCTEUg KDEgPDwgMTgpCisjZGVmaW5lIEZCX1ZTWU5DMV9JTlQgKDEgPDwgMCkKKyNkZWZpbmUgRkJfVlNZ TkMwX0lOVCAoMSA8PCAyKQogCiAvKiBQSVggUExMICovCiAjZGVmaW5lIExPT1BDX01JTiAyNApA QCAtMTI2LDYgKzEzMSwxMSBAQCBzdHJ1Y3QgbG9vbmdzb25fcGxhbmUgKmxvb25nc29uX3BsYW5l X2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgaW50IGluZGV4KTsKIC8qIGkyYyAqLwogaW50 IGxvb25nc29uX2RjX2dwaW9faW5pdChzdHJ1Y3QgbG9vbmdzb25fZGV2aWNlICpsZGV2KTsKIAor LyogaXJxICovCitpbnQgbG9vbmdzb25faXJxX2luaXQoc3RydWN0IGxvb25nc29uX2RldmljZSAq bGRldik7CitpbnQgbG9vbmdzb25fY3J0Y19lbmFibGVfdmJsYW5rKHN0cnVjdCBkcm1fY3J0YyAq Y3J0Yyk7Cit2b2lkIGxvb25nc29uX2NydGNfZGlzYWJsZV92Ymxhbmsoc3RydWN0IGRybV9jcnRj ICpjcnRjKTsKKwogLyogZGV2aWNlICovCiB1MzIgbG9vbmdzb25fZ3B1X29mZnNldChzdHJ1Y3Qg ZHJtX3BsYW5lX3N0YXRlICpzdGF0ZSwKIAkJCXN0cnVjdCBsb29uZ3Nvbl9kZXZpY2UgKmRldik7 CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbG9vbmdzb24vbG9vbmdzb25faXJxLmMgYi9k cml2ZXJzL2dwdS9kcm0vbG9vbmdzb24vbG9vbmdzb25faXJxLmMKbmV3IGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggMDAwMDAwMDAwMDAwLi44OWU3MTk4MTE1ZDMKLS0tIC9kZXYvbnVsbAorKysgYi9k cml2ZXJzL2dwdS9kcm0vbG9vbmdzb24vbG9vbmdzb25faXJxLmMKQEAgLTAsMCArMSw4MiBAQAor Ly8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb3ItbGF0ZXIKKy8qIENvcHlyaWdo dCAoQykgMjAyMiBMb29uZ3NvbiBJbmMuICovCisKKyNpbmNsdWRlIDxsaW51eC9wY2kuaD4KKwor I2luY2x1ZGUgPGRybS9kcm1fdmJsYW5rLmg+CisKKyNpbmNsdWRlICJsb29uZ3Nvbl9kcnYuaCIK Kworc3RhdGljIGlycXJldHVybl90IGxvb25nc29uX2lycV9oYW5kbGVyKGludCBpcnEsIHZvaWQg KmFyZykKK3sKKwlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gKHN0cnVjdCBkcm1fZGV2aWNlICop IGFyZzsKKwlzdHJ1Y3QgbG9vbmdzb25fZGV2aWNlICpsZGV2ID0gdG9fbG9vbmdzb25fZGV2aWNl KGRldik7CisJc3RydWN0IGxvb25nc29uX2NydGMgKmxjcnRjOworCXUzMiB2YWw7CisKKwl2YWwg PSBsczdhX21tX3JyZWcobGRldiwgRkJfSU5UX1JFRyk7CisJbHM3YV9tbV93cmVnKGxkZXYsIEZC X0lOVF9SRUcsIHZhbCAmICgweGZmZmYgPDwgMTYpKTsKKworCWlmICh2YWwgJiBGQl9WU1lOQzBf SU5UKQorCQlsY3J0YyA9IGxkZXYtPm1vZGVfaW5mb1swXS5jcnRjOworCWVsc2UgaWYgKHZhbCAm IEZCX1ZTWU5DMV9JTlQpCisJCWxjcnRjID0gbGRldi0+bW9kZV9pbmZvWzFdLmNydGM7CisKKwlk cm1fY3J0Y19oYW5kbGVfdmJsYW5rKCZsY3J0Yy0+YmFzZSk7CisKKwlyZXR1cm4gSVJRX0hBTkRM RUQ7Cit9CisKK2ludCBsb29uZ3Nvbl9pcnFfaW5pdChzdHJ1Y3QgbG9vbmdzb25fZGV2aWNlICps ZGV2KQoreworCWludCByZXQ7CisJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9ICZsZGV2LT5kZXY7 CisJaW50IGlycSA9IHRvX3BjaV9kZXYoZGV2LT5kZXYpLT5pcnE7CisKKwlyZXQgPSBkcm1fdmJs YW5rX2luaXQoZGV2LCBsZGV2LT5udW1fY3J0Yyk7CisJaWYgKHJldCkgeworCQlkZXZfZXJyKGRl di0+ZGV2LCAiRmF0YWwgZXJyb3IgZHVyaW5nIHZibGFuayBpbml0OiAlZFxuIiwgcmV0KTsKKwkJ cmV0dXJuIHJldDsKKwl9CisJRFJNX0lORk8oImRybSB2YmxhbmsgaW5pdCBmaW5pc2hlZFxuIik7 CisKKwlyZXQgPSBkZXZtX3JlcXVlc3RfaXJxKGRldi0+ZGV2LCBpcnEsIGxvb25nc29uX2lycV9o YW5kbGVyLCAwLAorCQkJICAgICAgICJsb29uZ3Nvbi1kcm0iLCBkZXYpOworCWlmIChyZXQpIHsK KwkJZGV2X2VycihkZXYtPmRldiwgIkZhdGFsIGVycm9yIGR1cmluZyBpcnEgaW5zdGFsbDogJWRc biIsIHJldCk7CisJCXJldHVybiByZXQ7CisJfQorCURSTV9JTkZPKCJsb29uZ3NvbiBpcnEgaW5p dGlhbGl6ZWRcbiIpOworCisJcmV0dXJuIDA7Cit9CisKK2ludCBsb29uZ3Nvbl9jcnRjX2VuYWJs ZV92Ymxhbmsoc3RydWN0IGRybV9jcnRjICpjcnRjKQoreworCXN0cnVjdCBsb29uZ3Nvbl9jcnRj ICpsY3J0YyA9IHRvX2xvb25nc29uX2NydGMoY3J0Yyk7CisJc3RydWN0IGxvb25nc29uX2Rldmlj ZSAqbGRldiA9IGxjcnRjLT5sZGV2OworCXUzMiByZWdfdmFsID0gbHM3YV9tbV9ycmVnKGxkZXYs IEZCX0lOVF9SRUcpOworCisJaWYgKGxjcnRjLT5jcnRjX2lkKQorCQlyZWdfdmFsIHw9IEZCX1ZT WU5DMV9FTkFCTEU7CisJZWxzZQorCQlyZWdfdmFsIHw9IEZCX1ZTWU5DMF9FTkFCTEU7CisKKwls czdhX21tX3dyZWcobGRldiwgRkJfSU5UX1JFRywgcmVnX3ZhbCk7CisKKwlyZXR1cm4gMDsKK30K Kwordm9pZCBsb29uZ3Nvbl9jcnRjX2Rpc2FibGVfdmJsYW5rKHN0cnVjdCBkcm1fY3J0YyAqY3J0 YykKK3sKKwlzdHJ1Y3QgbG9vbmdzb25fY3J0YyAqbGNydGMgPSB0b19sb29uZ3Nvbl9jcnRjKGNy dGMpOworCXN0cnVjdCBsb29uZ3Nvbl9kZXZpY2UgKmxkZXYgPSBsY3J0Yy0+bGRldjsKKwl1MzIg cmVnX3ZhbCA9IGxzN2FfbW1fcnJlZyhsZGV2LCBGQl9JTlRfUkVHKTsKKworCWlmIChsY3J0Yy0+ Y3J0Y19pZCkKKwkJcmVnX3ZhbCAmPSB+RkJfVlNZTkMxX0VOQUJMRTsKKwllbHNlCisJCXJlZ192 YWwgJj0gfkZCX1ZTWU5DMF9FTkFCTEU7CisKKwlsczdhX21tX3dyZWcobGRldiwgRkJfSU5UX1JF RywgcmVnX3ZhbCk7Cit9Ci0tIAoyLjI1LjE= ------=_Part_23803_1766653535.1667274309502 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 PkFkZCBMUzdBIERDIHZzeW5jIGludGVycnVwdCBlbmFibGUgYW5kIGNsb3NlIGZ1bmN0aW9uLCBh bmQKcmVnaXN0ZXIgaXJxX2hhbmRsZXIgZnVuY3Rpb24gaW50ZXJmYWNlLgpBZGQgdmJyYW5rIGV2 ZW50IHByb2Nlc3NpbmcgZmxvdy4KCnY0OgotIFJlcGxhY2UgZHJtX2lycV9pbnN0YWxsIHdpdGgg ZGV2bV9yZXF1ZXN0X2lycS4KLSBEZWxldGUgdGhlIGlycV8gaG9va3MgaW4gZHJtX2RyaXZlci4K CnYzOgotIEltcHJvdmUgY29kZSByZWFkYWJpbGl0eS4KLSBVc2UgdGhlIHRvX3BjaV9kZXYgZnVu Y3Rpb24gdG8gZ2V0IHBjaV9kZXYuCgp2MjoKLSBBZGRlZCBlcnJvciBoYW5kbGluZyBpbiB0aGUg bG9vbmdzb25fZHJtX2xvYWQgZnVuY3Rpb24uCgpTaWduZWQtb2ZmLWJ5OiBZaSBMaSAmbHQ7bGl5 aUBsb29uZ3Nvbi5jbiZndDsKU2lnbmVkLW9mZi1ieTogQ2hlbnlhbmcgTGkgJmx0O2xpY2hlbnlh bmdAbG9vbmdzb24uY24mZ3Q7Ci0tLQogZHJpdmVycy9ncHUvZHJtL2xvb25nc29uL01ha2VmaWxl ICAgICAgICB8ICAxICsKIGRyaXZlcnMvZ3B1L2RybS9sb29uZ3Nvbi9sb29uZ3Nvbl9jcnRjLmMg fCAzNyArKysrKysrKysrKwogZHJpdmVycy9ncHUvZHJtL2xvb25nc29uL2xvb25nc29uX2Rydi5j ICB8ICA5ICsrLQogZHJpdmVycy9ncHUvZHJtL2xvb25nc29uL2xvb25nc29uX2Rydi5oICB8IDEw ICsrKwogZHJpdmVycy9ncHUvZHJtL2xvb25nc29uL2xvb25nc29uX2lycS5jICB8IDgyICsrKysr KysrKysrKysrKysrKysrKysrKwogNSBmaWxlcyBjaGFuZ2VkLCAxMzggaW5zZXJ0aW9ucygrKSwg MSBkZWxldGlvbigtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvZ3B1L2RybS9sb29uZ3Nv bi9sb29uZ3Nvbl9pcnEuYwoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9sb29uZ3Nvbi9N YWtlZmlsZSBiL2RyaXZlcnMvZ3B1L2RybS9sb29uZ3Nvbi9NYWtlZmlsZQppbmRleCA0YTVmYWI3 ZDAwMGIuLmIwODM4NTRkNzg5YiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2xvb25nc29u L01ha2VmaWxlCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9sb29uZ3Nvbi9NYWtlZmlsZQpAQCAtMTAs NSArMTAsNiBAQCBsb29uZ3Nvbi15IDo9IGxvb25nc29uX2Nvbm5lY3Rvci5vIFwKIAlsb29uZ3Nv bl9kcnYubyBcCiAJbG9vbmdzb25fZW5jb2Rlci5vIFwKIAlsb29uZ3Nvbl9pMmMubyBcCisJbG9v bmdzb25faXJxLm8gXAogCWxvb25nc29uX3BsYW5lLm8KIG9iai0kKENPTkZJR19EUk1fTE9PTkdT T04pICs9IGxvb25nc29uLm8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9sb29uZ3Nvbi9s b29uZ3Nvbl9jcnRjLmMgYi9kcml2ZXJzL2dwdS9kcm0vbG9vbmdzb24vbG9vbmdzb25fY3J0Yy5j CmluZGV4IGE5NzM1ZmJiMWMyZS4uMTBkNmY5YTE2ZjRlIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dw dS9kcm0vbG9vbmdzb24vbG9vbmdzb25fY3J0Yy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9sb29u Z3Nvbi9sb29uZ3Nvbl9jcnRjLmMKQEAgLTMsNiArMyw3IEBACiAKICNpbmNsdWRlICZsdDtkcm0v ZHJtX2ZvdXJjYy5oJmd0OwogI2luY2x1ZGUgJmx0O2RybS9kcm1fZnJhbWVidWZmZXIuaCZndDsK KyNpbmNsdWRlICZsdDtkcm0vZHJtX3ZibGFuay5oJmd0OwogCiAjaW5jbHVkZSAibG9vbmdzb25f ZHJ2LmgiCiAKQEAgLTE2NSw4ICsxNjYsMTQgQEAgc3RhdGljIHZvaWQgbG9vbmdzb25fY3J0Y19h dG9taWNfZW5hYmxlKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKIAlzdHJ1Y3QgbG9vbmdzb25fY3J0 YyAqbGNydGMgPSB0b19sb29uZ3Nvbl9jcnRjKGNydGMpOwogCXUzMiByZWdfb2Zmc2V0ID0gbGNy dGMtJmd0O3JlZ19vZmZzZXQ7CiAKKwlpZiAobGNydGMtJmd0O2NmZ19yZWcgJmFtcDsgQ0ZHX0VO QUJMRSkKKwkJZ290byB2Ymxhbmtfb247CisKIAlsY3J0Yy0mZ3Q7Y2ZnX3JlZyB8PSBDRkdfRU5B QkxFOwogCWxzN2FfbW1fd3JlZyhsZGV2LCBGQl9DRkdfUkVHICsgcmVnX29mZnNldCwgbGNydGMt Jmd0O2NmZ19yZWcpOworCit2Ymxhbmtfb246CisJZHJtX2NydGNfdmJsYW5rX29uKGNydGMpOwog fQogCiBzdGF0aWMgdm9pZCBsb29uZ3Nvbl9jcnRjX2F0b21pY19kaXNhYmxlKHN0cnVjdCBkcm1f Y3J0YyAqY3J0YywKQEAgLTE3OSw2ICsxODYsMzMgQEAgc3RhdGljIHZvaWQgbG9vbmdzb25fY3J0 Y19hdG9taWNfZGlzYWJsZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCiAKIAlsY3J0Yy0mZ3Q7Y2Zn X3JlZyAmYW1wOz0gfkNGR19FTkFCTEU7CiAJbHM3YV9tbV93cmVnKGxkZXYsIEZCX0NGR19SRUcg KyByZWdfb2Zmc2V0LCBsY3J0Yy0mZ3Q7Y2ZnX3JlZyk7CisKKwlzcGluX2xvY2tfaXJxKCZhbXA7 Y3J0Yy0mZ3Q7ZGV2LSZndDtldmVudF9sb2NrKTsKKwlpZiAoY3J0Yy0mZ3Q7c3RhdGUtJmd0O2V2 ZW50KSB7CisJCWRybV9jcnRjX3NlbmRfdmJsYW5rX2V2ZW50KGNydGMsIGNydGMtJmd0O3N0YXRl LSZndDtldmVudCk7CisJCWNydGMtJmd0O3N0YXRlLSZndDtldmVudCA9IE5VTEw7CisJfQorCXNw aW5fdW5sb2NrX2lycSgmYW1wO2NydGMtJmd0O2Rldi0mZ3Q7ZXZlbnRfbG9jayk7CisKKwlkcm1f Y3J0Y192Ymxhbmtfb2ZmKGNydGMpOworfQorCitzdGF0aWMgdm9pZCBsb29uZ3Nvbl9jcnRjX2F0 b21pY19mbHVzaChzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCisJCQkJICAgICAgIHN0cnVjdCBkcm1f YXRvbWljX3N0YXRlICpzdGF0ZSkKK3sKKwlzdHJ1Y3QgZHJtX3BlbmRpbmdfdmJsYW5rX2V2ZW50 ICpldmVudCA9IGNydGMtJmd0O3N0YXRlLSZndDtldmVudDsKKworCWlmICghZXZlbnQpCisJCXJl dHVybjsKKworCWNydGMtJmd0O3N0YXRlLSZndDtldmVudCA9IE5VTEw7CisKKwlzcGluX2xvY2tf aXJxKCZhbXA7Y3J0Yy0mZ3Q7ZGV2LSZndDtldmVudF9sb2NrKTsKKwlpZiAoZHJtX2NydGNfdmJs YW5rX2dldChjcnRjKSA9PSAwKQorCQlkcm1fY3J0Y19hcm1fdmJsYW5rX2V2ZW50KGNydGMsIGV2 ZW50KTsKKwllbHNlCisJCWRybV9jcnRjX3NlbmRfdmJsYW5rX2V2ZW50KGNydGMsIGV2ZW50KTsK KwlzcGluX3VubG9ja19pcnEoJmFtcDtjcnRjLSZndDtkZXYtJmd0O2V2ZW50X2xvY2spOwogfQog CiBzdGF0aWMgZW51bSBkcm1fbW9kZV9zdGF0dXMgbG9vbmdzb25fbW9kZV92YWxpZChzdHJ1Y3Qg ZHJtX2NydGMgKmNydGMsCkBAIC0xOTgsNiArMjMyLDcgQEAgc3RhdGljIGVudW0gZHJtX21vZGVf c3RhdHVzIGxvb25nc29uX21vZGVfdmFsaWQoc3RydWN0IGRybV9jcnRjICpjcnRjLAogCiBzdGF0 aWMgY29uc3Qgc3RydWN0IGRybV9jcnRjX2hlbHBlcl9mdW5jcyBsb29uZ3Nvbl9jcnRjX2hlbHBl cl9mdW5jcyA9IHsKIAkubW9kZV92YWxpZCA9IGxvb25nc29uX21vZGVfdmFsaWQsCisJLmF0b21p Y19mbHVzaCA9IGxvb25nc29uX2NydGNfYXRvbWljX2ZsdXNoLAogCS5hdG9taWNfZW5hYmxlID0g bG9vbmdzb25fY3J0Y19hdG9taWNfZW5hYmxlLAogCS5hdG9taWNfZGlzYWJsZSA9IGxvb25nc29u X2NydGNfYXRvbWljX2Rpc2FibGUsCiAJLm1vZGVfc2V0X25vZmIgPSBsb29uZ3Nvbl9jcnRjX21v ZGVfc2V0X25vZmIsCkBAIC0yMDksNiArMjQ0LDggQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1f Y3J0Y19mdW5jcyBsb29uZ3Nvbl9jcnRjX2Z1bmNzID0gewogCS5yZXNldCA9IGRybV9hdG9taWNf aGVscGVyX2NydGNfcmVzZXQsCiAJLmF0b21pY19kdXBsaWNhdGVfc3RhdGUgPSBkcm1fYXRvbWlj X2hlbHBlcl9jcnRjX2R1cGxpY2F0ZV9zdGF0ZSwKIAkuYXRvbWljX2Rlc3Ryb3lfc3RhdGUgPSBk cm1fYXRvbWljX2hlbHBlcl9jcnRjX2Rlc3Ryb3lfc3RhdGUsCisJLmVuYWJsZV92YmxhbmsgPSBs b29uZ3Nvbl9jcnRjX2VuYWJsZV92YmxhbmssCisJLmRpc2FibGVfdmJsYW5rID0gbG9vbmdzb25f Y3J0Y19kaXNhYmxlX3ZibGFuaywKIH07CiAKIGludCBsb29uZ3Nvbl9jcnRjX2luaXQoc3RydWN0 IGxvb25nc29uX2RldmljZSAqbGRldiwgaW50IGluZGV4KQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2xvb25nc29uL2xvb25nc29uX2Rydi5jIGIvZHJpdmVycy9ncHUvZHJtL2xvb25nc29u L2xvb25nc29uX2Rydi5jCmluZGV4IDkxMjBkODE4OGRkZi4uYzk3MDI5NzBhMDM3IDEwMDY0NAot LS0gYS9kcml2ZXJzL2dwdS9kcm0vbG9vbmdzb24vbG9vbmdzb25fZHJ2LmMKKysrIGIvZHJpdmVy cy9ncHUvZHJtL2xvb25nc29uL2xvb25nc29uX2Rydi5jCkBAIC0yMSw5ICsyMSwxMCBAQAogLyog SW50ZXJmYWNlIGhpc3Rvcnk6CiAgKiAwLjEgLSBvcmlnaW5hbC4KICAqIDAuMiAtIGFkZCBpMmMg YW5kIGNvbm5lY3RvciBkZXRlY3QuCisgKiAwLjMgLSBWYmxhbmsgYW5kIHZzeW5jIGludGVycnVw dCBzdXBwb3J0LgogICovCiAjZGVmaW5lIERSSVZFUl9NQUpPUiAwCi0jZGVmaW5lIERSSVZFUl9N SU5PUiAyCisjZGVmaW5lIERSSVZFUl9NSU5PUiAzCiAKIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJt X21vZGVfY29uZmlnX2Z1bmNzIGxvb25nc29uX21vZGVfZnVuY3MgPSB7CiAJLmZiX2NyZWF0ZSA9 IGRybV9nZW1fZmJfY3JlYXRlLApAQCAtMTY1LDYgKzE2NiwxMiBAQCBzdGF0aWMgaW50IGxvb25n c29uX2RyaXZlcl9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCiAJCWdvdG8gZXJyOwogCX0K IAorCXJldCA9IGxvb25nc29uX2lycV9pbml0KGxkZXYpOworCWlmIChyZXQpIHsKKwkJZGV2X2Vy cihkZXYtJmd0O2RldiwgIkZhdGFsIGVycm9yIGR1cmluZyBpcnEgaW5pdDogJWRcbiIsIHJldCk7 CisJCWdvdG8gZXJyOworCX0KKwogCWRybV9rbXNfaGVscGVyX3BvbGxfaW5pdChkZXYpOwogCWRy bV9tb2RlX2NvbmZpZ19yZXNldChkZXYpOwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v bG9vbmdzb24vbG9vbmdzb25fZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vbG9vbmdzb24vbG9vbmdz b25fZHJ2LmgKaW5kZXggZThjYTBlYWM4MjdjLi5lYzIyZGZmODllODggMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9sb29uZ3Nvbi9sb29uZ3Nvbl9kcnYuaAorKysgYi9kcml2ZXJzL2dwdS9k cm0vbG9vbmdzb24vbG9vbmdzb25fZHJ2LmgKQEAgLTM4LDYgKzM4LDcgQEAKICNkZWZpbmUgRkJf SFNZTkNfUkVHICgweDE0MjApCiAjZGVmaW5lIEZCX1ZESVNQTEFZX1JFRyAoMHgxNDgwKQogI2Rl ZmluZSBGQl9WU1lOQ19SRUcgKDB4MTRhMCkKKyNkZWZpbmUgRkJfSU5UX1JFRyAoMHgxNTcwKQog CiAjZGVmaW5lIENGR19GTVQgR0VOTUFTSygyLCAwKQogI2RlZmluZSBDRkdfRkJTV0lUQ0ggQklU KDcpCkBAIC00OSw2ICs1MCwxMCBAQAogI2RlZmluZSBGQl9QQU5DRkdfREVGIDB4ODAwMDEzMTEK ICNkZWZpbmUgRkJfSFNZTkNfUFVMU0UgKDEgJmx0OyZsdDsgMzApCiAjZGVmaW5lIEZCX1ZTWU5D X1BVTFNFICgxICZsdDsmbHQ7IDMwKQorI2RlZmluZSBGQl9WU1lOQzFfRU5BQkxFICgxICZsdDsm bHQ7IDE2KQorI2RlZmluZSBGQl9WU1lOQzBfRU5BQkxFICgxICZsdDsmbHQ7IDE4KQorI2RlZmlu ZSBGQl9WU1lOQzFfSU5UICgxICZsdDsmbHQ7IDApCisjZGVmaW5lIEZCX1ZTWU5DMF9JTlQgKDEg Jmx0OyZsdDsgMikKIAogLyogUElYIFBMTCAqLwogI2RlZmluZSBMT09QQ19NSU4gMjQKQEAgLTEy Niw2ICsxMzEsMTEgQEAgc3RydWN0IGxvb25nc29uX3BsYW5lICpsb29uZ3Nvbl9wbGFuZV9pbml0 KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIGludCBpbmRleCk7CiAvKiBpMmMgKi8KIGludCBsb29u Z3Nvbl9kY19ncGlvX2luaXQoc3RydWN0IGxvb25nc29uX2RldmljZSAqbGRldik7CiAKKy8qIGly cSAqLworaW50IGxvb25nc29uX2lycV9pbml0KHN0cnVjdCBsb29uZ3Nvbl9kZXZpY2UgKmxkZXYp OworaW50IGxvb25nc29uX2NydGNfZW5hYmxlX3ZibGFuayhzdHJ1Y3QgZHJtX2NydGMgKmNydGMp Owordm9pZCBsb29uZ3Nvbl9jcnRjX2Rpc2FibGVfdmJsYW5rKHN0cnVjdCBkcm1fY3J0YyAqY3J0 Yyk7CisKIC8qIGRldmljZSAqLwogdTMyIGxvb25nc29uX2dwdV9vZmZzZXQoc3RydWN0IGRybV9w bGFuZV9zdGF0ZSAqc3RhdGUsCiAJCQlzdHJ1Y3QgbG9vbmdzb25fZGV2aWNlICpkZXYpOwpkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2xvb25nc29uL2xvb25nc29uX2lycS5jIGIvZHJpdmVy cy9ncHUvZHJtL2xvb25nc29uL2xvb25nc29uX2lycS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu ZGV4IDAwMDAwMDAwMDAwMC4uODllNzE5ODExNWQzCi0tLSAvZGV2L251bGwKKysrIGIvZHJpdmVy cy9ncHUvZHJtL2xvb25nc29uL2xvb25nc29uX2lycS5jCkBAIC0wLDAgKzEsODIgQEAKKy8vIFNQ RFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9yLWxhdGVyCisvKiBDb3B5cmlnaHQgKEMp IDIwMjIgTG9vbmdzb24gSW5jLiAqLworCisjaW5jbHVkZSAmbHQ7bGludXgvcGNpLmgmZ3Q7CisK KyNpbmNsdWRlICZsdDtkcm0vZHJtX3ZibGFuay5oJmd0OworCisjaW5jbHVkZSAibG9vbmdzb25f ZHJ2LmgiCisKK3N0YXRpYyBpcnFyZXR1cm5fdCBsb29uZ3Nvbl9pcnFfaGFuZGxlcihpbnQgaXJx LCB2b2lkICphcmcpCit7CisJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IChzdHJ1Y3QgZHJtX2Rl dmljZSAqKSBhcmc7CisJc3RydWN0IGxvb25nc29uX2RldmljZSAqbGRldiA9IHRvX2xvb25nc29u X2RldmljZShkZXYpOworCXN0cnVjdCBsb29uZ3Nvbl9jcnRjICpsY3J0YzsKKwl1MzIgdmFsOwor CisJdmFsID0gbHM3YV9tbV9ycmVnKGxkZXYsIEZCX0lOVF9SRUcpOworCWxzN2FfbW1fd3JlZyhs ZGV2LCBGQl9JTlRfUkVHLCB2YWwgJmFtcDsgKDB4ZmZmZiAmbHQ7Jmx0OyAxNikpOworCisJaWYg KHZhbCAmYW1wOyBGQl9WU1lOQzBfSU5UKQorCQlsY3J0YyA9IGxkZXYtJmd0O21vZGVfaW5mb1sw XS5jcnRjOworCWVsc2UgaWYgKHZhbCAmYW1wOyBGQl9WU1lOQzFfSU5UKQorCQlsY3J0YyA9IGxk ZXYtJmd0O21vZGVfaW5mb1sxXS5jcnRjOworCisJZHJtX2NydGNfaGFuZGxlX3ZibGFuaygmYW1w O2xjcnRjLSZndDtiYXNlKTsKKworCXJldHVybiBJUlFfSEFORExFRDsKK30KKworaW50IGxvb25n c29uX2lycV9pbml0KHN0cnVjdCBsb29uZ3Nvbl9kZXZpY2UgKmxkZXYpCit7CisJaW50IHJldDsK KwlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gJmFtcDtsZGV2LSZndDtkZXY7CisJaW50IGlycSA9 IHRvX3BjaV9kZXYoZGV2LSZndDtkZXYpLSZndDtpcnE7CisKKwlyZXQgPSBkcm1fdmJsYW5rX2lu aXQoZGV2LCBsZGV2LSZndDtudW1fY3J0Yyk7CisJaWYgKHJldCkgeworCQlkZXZfZXJyKGRldi0m Z3Q7ZGV2LCAiRmF0YWwgZXJyb3IgZHVyaW5nIHZibGFuayBpbml0OiAlZFxuIiwgcmV0KTsKKwkJ cmV0dXJuIHJldDsKKwl9CisJRFJNX0lORk8oImRybSB2YmxhbmsgaW5pdCBmaW5pc2hlZFxuIik7 CisKKwlyZXQgPSBkZXZtX3JlcXVlc3RfaXJxKGRldi0mZ3Q7ZGV2LCBpcnEsIGxvb25nc29uX2ly cV9oYW5kbGVyLCAwLAorCQkJICAgICAgICJsb29uZ3Nvbi1kcm0iLCBkZXYpOworCWlmIChyZXQp IHsKKwkJZGV2X2VycihkZXYtJmd0O2RldiwgIkZhdGFsIGVycm9yIGR1cmluZyBpcnEgaW5zdGFs bDogJWRcbiIsIHJldCk7CisJCXJldHVybiByZXQ7CisJfQorCURSTV9JTkZPKCJsb29uZ3NvbiBp cnEgaW5pdGlhbGl6ZWRcbiIpOworCisJcmV0dXJuIDA7Cit9CisKK2ludCBsb29uZ3Nvbl9jcnRj X2VuYWJsZV92Ymxhbmsoc3RydWN0IGRybV9jcnRjICpjcnRjKQoreworCXN0cnVjdCBsb29uZ3Nv bl9jcnRjICpsY3J0YyA9IHRvX2xvb25nc29uX2NydGMoY3J0Yyk7CisJc3RydWN0IGxvb25nc29u X2RldmljZSAqbGRldiA9IGxjcnRjLSZndDtsZGV2OworCXUzMiByZWdfdmFsID0gbHM3YV9tbV9y cmVnKGxkZXYsIEZCX0lOVF9SRUcpOworCisJaWYgKGxjcnRjLSZndDtjcnRjX2lkKQorCQlyZWdf dmFsIHw9IEZCX1ZTWU5DMV9FTkFCTEU7CisJZWxzZQorCQlyZWdfdmFsIHw9IEZCX1ZTWU5DMF9F TkFCTEU7CisKKwlsczdhX21tX3dyZWcobGRldiwgRkJfSU5UX1JFRywgcmVnX3ZhbCk7CisKKwly ZXR1cm4gMDsKK30KKwordm9pZCBsb29uZ3Nvbl9jcnRjX2Rpc2FibGVfdmJsYW5rKHN0cnVjdCBk cm1fY3J0YyAqY3J0YykKK3sKKwlzdHJ1Y3QgbG9vbmdzb25fY3J0YyAqbGNydGMgPSB0b19sb29u Z3Nvbl9jcnRjKGNydGMpOworCXN0cnVjdCBsb29uZ3Nvbl9kZXZpY2UgKmxkZXYgPSBsY3J0Yy0m Z3Q7bGRldjsKKwl1MzIgcmVnX3ZhbCA9IGxzN2FfbW1fcnJlZyhsZGV2LCBGQl9JTlRfUkVHKTsK KworCWlmIChsY3J0Yy0mZ3Q7Y3J0Y19pZCkKKwkJcmVnX3ZhbCAmYW1wOz0gfkZCX1ZTWU5DMV9F TkFCTEU7CisJZWxzZQorCQlyZWdfdmFsICZhbXA7PSB+RkJfVlNZTkMwX0VOQUJMRTsKKworCWxz N2FfbW1fd3JlZyhsZGV2LCBGQl9JTlRfUkVHLCByZWdfdmFsKTsKK30KLS0gCjIuMjUuMTwvcHJl PjwvZGl2Pgo8L2Rpdj48IS0t77+9LS0+CjwvZGl2Pgo8L2JvZHk+CjwvaHRtbD4= ------=_Part_23803_1766653535.1667274309502--