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=-14.7 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,INCLUDES_CR_TRAILER,INCLUDES_PATCH,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS autolearn=ham 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 4C674C636CA for ; Thu, 15 Jul 2021 23:51:23 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 0597B613DF for ; Thu, 15 Jul 2021 23:51:23 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 0597B613DF Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=kernel.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-mediatek-bounces+linux-mediatek=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:Cc:To:Subject:Message-ID:Date:From: In-Reply-To:References:MIME-Version:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=cYyrhSob/RVu9av9uUhIj6to6ZLLOgNlJCeibJwxoR4=; b=kGVpk38yQCuuxW JqRS6DMUPS0bUMqOIfrZy9PUmViZI8oA8rETscxzwZwKxQQt9qF6jor0cWv8E8VddY/bEX8rrdmIq VNcPcAuUNSZAEAVMj+kIhVGx8UIZE9N/gd3UVna5GPfIH+tOMz+Xi3P7kF+tVJhBv0zOeqJPpdmnU rkK+m23tjYxsC6Bwh+jH3mDJ8bclTLxtNr5XAkheKvCxWgnyyOtapjxsHlw5AGJR+9OFGCShSM0cW DPYGz4h7WM0vGPeUqo22WhcMngvWZDi+n1x4ldt83LPDUDAkMvEi4NvAdLDtyk1suIRVEhi1vccbo mcTq4ofLko744JOjT0BA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1m4B8E-002i1f-Dv; Thu, 15 Jul 2021 23:51:06 +0000 Received: from mail.kernel.org ([198.145.29.99]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1m4B80-002i0s-Kg; Thu, 15 Jul 2021 23:50:55 +0000 Received: by mail.kernel.org (Postfix) with ESMTPSA id 2AE5F613E3; Thu, 15 Jul 2021 23:50:52 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1626393052; bh=6rFs7zva+TzaFNhn87o9svobr05XyFTMxIejTDbkT3s=; h=References:In-Reply-To:From:Date:Subject:To:Cc:From; b=W6ODomE+LIO3DT+rqEVbPzOJfIXXbPYc3CkhSEruPsSAvXB6VbvOIejkdi76AeY9p bawxBoggxkWwiHvJkHx3vnmwZoYKKUCcVIVPJq9GOu6pANh2/LUkU71GjwEq43Wloq NWDVtF0jD73jAu8LQckdrkc1ehqKHJ3cpMbGgbzDM9xF857OJT/jgo86c1JYOFeRyk sCncpeNE5PKt/YzGN0QtPGYu4m8F6zkASBYci2rYMIFwpkLjxJt/AvKHqjzYhnUCbT QA215iyyloYOaPL0PC60iaSsxJ+Q4GluxaJ7mNfPKsNxYVwZu66Oj08chwS4oWBkqu XWv6Oasks1zsw== Received: by mail-ej1-f46.google.com with SMTP id oz7so8383522ejc.2; Thu, 15 Jul 2021 16:50:52 -0700 (PDT) X-Gm-Message-State: AOAM532PWrccv2qWvbPqCpj1F+65VUtlNuUIh6WzSlSSomHXMZkm/gUf rX8/4HJjP0QOrBNBsm3QnDi+r6tn4SWaytErZw== X-Google-Smtp-Source: ABdhPJxjG6V4WzT+dHnjlHBU+mPBLnQxQc6/gyc0Y7Xhkk4yiGsBNivJkMAE4ggpdxlFGnBoMrtJrFQvgpA396JMYH8= X-Received: by 2002:a17:906:c097:: with SMTP id f23mr7219410ejz.194.1626393050592; Thu, 15 Jul 2021 16:50:50 -0700 (PDT) MIME-Version: 1.0 References: <20210715173750.10852-1-jason-jh.lin@mediatek.com> <20210715173750.10852-13-jason-jh.lin@mediatek.com> In-Reply-To: <20210715173750.10852-13-jason-jh.lin@mediatek.com> From: Chun-Kuang Hu Date: Fri, 16 Jul 2021 07:50:39 +0800 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH v3 12/12] drm/mediatek: add MERGE support for MT8195 To: "jason-jh.lin" Cc: Chun-Kuang Hu , Matthias Brugger , Linux ARM , "moderated list:ARM/Mediatek SoC support" , linux-kernel , Project_Global_Chrome_Upstream_Group@mediatek.com, fshao@google.com, Nancy Lin , singo.chang@mediatek.com X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210715_165052_781268_281D18AC X-CRM114-Status: GOOD ( 24.08 ) X-BeenThere: linux-mediatek@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "Linux-mediatek" Errors-To: linux-mediatek-bounces+linux-mediatek=archiver.kernel.org@lists.infradead.org SGksIEphc29uOgoKamFzb24tamgubGluIDxqYXNvbi1qaC5saW5AbWVkaWF0ZWsuY29tPiDmlrwg MjAyMeW5tDfmnIgxNuaXpSDpgLHkupQg5LiK5Y2IMTozOOWvq+mBk++8mgo+Cj4gMS4gQWRkIE1F UkdFIG1vZHVsZSBmaWxlOgo+ICAgIE1FUkdFIG1vZHVsZSBpcyB1c2VkIHRvIG1lcmdlIHR3byBz bGljZS1wZXItbGluZSBpbnB1dHMKPiAgICBpbnRvIG9uZSBzaWRlLWJ5LXNpZGUgb3V0cHV0Lgo+ Cj4gMi4gQWRkIFJFR19GTEQgbWFjcm8gaW4gbXRrX2RlbV9jcnRjIGhlYWRlciB0byBzdXBwb3J0 Cj4gICAgYml0d2lzZSByZWdpc3RlciBzZXR0aW5ncy4KPgo+IENoYW5nZS1JZDogSWUxOTZhYTYx NjYxZWFmN2QwOTU5NDgyZDM3MDBmMzI0MmRlMzJlNWUKPiBTaWduZWQtb2ZmLWJ5OiBqYXNvbi1q aC5saW4gPGphc29uLWpoLmxpbkBtZWRpYXRlay5jb20+Cj4gLS0tCj4gIGRyaXZlcnMvZ3B1L2Ry bS9tZWRpYXRlay9NYWtlZmlsZSAgICAgICAgICAgfCAgIDEgKwo+ICBkcml2ZXJzL2dwdS9kcm0v bWVkaWF0ZWsvbXRrX2Rpc3BfZHJ2LmggICAgIHwgICA4ICsKPiAgZHJpdmVycy9ncHUvZHJtL21l ZGlhdGVrL210a19kaXNwX21lcmdlLmMgICB8IDM3MiArKysrKysrKysrKysrKysrKysrKwo+ICBk cml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9jcnRjLmggICAgIHwgIDE0ICsKPiAgZHJp dmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1fZGRwX2NvbXAuYyB8ICAxNiArCj4gIGRyaXZl cnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHJtX2RkcF9jb21wLmggfCAgIDEgKwo+ICBkcml2ZXJz L2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9kcnYuYyAgICAgIHwgICA0ICsKPiAgZHJpdmVycy9n cHUvZHJtL21lZGlhdGVrL210a19kcm1fZHJ2LmggICAgICB8ICAgMSArCj4gIDggZmlsZXMgY2hh bmdlZCwgNDE3IGluc2VydGlvbnMoKykKPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvZ3B1 L2RybS9tZWRpYXRlay9tdGtfZGlzcF9tZXJnZS5jCj4KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL21lZGlhdGVrL01ha2VmaWxlIGIvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL01ha2Vm aWxlCj4gaW5kZXggNDQ5NDhlMjIxZmQzLi4yN2M4OTg0N2Q0M2IgMTAwNjQ0Cj4gLS0tIGEvZHJp dmVycy9ncHUvZHJtL21lZGlhdGVrL01ha2VmaWxlCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL21l ZGlhdGVrL01ha2VmaWxlCj4gQEAgLTQsNiArNCw3IEBAIG1lZGlhdGVrLWRybS15IDo9IG10a19k aXNwX2Njb3JyLm8gXAo+ICAgICAgICAgICAgICAgICAgIG10a19kaXNwX2NvbG9yLm8gXAo+ICAg ICAgICAgICAgICAgICAgIG10a19kaXNwX2RzYy5vIFwKPiAgICAgICAgICAgICAgICAgICBtdGtf ZGlzcF9nYW1tYS5vIFwKPiArICAgICAgICAgICAgICAgICBtdGtfZGlzcF9tZXJnZS5vIFwKPiAg ICAgICAgICAgICAgICAgICBtdGtfZGlzcF9vdmwubyBcCj4gICAgICAgICAgICAgICAgICAgbXRr X2Rpc3BfcmRtYS5vIFwKPiAgICAgICAgICAgICAgICAgICBtdGtfZHJtX2NydGMubyBcCj4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZGlzcF9kcnYuaCBiL2RyaXZl cnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZGlzcF9kcnYuaAo+IGluZGV4IGM3ZTliZDM3MGFjZC4u M2UyN2NlN2ZlZjU3IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtf ZGlzcF9kcnYuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZGlzcF9kcnYu aAo+IEBAIC01NCw2ICs1NCwxNCBAQCB2b2lkIG10a19nYW1tYV9zZXRfY29tbW9uKHZvaWQgX19p b21lbSAqcmVncywgc3RydWN0IGRybV9jcnRjX3N0YXRlICpzdGF0ZSk7Cj4gIHZvaWQgbXRrX2dh bW1hX3N0YXJ0KHN0cnVjdCBkZXZpY2UgKmRldik7Cj4gIHZvaWQgbXRrX2dhbW1hX3N0b3Aoc3Ry dWN0IGRldmljZSAqZGV2KTsKPgo+ICtpbnQgbXRrX21lcmdlX2Nsa19lbmFibGUoc3RydWN0IGRl dmljZSAqZGV2KTsKPiArdm9pZCBtdGtfbWVyZ2VfY2xrX2Rpc2FibGUoc3RydWN0IGRldmljZSAq ZGV2KTsKPiArdm9pZCBtdGtfbWVyZ2VfY29uZmlnKHN0cnVjdCBkZXZpY2UgKmRldiwgdW5zaWdu ZWQgaW50IHdpZHRoLAo+ICsgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgaGVpZ2h0 LCB1bnNpZ25lZCBpbnQgdnJlZnJlc2gsCj4gKyAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVk IGludCBicGMsIHN0cnVjdCBjbWRxX3BrdCAqY21kcV9wa3QpOwo+ICt2b2lkIG10a19tZXJnZV9z dGFydChzdHJ1Y3QgZGV2aWNlICpkZXYpOwo+ICt2b2lkIG10a19tZXJnZV9zdG9wKHN0cnVjdCBk ZXZpY2UgKmRldik7Cj4gKwo+ICB2b2lkIG10a19vdmxfYmdjbHJfaW5fb24oc3RydWN0IGRldmlj ZSAqZGV2KTsKPiAgdm9pZCBtdGtfb3ZsX2JnY2xyX2luX29mZihzdHJ1Y3QgZGV2aWNlICpkZXYp Owo+ICB2b2lkIG10a19vdmxfYnlwYXNzX3NoYWRvdyhzdHJ1Y3QgZGV2aWNlICpkZXYpOwo+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2Rpc3BfbWVyZ2UuYyBiL2Ry aXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZGlzcF9tZXJnZS5jCj4gbmV3IGZpbGUgbW9kZSAx MDA2NDQKPiBpbmRleCAwMDAwMDAwMDAwMDAuLjc2OGMyODJkMmQ2Mwo+IC0tLSAvZGV2L251bGwK PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2Rpc3BfbWVyZ2UuYwo+IEBAIC0w LDAgKzEsMzcyIEBACj4gKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wCj4gKy8q Cj4gKyAqIENvcHlyaWdodCAoYykgMjAyMSBNZWRpYVRlayBJbmMuCj4gKyAqLwo+ICsKPiArI2lu Y2x1ZGUgPGxpbnV4L2Nsay5oPgo+ICsjaW5jbHVkZSA8bGludXgvY29tcG9uZW50Lmg+Cj4gKyNp bmNsdWRlIDxsaW51eC9vZl9kZXZpY2UuaD4KPiArI2luY2x1ZGUgPGxpbnV4L29mX2lycS5oPgo+ ICsjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+Cj4gKyNpbmNsdWRlIDxsaW51eC9z b2MvbWVkaWF0ZWsvbXRrLWNtZHEuaD4KPiArCj4gKyNpbmNsdWRlICJtdGtfZHJtX2NydGMuaCIK PiArI2luY2x1ZGUgIm10a19kcm1fZGRwX2NvbXAuaCIKPiArI2luY2x1ZGUgIm10a19kcm1fZHJ2 LmgiCj4gKyNpbmNsdWRlICJtdGtfZGlzcF9kcnYuaCIKPiArCj4gKyNkZWZpbmUgRElTUF9SRUdf TUVSR0VfQ1RSTCAoMHgwMDApCj4gKyNkZWZpbmUgRkxEX01FUkdFX0VOIEJJVCgwKQo+ICsjZGVm aW5lIEZMRF9NRVJHRV9SU1QgQklUKDQpCj4gKyNkZWZpbmUgRkxEX01FUkdFX0xSX1NXQVAgQklU KDgpCj4gKyNkZWZpbmUgRkxEX01FUkdFX0RDTV9ESVMgQklUKDEyKQo+ICsjZGVmaW5lIERJU1Bf TUVSR0VfQ0ZHXzAgICAgICAgICAgICAgICAweDAxMAo+ICsjZGVmaW5lIERJU1BfTUVSR0VfQ0ZH XzQgICAgICAgICAgICAgICAweDAyMAo+ICsjZGVmaW5lIERJU1BfTUVSR0VfQ0ZHXzEwICAgICAg MHgwMzgKPiArI2RlZmluZSBESVNQX01FUkdFX0NGR18xMiAgICAgIDB4MDQwCj4gKyNkZWZpbmUg Q0ZHXzEwXzEwXzFQSV8yUE9fQlVGX01PREUgICAgIDYKPiArI2RlZmluZSBDRkdfMTBfMTBfMlBJ XzJQT19CVUZfTU9ERSAgICAgOAo+ICsjZGVmaW5lIERJU1BfTUVSR0VfQ0ZHXzI0ICAgICAgMHgw NzAKPiArI2RlZmluZSBESVNQX01FUkdFX0NGR18yNSAgICAgIDB4MDc0Cj4gKyNkZWZpbmUgRElT UF9NRVJHRV9DRkdfMzYgICAgICAweDBhMAo+ICsjZGVmaW5lIERJU1BfTUVSR0VfQ0ZHXzM2X0ZM RF9VTFRSQV9FTiBSRUdfRkxEKDEsIDApCgojZGVmaW5lIERJU1BfTUVSR0VfQ0ZHXzM2X0ZMRF9V TFRSQV9FTiBHRU5NQVNLKDEsIDApCgo+ICsjZGVmaW5lIERJU1BfTUVSR0VfQ0ZHXzM2X0ZMRF9Q UkVVTFRSQV9FTiBSRUdfRkxEKDEsIDQpCj4gKyNkZWZpbmUgRElTUF9NRVJHRV9DRkdfMzZfRkxE X0hBTFRfRk9SX0RWRlNfRU4gUkVHX0ZMRCgxLCA4KQo+ICsjZGVmaW5lIERJU1BfTUVSR0VfQ0ZH XzM2X1ZBTF9VTFRSQV9FTih2YWwpIFwKPiArICAgICAgIFJFR19GTERfVkFMKERJU1BfTUVSR0Vf Q0ZHXzM2X0ZMRF9VTFRSQV9FTiwgdmFsKQo+ICsjZGVmaW5lIERJU1BfTUVSR0VfQ0ZHXzM2X1ZB TF9QUkVVTFRSQV9FTih2YWwpIFwKPiArICAgICAgIFJFR19GTERfVkFMKERJU1BfTUVSR0VfQ0ZH XzM2X0ZMRF9QUkVVTFRSQV9FTiwgdmFsKQo+ICsjZGVmaW5lIERJU1BfTUVSR0VfQ0ZHXzM2X1ZB TF9IQUxUX0ZPUl9EVkZTX0VOKHZhbCkgXAo+ICsgICAgICAgUkVHX0ZMRF9WQUwoRElTUF9NRVJH RV9DRkdfMzZfRkxEX0hBTFRfRk9SX0RWRlNfRU4sIHZhbCkKPiArI2RlZmluZSBESVNQX01FUkdF X0NGR18zNyAgICAgIDB4MGE0Cj4gKyNkZWZpbmUgRElTUF9NRVJHRV9DRkdfMzdfRkxEX0JVRkZF Ul9NT0RFIFJFR19GTEQoMiwgMCkKPiArI2RlZmluZSBESVNQX01FUkdFX0NGR18zN19WQUxfQlVG RkVSX01PREUodmFsKSBcCj4gKyAgICAgICBSRUdfRkxEX1ZBTChESVNQX01FUkdFX0NGR18zN19G TERfQlVGRkVSX01PREUsIHZhbCkKPiArI2RlZmluZSBESVNQX01FUkdFX0NGR18zOCAgICAgIDB4 MGE4Cj4gKyNkZWZpbmUgRElTUF9NRVJHRV9DRkdfMzhfRkxEX1ZERV9CTE9DS19VTFRSQSBSRUdf RkxEKDEsIDApCj4gKyNkZWZpbmUgRElTUF9NRVJHRV9DRkdfMzhfRkxEX1ZBTElEX1RIX0JMT0NL X1VMVFJBIFJFR19GTEQoMSwgNCkKPiArI2RlZmluZSBESVNQX01FUkdFX0NGR18zOF9GTERfVUxU UkFfRklGT19WQUxJRF9USCBSRUdfRkxEKDE2LCAxNikKPiArI2RlZmluZSBESVNQX01FUkdFX0NG R18zOF9WQUxfVkRFX0JMT0NLX1VMVFJBKHZhbCkgXAo+ICsgICAgICAgUkVHX0ZMRF9WQUwoRElT UF9NRVJHRV9DRkdfMzhfRkxEX1ZERV9CTE9DS19VTFRSQSwgdmFsKQo+ICsjZGVmaW5lIERJU1Bf TUVSR0VfQ0ZHXzM4X1ZBTF9WQUxJRF9USF9CTE9DS19VTFRSQSh2YWwpIFwKPiArICAgICAgIFJF R19GTERfVkFMKERJU1BfTUVSR0VfQ0ZHXzM4X0ZMRF9WQUxJRF9USF9CTE9DS19VTFRSQSwgdmFs KQo+ICsjZGVmaW5lIERJU1BfTUVSR0VfQ0ZHXzM4X1ZBTF9VTFRSQV9GSUZPX1ZBTElEX1RIKHZh bCkgXAo+ICsgICAgICAgUkVHX0ZMRF9WQUwoRElTUF9NRVJHRV9DRkdfMzhfRkxEX1VMVFJBX0ZJ Rk9fVkFMSURfVEgsIHZhbCkKPiArI2RlZmluZSBESVNQX01FUkdFX0NGR18zOSAgICAgIDB4MGFj Cj4gKyNkZWZpbmUgRElTUF9NRVJHRV9DRkdfMzlfRkxEX05WREVfRk9SQ0VfUFJFVUxUUkEgUkVH X0ZMRCgxLCA4KQo+ICsjZGVmaW5lIERJU1BfTUVSR0VfQ0ZHXzM5X0ZMRF9OVkFMSURfVEhfRk9S Q0VfUFJFVUxUUkEgUkVHX0ZMRCgxLCAxMikKPiArI2RlZmluZSBESVNQX01FUkdFX0NGR18zOV9G TERfUFJFVUxUUkFfRklGT19WQUxJRF9USCBSRUdfRkxEKDE2LCAxNikKPiArI2RlZmluZSBESVNQ X01FUkdFX0NGR18zOV9WQUxfTlZERV9GT1JDRV9QUkVVTFRSQSh2YWwpIFwKPiArICAgICAgIFJF R19GTERfVkFMKERJU1BfTUVSR0VfQ0ZHXzM5X0ZMRF9OVkRFX0ZPUkNFX1BSRVVMVFJBLCB2YWwp Cj4gKyNkZWZpbmUgRElTUF9NRVJHRV9DRkdfMzlfVkFMX05WQUxJRF9USF9GT1JDRV9QUkVVTFRS QSh2YWwpIFwKPiArICAgICAgIFJFR19GTERfVkFMKERJU1BfTUVSR0VfQ0ZHXzM5X0ZMRF9OVkFM SURfVEhfRk9SQ0VfUFJFVUxUUkEsIHZhbCkKPiArI2RlZmluZSBESVNQX01FUkdFX0NGR18zOV9W QUxfUFJFVUxUUkFfRklGT19WQUxJRF9USCh2YWwpIFwKPiArICAgICAgIFJFR19GTERfVkFMKERJ U1BfTUVSR0VfQ0ZHXzM5X0ZMRF9QUkVVTFRSQV9GSUZPX1ZBTElEX1RILCB2YWwpCj4gKyNkZWZp bmUgRElTUF9NRVJHRV9DRkdfNDAgICAgICAweDBiMAo+ICsjZGVmaW5lIERJU1BfTUVSR0VfQ0ZH XzQwX0ZMRF9VTFRSQV9USF9MT1cgUkVHX0ZMRCgxNiwgMCkKPiArI2RlZmluZSBESVNQX01FUkdF X0NGR180MF9GTERfVUxUUkFfVEhfSElHSCBSRUdfRkxEKDE2LCAxNikKPiArI2RlZmluZSBESVNQ X01FUkdFX0NGR180MF9WQUxfVUxUUkFfVEhfTE9XKHZhbCkgXAo+ICsgICAgICAgUkVHX0ZMRF9W QUwoRElTUF9NRVJHRV9DRkdfNDBfRkxEX1VMVFJBX1RIX0xPVywgKHZhbCkpCj4gKyNkZWZpbmUg RElTUF9NRVJHRV9DRkdfNDBfVkFMX1VMVFJBX1RIX0hJR0godmFsKSBcCj4gKyAgICAgICBSRUdf RkxEX1ZBTChESVNQX01FUkdFX0NGR180MF9GTERfVUxUUkFfVEhfSElHSCwgdmFsKQo+ICsjZGVm aW5lIERJU1BfTUVSR0VfQ0ZHXzQxICAgICAgMHgwYjQKPiArI2RlZmluZSBESVNQX01FUkdFX0NG R180MV9GTERfUFJFVUxUUkFfVEhfTE9XIFJFR19GTEQoMTYsIDApCj4gKyNkZWZpbmUgRElTUF9N RVJHRV9DRkdfNDFfRkxEX1BSRVVMVFJBX1RIX0hJR0ggUkVHX0ZMRCgxNiwgMTYpCj4gKyNkZWZp bmUgRElTUF9NRVJHRV9DRkdfNDFfVkFMX1BSRVVMVFJBX1RIX0xPVyh2YWwpIFwKPiArICAgICAg IFJFR19GTERfVkFMKERJU1BfTUVSR0VfQ0ZHXzQxX0ZMRF9QUkVVTFRSQV9USF9MT1csIHZhbCkK PiArI2RlZmluZSBESVNQX01FUkdFX0NGR180MV9WQUxfUFJFVUxUUkFfVEhfSElHSCh2YWwpIFwK PiArICAgICAgIFJFR19GTERfVkFMKERJU1BfTUVSR0VfQ0ZHXzQxX0ZMRF9QUkVVTFRSQV9USF9I SUdILCB2YWwpCj4gKwo+ICtzdHJ1Y3QgbXRrX21lcmdlX2NvbmZpZ19zdHJ1Y3Qgewo+ICsgICAg ICAgdW5zaWduZWQgc2hvcnQgd2lkdGhfcmlnaHQ7Cj4gKyAgICAgICB1bnNpZ25lZCBzaG9ydCB3 aWR0aF9sZWZ0Owo+ICsgICAgICAgdW5zaWduZWQgaW50IGhlaWdodDsKPiArICAgICAgIHVuc2ln bmVkIGludCBtb2RlOwo+ICt9Owo+ICsKPiArc3RydWN0IG10a19kaXNwX21lcmdlIHsKPiArICAg ICAgIGVudW0gbXRrX2RkcF9jb21wX2lkIGNvbXBfaWQ7Cj4gKyAgICAgICBzdHJ1Y3QgZHJtX2Ny dGMgKmNydGM7Cj4gKyAgICAgICBzdHJ1Y3QgY2xrICpjbGs7Cj4gKyAgICAgICBzdHJ1Y3QgY2xr ICphc3luY19jbGs7Cj4gKyAgICAgICB2b2lkIF9faW9tZW0gKnJlZ3M7Cj4gKyAgICAgICBzdHJ1 Y3QgY21kcV9jbGllbnRfcmVnICAgICAgICAgIGNtZHFfcmVnOwo+ICsgICAgICAgdTMyICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBmaWZvX2VuOwo+ICt9Owo+ICsKPiArdm9pZCBtdGtfbWVy Z2Vfc3RhcnQoc3RydWN0IGRldmljZSAqZGV2KQo+ICt7Cj4gKyAgICAgICBzdHJ1Y3QgbXRrX2Rp c3BfbWVyZ2UgKnByaXYgPSBkZXZfZ2V0X2RydmRhdGEoZGV2KTsKPiArCj4gKyAgICAgICBtdGtf ZGRwX3dyaXRlKE5VTEwsIDB4MSwgJnByaXYtPmNtZHFfcmVnLCBwcml2LT5yZWdzLCBESVNQX1JF R19NRVJHRV9DVFJMKTsKPiArfQo+ICsKPiArdm9pZCBtdGtfbWVyZ2Vfc3RvcChzdHJ1Y3QgZGV2 aWNlICpkZXYpCj4gK3sKPiArICAgICAgIHN0cnVjdCBtdGtfZGlzcF9tZXJnZSAqcHJpdiA9IGRl dl9nZXRfZHJ2ZGF0YShkZXYpOwo+ICsKPiArICAgICAgIG10a19kZHBfd3JpdGUoTlVMTCwgMHgw LCAmcHJpdi0+Y21kcV9yZWcsIHByaXYtPnJlZ3MsIERJU1BfUkVHX01FUkdFX0NUUkwpOwo+ICt9 Cj4gKwo+ICtzdGF0aWMgaW50IG10a19tZXJnZV9jaGVja19wYXJhbXMoc3RydWN0IG10a19tZXJn ZV9jb25maWdfc3RydWN0ICptZXJnZV9jb25maWcpCj4gK3sKPiArICAgICAgIGlmICghbWVyZ2Vf Y29uZmlnLT5oZWlnaHQgfHwKPiArICAgICAgICAgICAhbWVyZ2VfY29uZmlnLT53aWR0aF9sZWZ0 IHx8ICFtZXJnZV9jb25maWctPndpZHRoX3JpZ2h0KSB7Cj4gKyAgICAgICAgICAgICAgIHByX2Vy cigiJXM6bWVyZ2UgaW5wdXQgd2lkdGggbCgldSkgdygldSkgaCgldSlcbiIsCj4gKyAgICAgICAg ICAgICAgICAgICAgICBfX2Z1bmNfXywgbWVyZ2VfY29uZmlnLT53aWR0aF9sZWZ0LAo+ICsgICAg ICAgICAgICAgICAgICAgICAgbWVyZ2VfY29uZmlnLT53aWR0aF9yaWdodCwgbWVyZ2VfY29uZmln LT5oZWlnaHQpOwo+ICsgICAgICAgICAgICAgICByZXR1cm4gLUVJTlZBTDsKPiArICAgICAgIH0K PiArICAgICAgIHByX2RlYnVnKCIlczptZXJnZSBpbnB1dCB3aWR0aCBsKCV1KSByKCV1KSBoZWln aHQoJXUpXG4iLAo+ICsgICAgICAgICAgICAgICAgX19mdW5jX18sIG1lcmdlX2NvbmZpZy0+d2lk dGhfbGVmdCwKPiArICAgICAgICAgICAgICAgIG1lcmdlX2NvbmZpZy0+d2lkdGhfcmlnaHQsIG1l cmdlX2NvbmZpZy0+aGVpZ2h0KTsKPiArICAgICAgIHJldHVybiAwOwo+ICt9Cj4gKwo+ICtzdGF0 aWMgaW50IG10a19tZXJnZV9maWZvX3NldHRpbmcoc3RydWN0IG10a19kaXNwX21lcmdlICpwcml2 LAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBjbWRxX3BrdCAq aGFuZGxlKQo+ICt7Cj4gKyAgICAgICBpbnQgdWx0cmFfZW4gPSAxOwo+ICsgICAgICAgaW50IHBy ZXVsdHJhX2VuID0gMTsKPiArICAgICAgIGludCBoYWx0X2Zvcl9kdmZzX2VuID0gMDsKPiArICAg ICAgIGludCBidWZmZXJfbW9kZSA9IDM7CgpFeHBsYWluIHdoYXQgaXMgYnVmZmVyX21vZGUgMy4K Cj4gKyAgICAgICBpbnQgdmRlX2Jsb2NrX3VsdHJhID0gMDsKPiArICAgICAgIGludCB2YWxpZF90 aF9ibG9ja191bHRyYSA9IDA7Cj4gKyAgICAgICBpbnQgdWx0cmFfZmlmb192YWxpZF90aCA9IDA7 Cj4gKyAgICAgICBpbnQgbnZkZV9mb3JjZV9wcmV1bHRyYSA9IDA7Cj4gKyAgICAgICBpbnQgbnZh bGlkX3RoX2ZvcmNlX3ByZXVsdHJhID0gMDsKPiArICAgICAgIGludCBwcmV1bHRyYV9maWZvX3Zh bGlkX3RoID0gMDsKPiArICAgICAgIGludCB1bHRyYV90aF9sb3cgPSAweGUxMDsKPiArICAgICAg IGludCB1bHRyYV90aF9oaWdoID0gMHgxMmMwOwo+ICsgICAgICAgaW50IHByZXVsdHJhX3RoX2xv dyA9IDB4MTJjMDsKPiArICAgICAgIGludCBwcmV1bHRyYV90aF9oaWdoID0gMHgxNTE4OwoKRm9y IHRoZSB0aHJlc2hvbGQsIEkgd291bGQgbGlrZSBzb21lIGZvcm11bGEgbGlrZSBSRE1BIHRocmVz aG9sZCwKCi8qCiogRW5hYmxlIEZJRk8gdW5kZXJmbG93IHNpbmNlIERTSSBhbmQgRFBJIGNhbid0 IGJlIGJsb2NrZWQuCiogS2VlcCB0aGUgRklGTyBwc2V1ZG8gc2l6ZSByZXNldCBkZWZhdWx0IG9m IDggS2lCLiBTZXQgdGhlCiogb3V0cHV0IHRocmVzaG9sZCB0byA2IG1pY3Jvc2Vjb25kcyB3aXRo IDcvNiBvdmVyaGVhZCB0bwoqIGFjY291bnQgZm9yIGJsYW5raW5nLCBhbmQgd2l0aCBhIHBpeGVs IGRlcHRoIG9mIDQgYnl0ZXM6CiovCnRocmVzaG9sZCA9IHdpZHRoICogaGVpZ2h0ICogdnJlZnJl c2ggKiA0ICogNyAvIDEwMDAwMDA7CgoKPiArCj4gKyAgICAgICBtdGtfZGRwX3dyaXRlX21hc2so aGFuZGxlLAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgIERJU1BfTUVSR0VfQ0ZHXzM2X1ZB TF9VTFRSQV9FTih1bHRyYV9lbikgfAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgIERJU1Bf TUVSR0VfQ0ZHXzM2X1ZBTF9QUkVVTFRSQV9FTihwcmV1bHRyYV9lbikgfAo+ICsgICAgICAgICAg ICAgICAgICAgICAgICAgIERJU1BfTUVSR0VfQ0ZHXzM2X1ZBTF9IQUxUX0ZPUl9EVkZTX0VOKGhh bHRfZm9yX2R2ZnNfZW4pLAoKQWxpZ24gdG8gdGhlIGNvZGluZyBzdHlsZSBvZiBvdGhlciBzdWIg ZHJpdmVyLAoKaGFsdF9mb3JfZHZmc19lbiA8PCA4IHwgcHJldWx0cmFfZW4gPDwgNCB8IHVsdHJh X2VuIDw8IDAsCgoKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAmcHJpdi0+Y21kcV9yZWcs IHByaXYtPnJlZ3MsIERJU1BfTUVSR0VfQ0ZHXzM2LAo+ICsgICAgICAgICAgICAgICAgICAgICAg ICAgIFJFR19GTERfTUFTSyhESVNQX01FUkdFX0NGR18zNl9GTERfVUxUUkFfRU4pIHwKPiArICAg ICAgICAgICAgICAgICAgICAgICAgICBSRUdfRkxEX01BU0soRElTUF9NRVJHRV9DRkdfMzZfRkxE X1BSRVVMVFJBX0VOKSB8Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgUkVHX0ZMRF9NQVNL KERJU1BfTUVSR0VfQ0ZHXzM2X0ZMRF9IQUxUX0ZPUl9EVkZTX0VOKSk7CgpBbGlnbiB0byB0aGUg Y29kaW5nIHN0eWxlIG9mIG90aGVyIHN1YiBkcml2ZXIsCgpESVNQX01FUkdFX0NGR18zNl9GTERf SEFMVF9GT1JfRFZGU19FTiB8CkRJU1BfTUVSR0VfQ0ZHXzM2X0ZMRF9QUkVVTFRSQV9FTiB8IERJ U1BfTUVSR0VfQ0ZHXzM2X0ZMRF9VTFRSQV9FTgoKPiArCj4gKyAgICAgICBtdGtfZGRwX3dyaXRl X21hc2soaGFuZGxlLAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgIERJU1BfTUVSR0VfQ0ZH XzM3X1ZBTF9CVUZGRVJfTU9ERShidWZmZXJfbW9kZSksCj4gKyAgICAgICAgICAgICAgICAgICAg ICAgICAgJnByaXYtPmNtZHFfcmVnLCBwcml2LT5yZWdzLCBESVNQX01FUkdFX0NGR18zNywKPiAr ICAgICAgICAgICAgICAgICAgICAgICAgICBSRUdfRkxEX01BU0soRElTUF9NRVJHRV9DRkdfMzdf RkxEX0JVRkZFUl9NT0RFKSk7Cj4gKwo+ICsgICAgICAgbXRrX2RkcF93cml0ZV9tYXNrKGhhbmRs ZSwKPiArICAgICAgICAgICAgICAgICAgICAgICAgICBESVNQX01FUkdFX0NGR18zOF9WQUxfVkRF X0JMT0NLX1VMVFJBKHZkZV9ibG9ja191bHRyYSkgfAo+ICsgICAgICAgICAgICAgICAgICAgICAg ICAgIERJU1BfTUVSR0VfQ0ZHXzM4X1ZBTF9WQUxJRF9USF9CTE9DS19VTFRSQSh2YWxpZF90aF9i bG9ja191bHRyYSkgfAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgIERJU1BfTUVSR0VfQ0ZH XzM4X1ZBTF9VTFRSQV9GSUZPX1ZBTElEX1RIKHVsdHJhX2ZpZm9fdmFsaWRfdGgpLAo+ICsgICAg ICAgICAgICAgICAgICAgICAgICAgICZwcml2LT5jbWRxX3JlZywgcHJpdi0+cmVncywgRElTUF9N RVJHRV9DRkdfMzgsCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgUkVHX0ZMRF9NQVNLKERJ U1BfTUVSR0VfQ0ZHXzM4X0ZMRF9WREVfQkxPQ0tfVUxUUkEpIHwKPiArICAgICAgICAgICAgICAg ICAgICAgICAgICBSRUdfRkxEX01BU0soRElTUF9NRVJHRV9DRkdfMzhfRkxEX1ZBTElEX1RIX0JM T0NLX1VMVFJBKSB8Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgUkVHX0ZMRF9NQVNLKERJ U1BfTUVSR0VfQ0ZHXzM4X0ZMRF9VTFRSQV9GSUZPX1ZBTElEX1RIKSk7Cj4gKwo+ICsgICAgICAg bXRrX2RkcF93cml0ZV9tYXNrKGhhbmRsZSwKPiArICAgICAgICAgICAgICAgICAgICAgICAgICBE SVNQX01FUkdFX0NGR18zOV9WQUxfTlZERV9GT1JDRV9QUkVVTFRSQShudmRlX2ZvcmNlX3ByZXVs dHJhKSB8Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgRElTUF9NRVJHRV9DRkdfMzlfVkFM X05WQUxJRF9USF9GT1JDRV9QUkVVTFRSQQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgKG52YWxpZF90aF9mb3JjZV9wcmV1bHRyYSkgfAo+ICsgICAgICAgICAgICAgICAgICAgICAg ICAgIERJU1BfTUVSR0VfQ0ZHXzM5X1ZBTF9QUkVVTFRSQV9GSUZPX1ZBTElEX1RIKHByZXVsdHJh X2ZpZm9fdmFsaWRfdGgpLAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICZwcml2LT5jbWRx X3JlZywgcHJpdi0+cmVncywgRElTUF9NRVJHRV9DRkdfMzksCj4gKyAgICAgICAgICAgICAgICAg ICAgICAgICAgUkVHX0ZMRF9NQVNLKERJU1BfTUVSR0VfQ0ZHXzM5X0ZMRF9OVkRFX0ZPUkNFX1BS RVVMVFJBKSB8Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgUkVHX0ZMRF9NQVNLKERJU1Bf TUVSR0VfQ0ZHXzM5X0ZMRF9OVkFMSURfVEhfRk9SQ0VfUFJFVUxUUkEpIHwKPiArICAgICAgICAg ICAgICAgICAgICAgICAgICBSRUdfRkxEX01BU0soRElTUF9NRVJHRV9DRkdfMzlfRkxEX1BSRVVM VFJBX0ZJRk9fVkFMSURfVEgpKTsKPiArCj4gKyAgICAgICBtdGtfZGRwX3dyaXRlX21hc2soaGFu ZGxlLAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgIERJU1BfTUVSR0VfQ0ZHXzQwX1ZBTF9V TFRSQV9USF9MT1codWx0cmFfdGhfbG93KSB8Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAg RElTUF9NRVJHRV9DRkdfNDBfVkFMX1VMVFJBX1RIX0hJR0godWx0cmFfdGhfaGlnaCksCj4gKyAg ICAgICAgICAgICAgICAgICAgICAgICAgJnByaXYtPmNtZHFfcmVnLCBwcml2LT5yZWdzLCBESVNQ X01FUkdFX0NGR180MCwKPiArICAgICAgICAgICAgICAgICAgICAgICAgICBSRUdfRkxEX01BU0so RElTUF9NRVJHRV9DRkdfNDBfRkxEX1VMVFJBX1RIX0xPVykgfAo+ICsgICAgICAgICAgICAgICAg ICAgICAgICAgIFJFR19GTERfTUFTSyhESVNQX01FUkdFX0NGR180MF9GTERfVUxUUkFfVEhfSElH SCkpOwo+ICsKPiArICAgICAgIG10a19kZHBfd3JpdGVfbWFzayhoYW5kbGUsCj4gKyAgICAgICAg ICAgICAgICAgICAgICAgICAgRElTUF9NRVJHRV9DRkdfNDFfVkFMX1BSRVVMVFJBX1RIX0xPVyhw cmV1bHRyYV90aF9sb3cpIHwKPiArICAgICAgICAgICAgICAgICAgICAgICAgICBESVNQX01FUkdF X0NGR180MV9WQUxfUFJFVUxUUkFfVEhfSElHSChwcmV1bHRyYV90aF9oaWdoKSwKPiArICAgICAg ICAgICAgICAgICAgICAgICAgICAmcHJpdi0+Y21kcV9yZWcsIHByaXYtPnJlZ3MsIERJU1BfTUVS R0VfQ0ZHXzQxLAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgIFJFR19GTERfTUFTSyhESVNQ X01FUkdFX0NGR180MV9GTERfUFJFVUxUUkFfVEhfTE9XKSB8Cj4gKyAgICAgICAgICAgICAgICAg ICAgICAgICAgUkVHX0ZMRF9NQVNLKERJU1BfTUVSR0VfQ0ZHXzQxX0ZMRF9QUkVVTFRSQV9USF9I SUdIKSk7Cj4gKwo+ICsgICAgICAgcmV0dXJuIDA7CgpUaGlzIGZ1bmN0aW9uIGFsd2F5cyByZXR1 cm4gMCwgc28gY2hhbmdlIHRvIHZvaWQuCgo+ICt9Cj4gKwo+ICt2b2lkIG10a19tZXJnZV9jb25m aWcoc3RydWN0IGRldmljZSAqZGV2LCB1bnNpZ25lZCBpbnQgdywKPiArICAgICAgICAgICAgICAg ICAgICAgdW5zaWduZWQgaW50IGgsIHVuc2lnbmVkIGludCB2cmVmcmVzaCwKPiArICAgICAgICAg ICAgICAgICAgICAgdW5zaWduZWQgaW50IGJwYywgc3RydWN0IGNtZHFfcGt0ICpoYW5kbGUpCj4g K3sKPiArICAgICAgIHN0cnVjdCBtdGtfbWVyZ2VfY29uZmlnX3N0cnVjdCBtZXJnZV9jb25maWc7 Cj4gKyAgICAgICBzdHJ1Y3QgbXRrX2Rpc3BfbWVyZ2UgKnByaXYgPSBkZXZfZ2V0X2RydmRhdGEo ZGV2KTsKPiArCj4gKyAgICAgICBpZiAocHJpdi0+Zmlmb19lbikKPiArICAgICAgICAgICAgICAg bXRrX21lcmdlX2ZpZm9fc2V0dGluZyhwcml2LCBoYW5kbGUpOwo+ICsKPiArICAgICAgIHN3aXRj aCAocHJpdi0+Y29tcF9pZCkgewoKSSB0aGluayB5b3Ugc2hvdWxkIHVzZSBwcml2LT5maWZvX2Vu IGluc3RlYWQgb2YgcHJpdi0+Y29tcF9pZC4KCj4gKyAgICAgICBjYXNlIEREUF9DT01QT05FTlRf TUVSR0UwOgo+ICsgICAgICAgICAgICAgICBtZXJnZV9jb25maWcubW9kZSA9IENGR18xMF8xMF8x UElfMlBPX0JVRl9NT0RFOwo+ICsgICAgICAgICAgICAgICBtZXJnZV9jb25maWcud2lkdGhfbGVm dCA9IHc7Cj4gKyAgICAgICAgICAgICAgIG1lcmdlX2NvbmZpZy53aWR0aF9yaWdodCA9IHc7Cj4g KyAgICAgICAgICAgICAgIG1lcmdlX2NvbmZpZy5oZWlnaHQgPSBoOwo+ICsgICAgICAgICAgICAg ICBicmVhazsKPiArICAgICAgIGNhc2UgRERQX0NPTVBPTkVOVF9NRVJHRTU6Cj4gKyAgICAgICAg ICAgICAgIG1lcmdlX2NvbmZpZy5tb2RlID0gQ0ZHXzEwXzEwXzJQSV8yUE9fQlVGX01PREU7Cj4g KyAgICAgICAgICAgICAgIG1lcmdlX2NvbmZpZy53aWR0aF9sZWZ0ID0gdzsKPiArICAgICAgICAg ICAgICAgbWVyZ2VfY29uZmlnLndpZHRoX3JpZ2h0ID0gdzsKPiArICAgICAgICAgICAgICAgbWVy Z2VfY29uZmlnLmhlaWdodCA9IGg7Cj4gKyAgICAgICAgICAgICAgIGJyZWFrOwo+ICsgICAgICAg ZGVmYXVsdDoKPiArICAgICAgICAgICAgICAgcHJfZXJyKCJObyBmaW5kIGNvbXBvbmVudCBtZXJn ZSAlZFxuIiwgcHJpdi0+Y29tcF9pZCk7Cj4gKyAgICAgICAgICAgICAgIHJldHVybjsKPiArICAg ICAgIH0KPiArCj4gKyAgICAgICBtdGtfbWVyZ2VfY2hlY2tfcGFyYW1zKCZtZXJnZV9jb25maWcp OwoKSSB0aGluayB5b3Ugc2hvdWxkIHJlbW92ZSBtdGtfbWVyZ2VfY2hlY2tfcGFyYW1zKCkgYW5k IGRpcmVjdGx5IGNoZWNrCncgYW5kIGgsIGFuZCByZW1vdmUgd2hvbGUgc3dpdGNoIGNhc2UuCgo+ ICsKPiArICAgICAgIG10a19kZHBfd3JpdGUoaGFuZGxlLCAoaCA8PCAxNiB8IHcpLCAmcHJpdi0+ Y21kcV9yZWcsIHByaXYtPnJlZ3MsCj4gKyAgICAgICAgICAgICAgICAgICAgRElTUF9NRVJHRV9D RkdfMCk7Cj4gKwo+ICsgICAgICAgbXRrX2RkcF93cml0ZShoYW5kbGUsIChoIDw8IDE2IHwgdyks ICZwcml2LT5jbWRxX3JlZywgcHJpdi0+cmVncywKPiArICAgICAgICAgICAgICAgICAgICBESVNQ X01FUkdFX0NGR180KTsKPiArCj4gKyAgICAgICBtdGtfZGRwX3dyaXRlKGhhbmRsZSwgKGggPDwg MTYgfCB3KSwgJnByaXYtPmNtZHFfcmVnLCBwcml2LT5yZWdzLAo+ICsgICAgICAgICAgICAgICAg ICAgICAgICAgIERJU1BfTUVSR0VfQ0ZHXzI0KTsKPiArCj4gKyAgICAgICBtdGtfZGRwX3dyaXRl KGhhbmRsZSwgKGggPDwgMTYgfCB3KSwgJnByaXYtPmNtZHFfcmVnLCBwcml2LT5yZWdzLAo+ICsg ICAgICAgICAgICAgICAgICAgICAgICAgIERJU1BfTUVSR0VfQ0ZHXzI1KTsKPiArCj4gKyAgICAg ICAvKiBubyBzd2FwICovCj4gKyAgICAgICBtdGtfZGRwX3dyaXRlX21hc2soaGFuZGxlLCAwLCAm cHJpdi0+Y21kcV9yZWcsIHByaXYtPnJlZ3MsCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAg RElTUF9NRVJHRV9DRkdfMTAsIDB4MWYpOwo+ICsKPiArICAgICAgIG10a19kZHBfd3JpdGVfbWFz ayhoYW5kbGUsIG1lcmdlX2NvbmZpZy5tb2RlLCAmcHJpdi0+Y21kcV9yZWcsIHByaXYtPnJlZ3Ms Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgRElTUF9NRVJHRV9DRkdfMTIsIDB4MWYpOwo+ ICt9Cj4gKwo+ICtpbnQgbXRrX21lcmdlX2Nsa19lbmFibGUoc3RydWN0IGRldmljZSAqZGV2KQo+ ICt7Cj4gKyAgICAgICBpbnQgcmV0ID0gMDsKPiArICAgICAgIHN0cnVjdCBtdGtfZGlzcF9tZXJn ZSAqcHJpdiA9IGRldl9nZXRfZHJ2ZGF0YShkZXYpOwo+ICsKPiArICAgICAgIGlmIChwcml2LT5j bGspIHsKCmNsa19wcmVwYXJlX2VuYWJsZSgpIHdvdWxkIGNoZWNrIHRoaXMsIHNvIHJlbW92ZSB0 aGlzIGNoZWNrLgoKPiArICAgICAgICAgICAgICAgcmV0ID0gY2xrX3ByZXBhcmVfZW5hYmxlKHBy aXYtPmNsayk7Cj4gKyAgICAgICAgICAgICAgIGlmIChyZXQpCj4gKyAgICAgICAgICAgICAgICAg ICAgICAgcHJfZXJyKCJtZXJnZSBjbGsgcHJlcGFyZSBlbmFibGUgZmFpbGVkXG4iKTsKPiArICAg ICAgIH0KPiArCj4gKyAgICAgICBpZiAocHJpdi0+YXN5bmNfY2xrKSB7Cj4gKyAgICAgICAgICAg ICAgIHJldCA9IGNsa19wcmVwYXJlX2VuYWJsZShwcml2LT5hc3luY19jbGspOwo+ICsgICAgICAg ICAgICAgICBpZiAocmV0KQo+ICsgICAgICAgICAgICAgICAgICAgICAgIHByX2VycigiYXN5bmMg Y2xrIHByZXBhcmUgZW5hYmxlIGZhaWxlZFxuIik7Cj4gKyAgICAgICB9Cj4gKwo+ICsgICAgICAg cmV0dXJuIHJldDsKPiArfQo+ICsKPiArdm9pZCBtdGtfbWVyZ2VfY2xrX2Rpc2FibGUoc3RydWN0 IGRldmljZSAqZGV2KQo+ICt7Cj4gKyAgICAgICBzdHJ1Y3QgbXRrX2Rpc3BfbWVyZ2UgKnByaXYg PSBkZXZfZ2V0X2RydmRhdGEoZGV2KTsKPiArCj4gKyAgICAgICBpZiAocHJpdi0+YXN5bmNfY2xr KQo+ICsgICAgICAgICAgICAgICBjbGtfZGlzYWJsZV91bnByZXBhcmUocHJpdi0+YXN5bmNfY2xr KTsKPiArCj4gKyAgICAgICBpZiAocHJpdi0+Y2xrKQo+ICsgICAgICAgICAgICAgICBjbGtfZGlz YWJsZV91bnByZXBhcmUocHJpdi0+Y2xrKTsKPiArfQo+ICsKPiArc3RhdGljIGludCBtdGtfZGlz cF9tZXJnZV9iaW5kKHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IGRldmljZSAqbWFzdGVyLAo+ ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICpkYXRhKQo+ICt7Cj4gKyAgICAg ICByZXR1cm4gMDsKPiArfQo+ICsKPiArc3RhdGljIHZvaWQgbXRrX2Rpc3BfbWVyZ2VfdW5iaW5k KHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IGRldmljZSAqbWFzdGVyLAo+ICsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB2b2lkICpkYXRhKQo+ICt7Cj4gK30KPiArCj4gK3N0YXRp YyBjb25zdCBzdHJ1Y3QgY29tcG9uZW50X29wcyBtdGtfZGlzcF9tZXJnZV9jb21wb25lbnRfb3Bz ID0gewo+ICsgICAgICAgLmJpbmQgICA9IG10a19kaXNwX21lcmdlX2JpbmQsCj4gKyAgICAgICAu dW5iaW5kID0gbXRrX2Rpc3BfbWVyZ2VfdW5iaW5kLAo+ICt9Owo+ICsKPiArc3RhdGljIGludCBt dGtfZGlzcF9tZXJnZV9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQo+ICt7Cj4g KyAgICAgICBzdHJ1Y3QgZGV2aWNlICpkZXYgPSAmcGRldi0+ZGV2Owo+ICsgICAgICAgc3RydWN0 IHJlc291cmNlICpyZXM7Cj4gKyAgICAgICBzdHJ1Y3QgbXRrX2Rpc3BfbWVyZ2UgKnByaXY7Cj4g KyAgICAgICBlbnVtIG10a19kZHBfY29tcF9pZCBjb21wX2lkOwo+ICsgICAgICAgaW50IHJldDsK PiArCj4gKyAgICAgICBwcml2ID0gZGV2bV9remFsbG9jKGRldiwgc2l6ZW9mKCpwcml2KSwgR0ZQ X0tFUk5FTCk7Cj4gKyAgICAgICBpZiAoIXByaXYpCj4gKyAgICAgICAgICAgICAgIHJldHVybiAt RU5PTUVNOwo+ICsKPiArICAgICAgIGNvbXBfaWQgPSBtdGtfZGRwX2NvbXBfZ2V0X2lkKGRldi0+ b2Zfbm9kZSwgTVRLX0RJU1BfTUVSR0UpOwo+ICsgICAgICAgaWYgKChpbnQpY29tcF9pZCA8IDAp IHsKPiArICAgICAgICAgICAgICAgZGV2X2VycihkZXYsICJGYWlsZWQgdG8gaWRlbnRpZnkgYnkg YWxpYXM6ICVkXG4iLCBjb21wX2lkKTsKPiArICAgICAgICAgICAgICAgcmV0dXJuIGNvbXBfaWQ7 Cj4gKyAgICAgICB9Cj4gKwo+ICsgICAgICAgcHJpdi0+Y29tcF9pZCA9IGNvbXBfaWQ7Cj4gKwo+ ICsgICAgICAgcHJpdi0+Y2xrID0gZGV2bV9jbGtfZ2V0KGRldiwgTlVMTCk7Cj4gKyAgICAgICBp ZiAoSVNfRVJSKHByaXYtPmNsaykpIHsKPiArICAgICAgICAgICAgICAgZGV2X2VycihkZXYsICJm YWlsZWQgdG8gZ2V0IG1lcmdlIGNsa1xuIik7Cj4gKyAgICAgICAgICAgICAgIHJldHVybiBQVFJf RVJSKHByaXYtPmNsayk7Cj4gKyAgICAgICB9Cj4gKwo+ICsgICAgICAgcmVzID0gcGxhdGZvcm1f Z2V0X3Jlc291cmNlKHBkZXYsIElPUkVTT1VSQ0VfTUVNLCAwKTsKPiArICAgICAgIHByaXYtPnJl Z3MgPSBkZXZtX2lvcmVtYXBfcmVzb3VyY2UoZGV2LCByZXMpOwo+ICsgICAgICAgaWYgKElTX0VS Uihwcml2LT5yZWdzKSkgewo+ICsgICAgICAgICAgICAgICBkZXZfZXJyKGRldiwgImZhaWxlZCB0 byBpb3JlbWFwIG1lcmdlXG4iKTsKPiArICAgICAgICAgICAgICAgcmV0dXJuIFBUUl9FUlIocHJp di0+cmVncyk7Cj4gKyAgICAgICB9Cj4gKwo+ICsjaWYgSVNfUkVBQ0hBQkxFKENPTkZJR19NVEtf Q01EUSkKPiArICAgICAgIHJldCA9IGNtZHFfZGV2X2dldF9jbGllbnRfcmVnKGRldiwgJnByaXYt PmNtZHFfcmVnLCAwKTsKPiArICAgICAgIGlmIChyZXQpCj4gKyAgICAgICAgICAgICAgIGRldl9k YmcoZGV2LCAiZ2V0IG1lZGlhdGVrLGdjZS1jbGllbnQtcmVnIGZhaWwhXG4iKTsKPiArI2VuZGlm Cj4gKwo+ICsgICAgICAgcHJpdi0+YXN5bmNfY2xrID0gb2ZfY2xrX2dldChkZXYtPm9mX25vZGUs IDEpOwo+ICsgICAgICAgaWYgKElTX0VSUihwcml2LT5hc3luY19jbGspKSB7Cj4gKyAgICAgICAg ICAgICAgIHJldCA9IFBUUl9FUlIocHJpdi0+YXN5bmNfY2xrKTsKPiArICAgICAgICAgICAgICAg ZGV2X2RiZyhkZXYsICJObyBtZXJnZSBhc3luYyBjbG9jazogJWRcbiIsIHJldCk7Cj4gKyAgICAg ICAgICAgICAgIHByaXYtPmFzeW5jX2NsayA9IE5VTEw7Cj4gKyAgICAgICB9Cj4gKwo+ICsgICAg ICAgcHJpdi0+Zmlmb19lbiA9IG9mX3Byb3BlcnR5X3JlYWRfYm9vbChkZXYtPm9mX25vZGUsCj4g KyAgICAgICAgICAgICAgICJtZWRpYXRlayxtZXJnZS1maWZvLWVuIik7Cj4gKwo+ICsgICAgICAg cGxhdGZvcm1fc2V0X2RydmRhdGEocGRldiwgcHJpdik7Cj4gKwo+ICsgICAgICAgcmV0ID0gY29t cG9uZW50X2FkZChkZXYsICZtdGtfZGlzcF9tZXJnZV9jb21wb25lbnRfb3BzKTsKPiArICAgICAg IGlmIChyZXQgIT0gMCkKPiArICAgICAgICAgICAgICAgZGV2X2VycihkZXYsICJGYWlsZWQgdG8g YWRkIGNvbXBvbmVudDogJWRcbiIsIHJldCk7Cj4gKwo+ICsgICAgICAgcmV0dXJuIHJldDsKPiAr fQo+ICsKPiArc3RhdGljIGludCBtdGtfZGlzcF9tZXJnZV9yZW1vdmUoc3RydWN0IHBsYXRmb3Jt X2RldmljZSAqcGRldikKPiArewo+ICsgICAgICAgY29tcG9uZW50X2RlbCgmcGRldi0+ZGV2LCAm bXRrX2Rpc3BfbWVyZ2VfY29tcG9uZW50X29wcyk7Cj4gKwo+ICsgICAgICAgcmV0dXJuIDA7Cj4g K30KPiArCj4gK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgb2ZfZGV2aWNlX2lkIG10a19kaXNwX21lcmdl X2RyaXZlcl9kdF9tYXRjaFtdID0gewo+ICsgICAgICAgeyAuY29tcGF0aWJsZSA9ICJtZWRpYXRl ayxtdDgxOTUtZGlzcC1tZXJnZSIsIH0sCj4gKyAgICAgICB7fSwKPiArfTsKPiArCj4gK01PRFVM RV9ERVZJQ0VfVEFCTEUob2YsIG10a19kaXNwX21lcmdlX2RyaXZlcl9kdF9tYXRjaCk7Cj4gKwo+ ICtzdHJ1Y3QgcGxhdGZvcm1fZHJpdmVyIG10a19kaXNwX21lcmdlX2RyaXZlciA9IHsKPiArICAg ICAgIC5wcm9iZSA9IG10a19kaXNwX21lcmdlX3Byb2JlLAo+ICsgICAgICAgLnJlbW92ZSA9IG10 a19kaXNwX21lcmdlX3JlbW92ZSwKPiArICAgICAgIC5kcml2ZXIgPSB7Cj4gKyAgICAgICAgICAg ICAgIC5uYW1lID0gIm1lZGlhdGVrLWRpc3AtbWVyZ2UiLAo+ICsgICAgICAgICAgICAgICAub3du ZXIgPSBUSElTX01PRFVMRSwKPiArICAgICAgICAgICAgICAgLm9mX21hdGNoX3RhYmxlID0gbXRr X2Rpc3BfbWVyZ2VfZHJpdmVyX2R0X21hdGNoLAo+ICsgICAgICAgfSwKPiArfTsKPiArCj4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHJtX2NydGMuaCBiL2RyaXZl cnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHJtX2NydGMuaAo+IGluZGV4IGNiOWEzNmM0OGQ0Zi4u NjZkMWNmMDNkZmU4IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtf ZHJtX2NydGMuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHJtX2NydGMu aAo+IEBAIC0xNCw2ICsxNCwyMCBAQAo+ICAjZGVmaW5lIE1US19NQVhfQlBDICAgIDEwCj4gICNk ZWZpbmUgTVRLX01JTl9CUEMgICAgMwo+Cj4gKyNkZWZpbmUgUkVHX0ZMRCh3aWR0aCwgc2hpZnQp IFwKPiArICAgICAgICgodW5zaWduZWQgaW50KSgoKCh3aWR0aCkgJiAweGZmKSA8PCAxNikgfCAo KHNoaWZ0KSAmIDB4ZmYpKSkKPiArCj4gKyNkZWZpbmUgUkVHX0ZMRF9XSURUSChmaWVsZCkgKCh1 bnNpZ25lZCBpbnQpKCgoZmllbGQpID4+IDE2KSAmIDB4ZmYpKQo+ICsKPiArI2RlZmluZSBSRUdf RkxEX1NISUZUKGZpZWxkKSAoKHVuc2lnbmVkIGludCkoKGZpZWxkKSAmIDB4ZmYpKQo+ICsKPiAr I2RlZmluZSBSRUdfRkxEX01BU0soZmllbGQpIFwKPiArICAgICAgICgodW5zaWduZWQgaW50KSgo MVVMTCA8PCBSRUdfRkxEX1dJRFRIKGZpZWxkKSkgLSAxKSBcCj4gKyAgICAgICAgPDwgUkVHX0ZM RF9TSElGVChmaWVsZCkpCj4gKwo+ICsjZGVmaW5lIFJFR19GTERfVkFMKGZpZWxkLCB2YWwpIFwK PiArICAgICAgICgoKHZhbCkgPDwgUkVHX0ZMRF9TSElGVChmaWVsZCkpICYgUkVHX0ZMRF9NQVNL KGZpZWxkKSkKPiArCj4gIHZvaWQgbXRrX2RybV9jcnRjX2NvbW1pdChzdHJ1Y3QgZHJtX2NydGMg KmNydGMpOwo+ICBpbnQgbXRrX2RybV9jcnRjX2NyZWF0ZShzdHJ1Y3QgZHJtX2RldmljZSAqZHJt X2RldiwKPiAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBlbnVtIG10a19kZHBfY29tcF9p ZCAqcGF0aCwKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1f ZGRwX2NvbXAuYyBiL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHJtX2RkcF9jb21wLmMK PiBpbmRleCBiYTNkN2ExY2U3YWIuLjkxMjVkMGY2MzUyZiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJz L2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9kZHBfY29tcC5jCj4gKysrIGIvZHJpdmVycy9ncHUv ZHJtL21lZGlhdGVrL210a19kcm1fZGRwX2NvbXAuYwo+IEBAIC0zNDEsNiArMzQxLDE0IEBAIHN0 YXRpYyBjb25zdCBzdHJ1Y3QgbXRrX2RkcF9jb21wX2Z1bmNzIGRkcF9kc2MgPSB7Cj4gICAgICAg ICAuY2xrX2Rpc2FibGUgPSBtdGtfZHNjX2Nsa19kaXNhYmxlLAo+ICB9Owo+Cj4gK3N0YXRpYyBj b25zdCBzdHJ1Y3QgbXRrX2RkcF9jb21wX2Z1bmNzIGRkcF9tZXJnZSA9IHsKPiArICAgICAgIC5j bGtfZW5hYmxlID0gbXRrX21lcmdlX2Nsa19lbmFibGUsCj4gKyAgICAgICAuY2xrX2Rpc2FibGUg PSBtdGtfbWVyZ2VfY2xrX2Rpc2FibGUsCj4gKyAgICAgICAuc3RhcnQgPSBtdGtfbWVyZ2Vfc3Rh cnQsCj4gKyAgICAgICAuc3RvcCA9IG10a19tZXJnZV9zdG9wLAo+ICsgICAgICAgLmNvbmZpZyA9 IG10a19tZXJnZV9jb25maWcsCj4gK307Cj4gKwo+ICBzdGF0aWMgY29uc3Qgc3RydWN0IG10a19k ZHBfY29tcF9mdW5jcyBkZHBfdWZvZSA9IHsKPiAgICAgICAgIC5jbGtfZW5hYmxlID0gbXRrX2Rk cF9jbGtfZW5hYmxlLAo+ICAgICAgICAgLmNsa19kaXNhYmxlID0gbXRrX2RkcF9jbGtfZGlzYWJs ZSwKPiBAQCAtMzY1LDYgKzM3Myw3IEBAIHN0YXRpYyBjb25zdCBjaGFyICogY29uc3QgbXRrX2Rk cF9jb21wX3N0ZW1bTVRLX0REUF9DT01QX1RZUEVfTUFYXSA9IHsKPiAgICAgICAgIFtNVEtfRElT UF9PRF0gPSAib2QiLAo+ICAgICAgICAgW01US19ESVNQX0JMU10gPSAiYmxzIiwKPiAgICAgICAg IFtNVEtfRElTUF9EU0NdID0gImRzYyIsCj4gKyAgICAgICBbTVRLX0RJU1BfTUVSR0VdID0gIm1l cmdlIiwKPiAgfTsKPgo+ICBzdHJ1Y3QgbXRrX2RkcF9jb21wX21hdGNoIHsKPiBAQCAtMzkxLDYg KzQwMCwxMiBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IG10a19kZHBfY29tcF9tYXRjaCBtdGtfZGRw X21hdGNoZXNbRERQX0NPTVBPTkVOVF9JRF9NQVhdID0gewo+ICAgICAgICAgW0REUF9DT01QT05F TlRfRFNJMl0gICAgPSB7IE1US19EU0ksICAgICAgICAgICAgMiwgJmRkcF9kc2kgfSwKPiAgICAg ICAgIFtERFBfQ09NUE9ORU5UX0RTSTNdICAgID0geyBNVEtfRFNJLCAgICAgICAgICAgIDMsICZk ZHBfZHNpIH0sCj4gICAgICAgICBbRERQX0NPTVBPTkVOVF9HQU1NQV0gICA9IHsgTVRLX0RJU1Bf R0FNTUEsICAgICAwLCAmZGRwX2dhbW1hIH0sCj4gKyAgICAgICBbRERQX0NPTVBPTkVOVF9NRVJH RTBdICA9IHsgTVRLX0RJU1BfTUVSR0UsICAgICAwLCAmZGRwX21lcmdlIH0sCj4gKyAgICAgICBb RERQX0NPTVBPTkVOVF9NRVJHRTFdICA9IHsgTVRLX0RJU1BfTUVSR0UsICAgICAxLCAmZGRwX21l cmdlIH0sCj4gKyAgICAgICBbRERQX0NPTVBPTkVOVF9NRVJHRTJdICA9IHsgTVRLX0RJU1BfTUVS R0UsICAgICAyLCAmZGRwX21lcmdlIH0sCj4gKyAgICAgICBbRERQX0NPTVBPTkVOVF9NRVJHRTNd ICA9IHsgTVRLX0RJU1BfTUVSR0UsICAgICAzLCAmZGRwX21lcmdlIH0sCj4gKyAgICAgICBbRERQ X0NPTVBPTkVOVF9NRVJHRTRdICA9IHsgTVRLX0RJU1BfTUVSR0UsICAgICA0LCAmZGRwX21lcmdl IH0sCj4gKyAgICAgICBbRERQX0NPTVBPTkVOVF9NRVJHRTVdICA9IHsgTVRLX0RJU1BfTUVSR0Us ICAgICA1LCAmZGRwX21lcmdlIH0sCj4gICAgICAgICBbRERQX0NPTVBPTkVOVF9PRDBdICAgICA9 IHsgTVRLX0RJU1BfT0QsICAgICAgICAwLCAmZGRwX29kIH0sCj4gICAgICAgICBbRERQX0NPTVBP TkVOVF9PRDFdICAgICA9IHsgTVRLX0RJU1BfT0QsICAgICAgICAxLCAmZGRwX29kIH0sCj4gICAg ICAgICBbRERQX0NPTVBPTkVOVF9PVkwwXSAgICA9IHsgTVRLX0RJU1BfT1ZMLCAgICAgICAwLCAm ZGRwX292bCB9LAo+IEBAIC01MjIsNiArNTM3LDcgQEAgaW50IG10a19kZHBfY29tcF9pbml0KHN0 cnVjdCBkZXZpY2Vfbm9kZSAqbm9kZSwgc3RydWN0IG10a19kZHBfY29tcCAqY29tcCwKPiAgICAg ICAgICAgICB0eXBlID09IE1US19ESVNQX0NPTE9SIHx8Cj4gICAgICAgICAgICAgdHlwZSA9PSBN VEtfRElTUF9EU0MgfHwKPiAgICAgICAgICAgICB0eXBlID09IE1US19ESVNQX0dBTU1BIHx8Cj4g KyAgICAgICAgICAgdHlwZSA9PSBNVEtfRElTUF9NRVJHRSB8fAo+ICAgICAgICAgICAgIHR5cGUg PT0gTVRLX0RJU1BfT1ZMIHx8Cj4gICAgICAgICAgICAgdHlwZSA9PSBNVEtfRElTUF9PVkxfMkwg fHwKPiAgICAgICAgICAgICB0eXBlID09IE1US19ESVNQX1BXTSB8fAo+IGRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9kZHBfY29tcC5oIGIvZHJpdmVycy9ncHUv ZHJtL21lZGlhdGVrL210a19kcm1fZGRwX2NvbXAuaAo+IGluZGV4IDY2MWZiNjIwZTI2Ni4uMGFm ZDc4YzBiYzkyIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHJt X2RkcF9jb21wLmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9kZHBf Y29tcC5oCj4gQEAgLTM1LDYgKzM1LDcgQEAgZW51bSBtdGtfZGRwX2NvbXBfdHlwZSB7Cj4gICAg ICAgICBNVEtfRElTUF9PRCwKPiAgICAgICAgIE1US19ESVNQX0JMUywKPiAgICAgICAgIE1US19E SVNQX0RTQywKPiArICAgICAgIE1US19ESVNQX01FUkdFLAo+ICAgICAgICAgTVRLX0REUF9DT01Q X1RZUEVfTUFYLAo+ICB9Owo+Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRl ay9tdGtfZHJtX2Rydi5jIGIvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1fZHJ2LmMK PiBpbmRleCA5OTBhNTQwNDlhN2QuLjExYzI1ZGFmMDVkOCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJz L2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9kcnYuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9t ZWRpYXRlay9tdGtfZHJtX2Rydi5jCj4gQEAgLTQ0OCw2ICs0NDgsOCBAQCBzdGF0aWMgY29uc3Qg c3RydWN0IG9mX2RldmljZV9pZCBtdGtfZGRwX2NvbXBfZHRfaWRzW10gPSB7Cj4gICAgICAgICAg IC5kYXRhID0gKHZvaWQgKilNVEtfRElTUF9ESVRIRVIgfSwKPiAgICAgICAgIHsgLmNvbXBhdGli bGUgPSAibWVkaWF0ZWssbXQ4MTk1LWRpc3AtZHNjIiwKPiAgICAgICAgICAgLmRhdGEgPSAodm9p ZCAqKU1US19ESVNQX0RTQyB9LAo+ICsgICAgICAgeyAuY29tcGF0aWJsZSA9ICJtZWRpYXRlayxt dDgxOTUtZGlzcC1tZXJnZSIsCj4gKyAgICAgICAgIC5kYXRhID0gKHZvaWQgKilNVEtfRElTUF9N RVJHRSB9LAo+ICAgICAgICAgeyAuY29tcGF0aWJsZSA9ICJtZWRpYXRlayxtdDgxNzMtZGlzcC11 Zm9lIiwKPiAgICAgICAgICAgLmRhdGEgPSAodm9pZCAqKU1US19ESVNQX1VGT0UgfSwKPiAgICAg ICAgIHsgLmNvbXBhdGlibGUgPSAibWVkaWF0ZWssbXQyNzAxLWRzaSIsCj4gQEAgLTU2Niw2ICs1 NjgsNyBAQCBzdGF0aWMgaW50IG10a19kcm1fcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAq cGRldikKPiAgICAgICAgICAgICAgICAgICAgIGNvbXBfdHlwZSA9PSBNVEtfRElTUF9DT0xPUiB8 fAo+ICAgICAgICAgICAgICAgICAgICAgY29tcF90eXBlID09IE1US19ESVNQX0RTQyB8fAo+ICAg ICAgICAgICAgICAgICAgICAgY29tcF90eXBlID09IE1US19ESVNQX0dBTU1BIHx8Cj4gKyAgICAg ICAgICAgICAgICAgICBjb21wX3R5cGUgPT0gTVRLX0RJU1BfTUVSR0UgfHwKPiAgICAgICAgICAg ICAgICAgICAgIGNvbXBfdHlwZSA9PSBNVEtfRElTUF9PVkwgfHwKPiAgICAgICAgICAgICAgICAg ICAgIGNvbXBfdHlwZSA9PSBNVEtfRElTUF9PVkxfMkwgfHwKPiAgICAgICAgICAgICAgICAgICAg IGNvbXBfdHlwZSA9PSBNVEtfRElTUF9SRE1BIHx8Cj4gQEAgLTY2Nyw2ICs2NzAsNyBAQCBzdGF0 aWMgc3RydWN0IHBsYXRmb3JtX2RyaXZlciAqIGNvbnN0IG10a19kcm1fZHJpdmVyc1tdID0gewo+ ICAgICAgICAgJm10a19kaXNwX2NvbG9yX2RyaXZlciwKPiAgICAgICAgICZtdGtfZGlzcF9kc2Nf ZHJpdmVyLAo+ICAgICAgICAgJm10a19kaXNwX2dhbW1hX2RyaXZlciwKPiArICAgICAgICZtdGtf ZGlzcF9tZXJnZV9kcml2ZXIsCj4gICAgICAgICAmbXRrX2Rpc3Bfb3ZsX2RyaXZlciwKPiAgICAg ICAgICZtdGtfZGlzcF9yZG1hX2RyaXZlciwKPiAgICAgICAgICZtdGtfZHBpX2RyaXZlciwKPiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1fZHJ2LmggYi9kcml2 ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9kcnYuaAo+IGluZGV4IDhiNzIyMzMwZWY3ZC4u YzRkODAyYTQzNTMxIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtf ZHJtX2Rydi5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1fZHJ2LmgK PiBAQCAtNTIsNiArNTIsNyBAQCBleHRlcm4gc3RydWN0IHBsYXRmb3JtX2RyaXZlciBtdGtfZGlz cF9nYW1tYV9kcml2ZXI7Cj4gIGV4dGVybiBzdHJ1Y3QgcGxhdGZvcm1fZHJpdmVyIG10a19kaXNw X292bF9kcml2ZXI7Cj4gIGV4dGVybiBzdHJ1Y3QgcGxhdGZvcm1fZHJpdmVyIG10a19kaXNwX3Jk bWFfZHJpdmVyOwo+ICBleHRlcm4gc3RydWN0IHBsYXRmb3JtX2RyaXZlciBtdGtfZGlzcF9kc2Nf ZHJpdmVyOwo+ICtleHRlcm4gc3RydWN0IHBsYXRmb3JtX2RyaXZlciBtdGtfZGlzcF9tZXJnZV9k cml2ZXI7CgpBbHBoYWJldGljIG9yZGVyLgoKUmVnYXJkcywKQ2h1bi1LdWFuZy4KCj4gIGV4dGVy biBzdHJ1Y3QgcGxhdGZvcm1fZHJpdmVyIG10a19kcGlfZHJpdmVyOwo+ICBleHRlcm4gc3RydWN0 IHBsYXRmb3JtX2RyaXZlciBtdGtfZHNpX2RyaXZlcjsKPgo+IC0tCj4gMi4xOC4wCj4KCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkxpbnV4LW1lZGlhdGVr IG1haWxpbmcgbGlzdApMaW51eC1tZWRpYXRla0BsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9s aXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtbWVkaWF0ZWsK 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=-14.7 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,INCLUDES_CR_TRAILER,INCLUDES_PATCH,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS 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 4FDA6C636C8 for ; Thu, 15 Jul 2021 23:53:03 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 1019561158 for ; Thu, 15 Jul 2021 23:53:03 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 1019561158 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=kernel.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:Cc:To:Subject:Message-ID:Date:From: In-Reply-To:References:MIME-Version:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=tfXPsmfvyWkQpqlwvpVi7mWspqHcxXxrcZjVhOPZIP0=; b=1ELHLvDy+FrzuH 5TNwdRkUSbX/lZL65E8GTZ63ci/VYWBgLsAKWKVcv/v4UwTrj/mqQklpcyq8ww+2vbZh5ZbnAltjR 9oHrM+ic3dr2trrh7ScjwriirS5RO9JwErSmoD8CYK2HBE5GHpJDEPivXM+JjFlzfk4HYNUYRmfhn 2LUI2Jh3hESUc9IeKYHMPwGL0WD0Z86WFsLisxvku7v6rxN7CrYU12wqwRWaanbWz9kHuL1fWdDM3 z4Zi5dEC3pEhgRrqDspZ2ZtqQ3zwInighiDfDyDyOCJGpw5VLXDR6Xme4JRmVucDVZmGHBn6hZMZN fPJeL7Cjv8WKdPZXKvLA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1m4B85-002i1G-Bf; Thu, 15 Jul 2021 23:50:57 +0000 Received: from mail.kernel.org ([198.145.29.99]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1m4B80-002i0s-Kg; Thu, 15 Jul 2021 23:50:55 +0000 Received: by mail.kernel.org (Postfix) with ESMTPSA id 2AE5F613E3; Thu, 15 Jul 2021 23:50:52 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1626393052; bh=6rFs7zva+TzaFNhn87o9svobr05XyFTMxIejTDbkT3s=; h=References:In-Reply-To:From:Date:Subject:To:Cc:From; b=W6ODomE+LIO3DT+rqEVbPzOJfIXXbPYc3CkhSEruPsSAvXB6VbvOIejkdi76AeY9p bawxBoggxkWwiHvJkHx3vnmwZoYKKUCcVIVPJq9GOu6pANh2/LUkU71GjwEq43Wloq NWDVtF0jD73jAu8LQckdrkc1ehqKHJ3cpMbGgbzDM9xF857OJT/jgo86c1JYOFeRyk sCncpeNE5PKt/YzGN0QtPGYu4m8F6zkASBYci2rYMIFwpkLjxJt/AvKHqjzYhnUCbT QA215iyyloYOaPL0PC60iaSsxJ+Q4GluxaJ7mNfPKsNxYVwZu66Oj08chwS4oWBkqu XWv6Oasks1zsw== Received: by mail-ej1-f46.google.com with SMTP id oz7so8383522ejc.2; Thu, 15 Jul 2021 16:50:52 -0700 (PDT) X-Gm-Message-State: AOAM532PWrccv2qWvbPqCpj1F+65VUtlNuUIh6WzSlSSomHXMZkm/gUf rX8/4HJjP0QOrBNBsm3QnDi+r6tn4SWaytErZw== X-Google-Smtp-Source: ABdhPJxjG6V4WzT+dHnjlHBU+mPBLnQxQc6/gyc0Y7Xhkk4yiGsBNivJkMAE4ggpdxlFGnBoMrtJrFQvgpA396JMYH8= X-Received: by 2002:a17:906:c097:: with SMTP id f23mr7219410ejz.194.1626393050592; Thu, 15 Jul 2021 16:50:50 -0700 (PDT) MIME-Version: 1.0 References: <20210715173750.10852-1-jason-jh.lin@mediatek.com> <20210715173750.10852-13-jason-jh.lin@mediatek.com> In-Reply-To: <20210715173750.10852-13-jason-jh.lin@mediatek.com> From: Chun-Kuang Hu Date: Fri, 16 Jul 2021 07:50:39 +0800 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH v3 12/12] drm/mediatek: add MERGE support for MT8195 To: "jason-jh.lin" Cc: Chun-Kuang Hu , Matthias Brugger , Linux ARM , "moderated list:ARM/Mediatek SoC support" , linux-kernel , Project_Global_Chrome_Upstream_Group@mediatek.com, fshao@google.com, Nancy Lin , singo.chang@mediatek.com X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210715_165052_781268_281D18AC X-CRM114-Status: GOOD ( 24.08 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org SGksIEphc29uOgoKamFzb24tamgubGluIDxqYXNvbi1qaC5saW5AbWVkaWF0ZWsuY29tPiDmlrwg MjAyMeW5tDfmnIgxNuaXpSDpgLHkupQg5LiK5Y2IMTozOOWvq+mBk++8mgo+Cj4gMS4gQWRkIE1F UkdFIG1vZHVsZSBmaWxlOgo+ICAgIE1FUkdFIG1vZHVsZSBpcyB1c2VkIHRvIG1lcmdlIHR3byBz bGljZS1wZXItbGluZSBpbnB1dHMKPiAgICBpbnRvIG9uZSBzaWRlLWJ5LXNpZGUgb3V0cHV0Lgo+ Cj4gMi4gQWRkIFJFR19GTEQgbWFjcm8gaW4gbXRrX2RlbV9jcnRjIGhlYWRlciB0byBzdXBwb3J0 Cj4gICAgYml0d2lzZSByZWdpc3RlciBzZXR0aW5ncy4KPgo+IENoYW5nZS1JZDogSWUxOTZhYTYx NjYxZWFmN2QwOTU5NDgyZDM3MDBmMzI0MmRlMzJlNWUKPiBTaWduZWQtb2ZmLWJ5OiBqYXNvbi1q aC5saW4gPGphc29uLWpoLmxpbkBtZWRpYXRlay5jb20+Cj4gLS0tCj4gIGRyaXZlcnMvZ3B1L2Ry bS9tZWRpYXRlay9NYWtlZmlsZSAgICAgICAgICAgfCAgIDEgKwo+ICBkcml2ZXJzL2dwdS9kcm0v bWVkaWF0ZWsvbXRrX2Rpc3BfZHJ2LmggICAgIHwgICA4ICsKPiAgZHJpdmVycy9ncHUvZHJtL21l ZGlhdGVrL210a19kaXNwX21lcmdlLmMgICB8IDM3MiArKysrKysrKysrKysrKysrKysrKwo+ICBk cml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9jcnRjLmggICAgIHwgIDE0ICsKPiAgZHJp dmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1fZGRwX2NvbXAuYyB8ICAxNiArCj4gIGRyaXZl cnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHJtX2RkcF9jb21wLmggfCAgIDEgKwo+ICBkcml2ZXJz L2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9kcnYuYyAgICAgIHwgICA0ICsKPiAgZHJpdmVycy9n cHUvZHJtL21lZGlhdGVrL210a19kcm1fZHJ2LmggICAgICB8ICAgMSArCj4gIDggZmlsZXMgY2hh bmdlZCwgNDE3IGluc2VydGlvbnMoKykKPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvZ3B1 L2RybS9tZWRpYXRlay9tdGtfZGlzcF9tZXJnZS5jCj4KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL21lZGlhdGVrL01ha2VmaWxlIGIvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL01ha2Vm aWxlCj4gaW5kZXggNDQ5NDhlMjIxZmQzLi4yN2M4OTg0N2Q0M2IgMTAwNjQ0Cj4gLS0tIGEvZHJp dmVycy9ncHUvZHJtL21lZGlhdGVrL01ha2VmaWxlCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL21l ZGlhdGVrL01ha2VmaWxlCj4gQEAgLTQsNiArNCw3IEBAIG1lZGlhdGVrLWRybS15IDo9IG10a19k aXNwX2Njb3JyLm8gXAo+ICAgICAgICAgICAgICAgICAgIG10a19kaXNwX2NvbG9yLm8gXAo+ICAg ICAgICAgICAgICAgICAgIG10a19kaXNwX2RzYy5vIFwKPiAgICAgICAgICAgICAgICAgICBtdGtf ZGlzcF9nYW1tYS5vIFwKPiArICAgICAgICAgICAgICAgICBtdGtfZGlzcF9tZXJnZS5vIFwKPiAg ICAgICAgICAgICAgICAgICBtdGtfZGlzcF9vdmwubyBcCj4gICAgICAgICAgICAgICAgICAgbXRr X2Rpc3BfcmRtYS5vIFwKPiAgICAgICAgICAgICAgICAgICBtdGtfZHJtX2NydGMubyBcCj4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZGlzcF9kcnYuaCBiL2RyaXZl cnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZGlzcF9kcnYuaAo+IGluZGV4IGM3ZTliZDM3MGFjZC4u M2UyN2NlN2ZlZjU3IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtf ZGlzcF9kcnYuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZGlzcF9kcnYu aAo+IEBAIC01NCw2ICs1NCwxNCBAQCB2b2lkIG10a19nYW1tYV9zZXRfY29tbW9uKHZvaWQgX19p b21lbSAqcmVncywgc3RydWN0IGRybV9jcnRjX3N0YXRlICpzdGF0ZSk7Cj4gIHZvaWQgbXRrX2dh bW1hX3N0YXJ0KHN0cnVjdCBkZXZpY2UgKmRldik7Cj4gIHZvaWQgbXRrX2dhbW1hX3N0b3Aoc3Ry dWN0IGRldmljZSAqZGV2KTsKPgo+ICtpbnQgbXRrX21lcmdlX2Nsa19lbmFibGUoc3RydWN0IGRl dmljZSAqZGV2KTsKPiArdm9pZCBtdGtfbWVyZ2VfY2xrX2Rpc2FibGUoc3RydWN0IGRldmljZSAq ZGV2KTsKPiArdm9pZCBtdGtfbWVyZ2VfY29uZmlnKHN0cnVjdCBkZXZpY2UgKmRldiwgdW5zaWdu ZWQgaW50IHdpZHRoLAo+ICsgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgaGVpZ2h0 LCB1bnNpZ25lZCBpbnQgdnJlZnJlc2gsCj4gKyAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVk IGludCBicGMsIHN0cnVjdCBjbWRxX3BrdCAqY21kcV9wa3QpOwo+ICt2b2lkIG10a19tZXJnZV9z dGFydChzdHJ1Y3QgZGV2aWNlICpkZXYpOwo+ICt2b2lkIG10a19tZXJnZV9zdG9wKHN0cnVjdCBk ZXZpY2UgKmRldik7Cj4gKwo+ICB2b2lkIG10a19vdmxfYmdjbHJfaW5fb24oc3RydWN0IGRldmlj ZSAqZGV2KTsKPiAgdm9pZCBtdGtfb3ZsX2JnY2xyX2luX29mZihzdHJ1Y3QgZGV2aWNlICpkZXYp Owo+ICB2b2lkIG10a19vdmxfYnlwYXNzX3NoYWRvdyhzdHJ1Y3QgZGV2aWNlICpkZXYpOwo+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2Rpc3BfbWVyZ2UuYyBiL2Ry aXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZGlzcF9tZXJnZS5jCj4gbmV3IGZpbGUgbW9kZSAx MDA2NDQKPiBpbmRleCAwMDAwMDAwMDAwMDAuLjc2OGMyODJkMmQ2Mwo+IC0tLSAvZGV2L251bGwK PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2Rpc3BfbWVyZ2UuYwo+IEBAIC0w LDAgKzEsMzcyIEBACj4gKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wCj4gKy8q Cj4gKyAqIENvcHlyaWdodCAoYykgMjAyMSBNZWRpYVRlayBJbmMuCj4gKyAqLwo+ICsKPiArI2lu Y2x1ZGUgPGxpbnV4L2Nsay5oPgo+ICsjaW5jbHVkZSA8bGludXgvY29tcG9uZW50Lmg+Cj4gKyNp bmNsdWRlIDxsaW51eC9vZl9kZXZpY2UuaD4KPiArI2luY2x1ZGUgPGxpbnV4L29mX2lycS5oPgo+ ICsjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+Cj4gKyNpbmNsdWRlIDxsaW51eC9z b2MvbWVkaWF0ZWsvbXRrLWNtZHEuaD4KPiArCj4gKyNpbmNsdWRlICJtdGtfZHJtX2NydGMuaCIK PiArI2luY2x1ZGUgIm10a19kcm1fZGRwX2NvbXAuaCIKPiArI2luY2x1ZGUgIm10a19kcm1fZHJ2 LmgiCj4gKyNpbmNsdWRlICJtdGtfZGlzcF9kcnYuaCIKPiArCj4gKyNkZWZpbmUgRElTUF9SRUdf TUVSR0VfQ1RSTCAoMHgwMDApCj4gKyNkZWZpbmUgRkxEX01FUkdFX0VOIEJJVCgwKQo+ICsjZGVm aW5lIEZMRF9NRVJHRV9SU1QgQklUKDQpCj4gKyNkZWZpbmUgRkxEX01FUkdFX0xSX1NXQVAgQklU KDgpCj4gKyNkZWZpbmUgRkxEX01FUkdFX0RDTV9ESVMgQklUKDEyKQo+ICsjZGVmaW5lIERJU1Bf TUVSR0VfQ0ZHXzAgICAgICAgICAgICAgICAweDAxMAo+ICsjZGVmaW5lIERJU1BfTUVSR0VfQ0ZH XzQgICAgICAgICAgICAgICAweDAyMAo+ICsjZGVmaW5lIERJU1BfTUVSR0VfQ0ZHXzEwICAgICAg MHgwMzgKPiArI2RlZmluZSBESVNQX01FUkdFX0NGR18xMiAgICAgIDB4MDQwCj4gKyNkZWZpbmUg Q0ZHXzEwXzEwXzFQSV8yUE9fQlVGX01PREUgICAgIDYKPiArI2RlZmluZSBDRkdfMTBfMTBfMlBJ XzJQT19CVUZfTU9ERSAgICAgOAo+ICsjZGVmaW5lIERJU1BfTUVSR0VfQ0ZHXzI0ICAgICAgMHgw NzAKPiArI2RlZmluZSBESVNQX01FUkdFX0NGR18yNSAgICAgIDB4MDc0Cj4gKyNkZWZpbmUgRElT UF9NRVJHRV9DRkdfMzYgICAgICAweDBhMAo+ICsjZGVmaW5lIERJU1BfTUVSR0VfQ0ZHXzM2X0ZM RF9VTFRSQV9FTiBSRUdfRkxEKDEsIDApCgojZGVmaW5lIERJU1BfTUVSR0VfQ0ZHXzM2X0ZMRF9V TFRSQV9FTiBHRU5NQVNLKDEsIDApCgo+ICsjZGVmaW5lIERJU1BfTUVSR0VfQ0ZHXzM2X0ZMRF9Q UkVVTFRSQV9FTiBSRUdfRkxEKDEsIDQpCj4gKyNkZWZpbmUgRElTUF9NRVJHRV9DRkdfMzZfRkxE X0hBTFRfRk9SX0RWRlNfRU4gUkVHX0ZMRCgxLCA4KQo+ICsjZGVmaW5lIERJU1BfTUVSR0VfQ0ZH XzM2X1ZBTF9VTFRSQV9FTih2YWwpIFwKPiArICAgICAgIFJFR19GTERfVkFMKERJU1BfTUVSR0Vf Q0ZHXzM2X0ZMRF9VTFRSQV9FTiwgdmFsKQo+ICsjZGVmaW5lIERJU1BfTUVSR0VfQ0ZHXzM2X1ZB TF9QUkVVTFRSQV9FTih2YWwpIFwKPiArICAgICAgIFJFR19GTERfVkFMKERJU1BfTUVSR0VfQ0ZH XzM2X0ZMRF9QUkVVTFRSQV9FTiwgdmFsKQo+ICsjZGVmaW5lIERJU1BfTUVSR0VfQ0ZHXzM2X1ZB TF9IQUxUX0ZPUl9EVkZTX0VOKHZhbCkgXAo+ICsgICAgICAgUkVHX0ZMRF9WQUwoRElTUF9NRVJH RV9DRkdfMzZfRkxEX0hBTFRfRk9SX0RWRlNfRU4sIHZhbCkKPiArI2RlZmluZSBESVNQX01FUkdF X0NGR18zNyAgICAgIDB4MGE0Cj4gKyNkZWZpbmUgRElTUF9NRVJHRV9DRkdfMzdfRkxEX0JVRkZF Ul9NT0RFIFJFR19GTEQoMiwgMCkKPiArI2RlZmluZSBESVNQX01FUkdFX0NGR18zN19WQUxfQlVG RkVSX01PREUodmFsKSBcCj4gKyAgICAgICBSRUdfRkxEX1ZBTChESVNQX01FUkdFX0NGR18zN19G TERfQlVGRkVSX01PREUsIHZhbCkKPiArI2RlZmluZSBESVNQX01FUkdFX0NGR18zOCAgICAgIDB4 MGE4Cj4gKyNkZWZpbmUgRElTUF9NRVJHRV9DRkdfMzhfRkxEX1ZERV9CTE9DS19VTFRSQSBSRUdf RkxEKDEsIDApCj4gKyNkZWZpbmUgRElTUF9NRVJHRV9DRkdfMzhfRkxEX1ZBTElEX1RIX0JMT0NL X1VMVFJBIFJFR19GTEQoMSwgNCkKPiArI2RlZmluZSBESVNQX01FUkdFX0NGR18zOF9GTERfVUxU UkFfRklGT19WQUxJRF9USCBSRUdfRkxEKDE2LCAxNikKPiArI2RlZmluZSBESVNQX01FUkdFX0NG R18zOF9WQUxfVkRFX0JMT0NLX1VMVFJBKHZhbCkgXAo+ICsgICAgICAgUkVHX0ZMRF9WQUwoRElT UF9NRVJHRV9DRkdfMzhfRkxEX1ZERV9CTE9DS19VTFRSQSwgdmFsKQo+ICsjZGVmaW5lIERJU1Bf TUVSR0VfQ0ZHXzM4X1ZBTF9WQUxJRF9USF9CTE9DS19VTFRSQSh2YWwpIFwKPiArICAgICAgIFJF R19GTERfVkFMKERJU1BfTUVSR0VfQ0ZHXzM4X0ZMRF9WQUxJRF9USF9CTE9DS19VTFRSQSwgdmFs KQo+ICsjZGVmaW5lIERJU1BfTUVSR0VfQ0ZHXzM4X1ZBTF9VTFRSQV9GSUZPX1ZBTElEX1RIKHZh bCkgXAo+ICsgICAgICAgUkVHX0ZMRF9WQUwoRElTUF9NRVJHRV9DRkdfMzhfRkxEX1VMVFJBX0ZJ Rk9fVkFMSURfVEgsIHZhbCkKPiArI2RlZmluZSBESVNQX01FUkdFX0NGR18zOSAgICAgIDB4MGFj Cj4gKyNkZWZpbmUgRElTUF9NRVJHRV9DRkdfMzlfRkxEX05WREVfRk9SQ0VfUFJFVUxUUkEgUkVH X0ZMRCgxLCA4KQo+ICsjZGVmaW5lIERJU1BfTUVSR0VfQ0ZHXzM5X0ZMRF9OVkFMSURfVEhfRk9S Q0VfUFJFVUxUUkEgUkVHX0ZMRCgxLCAxMikKPiArI2RlZmluZSBESVNQX01FUkdFX0NGR18zOV9G TERfUFJFVUxUUkFfRklGT19WQUxJRF9USCBSRUdfRkxEKDE2LCAxNikKPiArI2RlZmluZSBESVNQ X01FUkdFX0NGR18zOV9WQUxfTlZERV9GT1JDRV9QUkVVTFRSQSh2YWwpIFwKPiArICAgICAgIFJF R19GTERfVkFMKERJU1BfTUVSR0VfQ0ZHXzM5X0ZMRF9OVkRFX0ZPUkNFX1BSRVVMVFJBLCB2YWwp Cj4gKyNkZWZpbmUgRElTUF9NRVJHRV9DRkdfMzlfVkFMX05WQUxJRF9USF9GT1JDRV9QUkVVTFRS QSh2YWwpIFwKPiArICAgICAgIFJFR19GTERfVkFMKERJU1BfTUVSR0VfQ0ZHXzM5X0ZMRF9OVkFM SURfVEhfRk9SQ0VfUFJFVUxUUkEsIHZhbCkKPiArI2RlZmluZSBESVNQX01FUkdFX0NGR18zOV9W QUxfUFJFVUxUUkFfRklGT19WQUxJRF9USCh2YWwpIFwKPiArICAgICAgIFJFR19GTERfVkFMKERJ U1BfTUVSR0VfQ0ZHXzM5X0ZMRF9QUkVVTFRSQV9GSUZPX1ZBTElEX1RILCB2YWwpCj4gKyNkZWZp bmUgRElTUF9NRVJHRV9DRkdfNDAgICAgICAweDBiMAo+ICsjZGVmaW5lIERJU1BfTUVSR0VfQ0ZH XzQwX0ZMRF9VTFRSQV9USF9MT1cgUkVHX0ZMRCgxNiwgMCkKPiArI2RlZmluZSBESVNQX01FUkdF X0NGR180MF9GTERfVUxUUkFfVEhfSElHSCBSRUdfRkxEKDE2LCAxNikKPiArI2RlZmluZSBESVNQ X01FUkdFX0NGR180MF9WQUxfVUxUUkFfVEhfTE9XKHZhbCkgXAo+ICsgICAgICAgUkVHX0ZMRF9W QUwoRElTUF9NRVJHRV9DRkdfNDBfRkxEX1VMVFJBX1RIX0xPVywgKHZhbCkpCj4gKyNkZWZpbmUg RElTUF9NRVJHRV9DRkdfNDBfVkFMX1VMVFJBX1RIX0hJR0godmFsKSBcCj4gKyAgICAgICBSRUdf RkxEX1ZBTChESVNQX01FUkdFX0NGR180MF9GTERfVUxUUkFfVEhfSElHSCwgdmFsKQo+ICsjZGVm aW5lIERJU1BfTUVSR0VfQ0ZHXzQxICAgICAgMHgwYjQKPiArI2RlZmluZSBESVNQX01FUkdFX0NG R180MV9GTERfUFJFVUxUUkFfVEhfTE9XIFJFR19GTEQoMTYsIDApCj4gKyNkZWZpbmUgRElTUF9N RVJHRV9DRkdfNDFfRkxEX1BSRVVMVFJBX1RIX0hJR0ggUkVHX0ZMRCgxNiwgMTYpCj4gKyNkZWZp bmUgRElTUF9NRVJHRV9DRkdfNDFfVkFMX1BSRVVMVFJBX1RIX0xPVyh2YWwpIFwKPiArICAgICAg IFJFR19GTERfVkFMKERJU1BfTUVSR0VfQ0ZHXzQxX0ZMRF9QUkVVTFRSQV9USF9MT1csIHZhbCkK PiArI2RlZmluZSBESVNQX01FUkdFX0NGR180MV9WQUxfUFJFVUxUUkFfVEhfSElHSCh2YWwpIFwK PiArICAgICAgIFJFR19GTERfVkFMKERJU1BfTUVSR0VfQ0ZHXzQxX0ZMRF9QUkVVTFRSQV9USF9I SUdILCB2YWwpCj4gKwo+ICtzdHJ1Y3QgbXRrX21lcmdlX2NvbmZpZ19zdHJ1Y3Qgewo+ICsgICAg ICAgdW5zaWduZWQgc2hvcnQgd2lkdGhfcmlnaHQ7Cj4gKyAgICAgICB1bnNpZ25lZCBzaG9ydCB3 aWR0aF9sZWZ0Owo+ICsgICAgICAgdW5zaWduZWQgaW50IGhlaWdodDsKPiArICAgICAgIHVuc2ln bmVkIGludCBtb2RlOwo+ICt9Owo+ICsKPiArc3RydWN0IG10a19kaXNwX21lcmdlIHsKPiArICAg ICAgIGVudW0gbXRrX2RkcF9jb21wX2lkIGNvbXBfaWQ7Cj4gKyAgICAgICBzdHJ1Y3QgZHJtX2Ny dGMgKmNydGM7Cj4gKyAgICAgICBzdHJ1Y3QgY2xrICpjbGs7Cj4gKyAgICAgICBzdHJ1Y3QgY2xr ICphc3luY19jbGs7Cj4gKyAgICAgICB2b2lkIF9faW9tZW0gKnJlZ3M7Cj4gKyAgICAgICBzdHJ1 Y3QgY21kcV9jbGllbnRfcmVnICAgICAgICAgIGNtZHFfcmVnOwo+ICsgICAgICAgdTMyICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBmaWZvX2VuOwo+ICt9Owo+ICsKPiArdm9pZCBtdGtfbWVy Z2Vfc3RhcnQoc3RydWN0IGRldmljZSAqZGV2KQo+ICt7Cj4gKyAgICAgICBzdHJ1Y3QgbXRrX2Rp c3BfbWVyZ2UgKnByaXYgPSBkZXZfZ2V0X2RydmRhdGEoZGV2KTsKPiArCj4gKyAgICAgICBtdGtf ZGRwX3dyaXRlKE5VTEwsIDB4MSwgJnByaXYtPmNtZHFfcmVnLCBwcml2LT5yZWdzLCBESVNQX1JF R19NRVJHRV9DVFJMKTsKPiArfQo+ICsKPiArdm9pZCBtdGtfbWVyZ2Vfc3RvcChzdHJ1Y3QgZGV2 aWNlICpkZXYpCj4gK3sKPiArICAgICAgIHN0cnVjdCBtdGtfZGlzcF9tZXJnZSAqcHJpdiA9IGRl dl9nZXRfZHJ2ZGF0YShkZXYpOwo+ICsKPiArICAgICAgIG10a19kZHBfd3JpdGUoTlVMTCwgMHgw LCAmcHJpdi0+Y21kcV9yZWcsIHByaXYtPnJlZ3MsIERJU1BfUkVHX01FUkdFX0NUUkwpOwo+ICt9 Cj4gKwo+ICtzdGF0aWMgaW50IG10a19tZXJnZV9jaGVja19wYXJhbXMoc3RydWN0IG10a19tZXJn ZV9jb25maWdfc3RydWN0ICptZXJnZV9jb25maWcpCj4gK3sKPiArICAgICAgIGlmICghbWVyZ2Vf Y29uZmlnLT5oZWlnaHQgfHwKPiArICAgICAgICAgICAhbWVyZ2VfY29uZmlnLT53aWR0aF9sZWZ0 IHx8ICFtZXJnZV9jb25maWctPndpZHRoX3JpZ2h0KSB7Cj4gKyAgICAgICAgICAgICAgIHByX2Vy cigiJXM6bWVyZ2UgaW5wdXQgd2lkdGggbCgldSkgdygldSkgaCgldSlcbiIsCj4gKyAgICAgICAg ICAgICAgICAgICAgICBfX2Z1bmNfXywgbWVyZ2VfY29uZmlnLT53aWR0aF9sZWZ0LAo+ICsgICAg ICAgICAgICAgICAgICAgICAgbWVyZ2VfY29uZmlnLT53aWR0aF9yaWdodCwgbWVyZ2VfY29uZmln LT5oZWlnaHQpOwo+ICsgICAgICAgICAgICAgICByZXR1cm4gLUVJTlZBTDsKPiArICAgICAgIH0K PiArICAgICAgIHByX2RlYnVnKCIlczptZXJnZSBpbnB1dCB3aWR0aCBsKCV1KSByKCV1KSBoZWln aHQoJXUpXG4iLAo+ICsgICAgICAgICAgICAgICAgX19mdW5jX18sIG1lcmdlX2NvbmZpZy0+d2lk dGhfbGVmdCwKPiArICAgICAgICAgICAgICAgIG1lcmdlX2NvbmZpZy0+d2lkdGhfcmlnaHQsIG1l cmdlX2NvbmZpZy0+aGVpZ2h0KTsKPiArICAgICAgIHJldHVybiAwOwo+ICt9Cj4gKwo+ICtzdGF0 aWMgaW50IG10a19tZXJnZV9maWZvX3NldHRpbmcoc3RydWN0IG10a19kaXNwX21lcmdlICpwcml2 LAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBjbWRxX3BrdCAq aGFuZGxlKQo+ICt7Cj4gKyAgICAgICBpbnQgdWx0cmFfZW4gPSAxOwo+ICsgICAgICAgaW50IHBy ZXVsdHJhX2VuID0gMTsKPiArICAgICAgIGludCBoYWx0X2Zvcl9kdmZzX2VuID0gMDsKPiArICAg ICAgIGludCBidWZmZXJfbW9kZSA9IDM7CgpFeHBsYWluIHdoYXQgaXMgYnVmZmVyX21vZGUgMy4K Cj4gKyAgICAgICBpbnQgdmRlX2Jsb2NrX3VsdHJhID0gMDsKPiArICAgICAgIGludCB2YWxpZF90 aF9ibG9ja191bHRyYSA9IDA7Cj4gKyAgICAgICBpbnQgdWx0cmFfZmlmb192YWxpZF90aCA9IDA7 Cj4gKyAgICAgICBpbnQgbnZkZV9mb3JjZV9wcmV1bHRyYSA9IDA7Cj4gKyAgICAgICBpbnQgbnZh bGlkX3RoX2ZvcmNlX3ByZXVsdHJhID0gMDsKPiArICAgICAgIGludCBwcmV1bHRyYV9maWZvX3Zh bGlkX3RoID0gMDsKPiArICAgICAgIGludCB1bHRyYV90aF9sb3cgPSAweGUxMDsKPiArICAgICAg IGludCB1bHRyYV90aF9oaWdoID0gMHgxMmMwOwo+ICsgICAgICAgaW50IHByZXVsdHJhX3RoX2xv dyA9IDB4MTJjMDsKPiArICAgICAgIGludCBwcmV1bHRyYV90aF9oaWdoID0gMHgxNTE4OwoKRm9y IHRoZSB0aHJlc2hvbGQsIEkgd291bGQgbGlrZSBzb21lIGZvcm11bGEgbGlrZSBSRE1BIHRocmVz aG9sZCwKCi8qCiogRW5hYmxlIEZJRk8gdW5kZXJmbG93IHNpbmNlIERTSSBhbmQgRFBJIGNhbid0 IGJlIGJsb2NrZWQuCiogS2VlcCB0aGUgRklGTyBwc2V1ZG8gc2l6ZSByZXNldCBkZWZhdWx0IG9m IDggS2lCLiBTZXQgdGhlCiogb3V0cHV0IHRocmVzaG9sZCB0byA2IG1pY3Jvc2Vjb25kcyB3aXRo IDcvNiBvdmVyaGVhZCB0bwoqIGFjY291bnQgZm9yIGJsYW5raW5nLCBhbmQgd2l0aCBhIHBpeGVs IGRlcHRoIG9mIDQgYnl0ZXM6CiovCnRocmVzaG9sZCA9IHdpZHRoICogaGVpZ2h0ICogdnJlZnJl c2ggKiA0ICogNyAvIDEwMDAwMDA7CgoKPiArCj4gKyAgICAgICBtdGtfZGRwX3dyaXRlX21hc2so aGFuZGxlLAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgIERJU1BfTUVSR0VfQ0ZHXzM2X1ZB TF9VTFRSQV9FTih1bHRyYV9lbikgfAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgIERJU1Bf TUVSR0VfQ0ZHXzM2X1ZBTF9QUkVVTFRSQV9FTihwcmV1bHRyYV9lbikgfAo+ICsgICAgICAgICAg ICAgICAgICAgICAgICAgIERJU1BfTUVSR0VfQ0ZHXzM2X1ZBTF9IQUxUX0ZPUl9EVkZTX0VOKGhh bHRfZm9yX2R2ZnNfZW4pLAoKQWxpZ24gdG8gdGhlIGNvZGluZyBzdHlsZSBvZiBvdGhlciBzdWIg ZHJpdmVyLAoKaGFsdF9mb3JfZHZmc19lbiA8PCA4IHwgcHJldWx0cmFfZW4gPDwgNCB8IHVsdHJh X2VuIDw8IDAsCgoKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAmcHJpdi0+Y21kcV9yZWcs IHByaXYtPnJlZ3MsIERJU1BfTUVSR0VfQ0ZHXzM2LAo+ICsgICAgICAgICAgICAgICAgICAgICAg ICAgIFJFR19GTERfTUFTSyhESVNQX01FUkdFX0NGR18zNl9GTERfVUxUUkFfRU4pIHwKPiArICAg ICAgICAgICAgICAgICAgICAgICAgICBSRUdfRkxEX01BU0soRElTUF9NRVJHRV9DRkdfMzZfRkxE X1BSRVVMVFJBX0VOKSB8Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgUkVHX0ZMRF9NQVNL KERJU1BfTUVSR0VfQ0ZHXzM2X0ZMRF9IQUxUX0ZPUl9EVkZTX0VOKSk7CgpBbGlnbiB0byB0aGUg Y29kaW5nIHN0eWxlIG9mIG90aGVyIHN1YiBkcml2ZXIsCgpESVNQX01FUkdFX0NGR18zNl9GTERf SEFMVF9GT1JfRFZGU19FTiB8CkRJU1BfTUVSR0VfQ0ZHXzM2X0ZMRF9QUkVVTFRSQV9FTiB8IERJ U1BfTUVSR0VfQ0ZHXzM2X0ZMRF9VTFRSQV9FTgoKPiArCj4gKyAgICAgICBtdGtfZGRwX3dyaXRl X21hc2soaGFuZGxlLAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgIERJU1BfTUVSR0VfQ0ZH XzM3X1ZBTF9CVUZGRVJfTU9ERShidWZmZXJfbW9kZSksCj4gKyAgICAgICAgICAgICAgICAgICAg ICAgICAgJnByaXYtPmNtZHFfcmVnLCBwcml2LT5yZWdzLCBESVNQX01FUkdFX0NGR18zNywKPiAr ICAgICAgICAgICAgICAgICAgICAgICAgICBSRUdfRkxEX01BU0soRElTUF9NRVJHRV9DRkdfMzdf RkxEX0JVRkZFUl9NT0RFKSk7Cj4gKwo+ICsgICAgICAgbXRrX2RkcF93cml0ZV9tYXNrKGhhbmRs ZSwKPiArICAgICAgICAgICAgICAgICAgICAgICAgICBESVNQX01FUkdFX0NGR18zOF9WQUxfVkRF X0JMT0NLX1VMVFJBKHZkZV9ibG9ja191bHRyYSkgfAo+ICsgICAgICAgICAgICAgICAgICAgICAg ICAgIERJU1BfTUVSR0VfQ0ZHXzM4X1ZBTF9WQUxJRF9USF9CTE9DS19VTFRSQSh2YWxpZF90aF9i bG9ja191bHRyYSkgfAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgIERJU1BfTUVSR0VfQ0ZH XzM4X1ZBTF9VTFRSQV9GSUZPX1ZBTElEX1RIKHVsdHJhX2ZpZm9fdmFsaWRfdGgpLAo+ICsgICAg ICAgICAgICAgICAgICAgICAgICAgICZwcml2LT5jbWRxX3JlZywgcHJpdi0+cmVncywgRElTUF9N RVJHRV9DRkdfMzgsCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgUkVHX0ZMRF9NQVNLKERJ U1BfTUVSR0VfQ0ZHXzM4X0ZMRF9WREVfQkxPQ0tfVUxUUkEpIHwKPiArICAgICAgICAgICAgICAg ICAgICAgICAgICBSRUdfRkxEX01BU0soRElTUF9NRVJHRV9DRkdfMzhfRkxEX1ZBTElEX1RIX0JM T0NLX1VMVFJBKSB8Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgUkVHX0ZMRF9NQVNLKERJ U1BfTUVSR0VfQ0ZHXzM4X0ZMRF9VTFRSQV9GSUZPX1ZBTElEX1RIKSk7Cj4gKwo+ICsgICAgICAg bXRrX2RkcF93cml0ZV9tYXNrKGhhbmRsZSwKPiArICAgICAgICAgICAgICAgICAgICAgICAgICBE SVNQX01FUkdFX0NGR18zOV9WQUxfTlZERV9GT1JDRV9QUkVVTFRSQShudmRlX2ZvcmNlX3ByZXVs dHJhKSB8Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgRElTUF9NRVJHRV9DRkdfMzlfVkFM X05WQUxJRF9USF9GT1JDRV9QUkVVTFRSQQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgKG52YWxpZF90aF9mb3JjZV9wcmV1bHRyYSkgfAo+ICsgICAgICAgICAgICAgICAgICAgICAg ICAgIERJU1BfTUVSR0VfQ0ZHXzM5X1ZBTF9QUkVVTFRSQV9GSUZPX1ZBTElEX1RIKHByZXVsdHJh X2ZpZm9fdmFsaWRfdGgpLAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICZwcml2LT5jbWRx X3JlZywgcHJpdi0+cmVncywgRElTUF9NRVJHRV9DRkdfMzksCj4gKyAgICAgICAgICAgICAgICAg ICAgICAgICAgUkVHX0ZMRF9NQVNLKERJU1BfTUVSR0VfQ0ZHXzM5X0ZMRF9OVkRFX0ZPUkNFX1BS RVVMVFJBKSB8Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgUkVHX0ZMRF9NQVNLKERJU1Bf TUVSR0VfQ0ZHXzM5X0ZMRF9OVkFMSURfVEhfRk9SQ0VfUFJFVUxUUkEpIHwKPiArICAgICAgICAg ICAgICAgICAgICAgICAgICBSRUdfRkxEX01BU0soRElTUF9NRVJHRV9DRkdfMzlfRkxEX1BSRVVM VFJBX0ZJRk9fVkFMSURfVEgpKTsKPiArCj4gKyAgICAgICBtdGtfZGRwX3dyaXRlX21hc2soaGFu ZGxlLAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgIERJU1BfTUVSR0VfQ0ZHXzQwX1ZBTF9V TFRSQV9USF9MT1codWx0cmFfdGhfbG93KSB8Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAg RElTUF9NRVJHRV9DRkdfNDBfVkFMX1VMVFJBX1RIX0hJR0godWx0cmFfdGhfaGlnaCksCj4gKyAg ICAgICAgICAgICAgICAgICAgICAgICAgJnByaXYtPmNtZHFfcmVnLCBwcml2LT5yZWdzLCBESVNQ X01FUkdFX0NGR180MCwKPiArICAgICAgICAgICAgICAgICAgICAgICAgICBSRUdfRkxEX01BU0so RElTUF9NRVJHRV9DRkdfNDBfRkxEX1VMVFJBX1RIX0xPVykgfAo+ICsgICAgICAgICAgICAgICAg ICAgICAgICAgIFJFR19GTERfTUFTSyhESVNQX01FUkdFX0NGR180MF9GTERfVUxUUkFfVEhfSElH SCkpOwo+ICsKPiArICAgICAgIG10a19kZHBfd3JpdGVfbWFzayhoYW5kbGUsCj4gKyAgICAgICAg ICAgICAgICAgICAgICAgICAgRElTUF9NRVJHRV9DRkdfNDFfVkFMX1BSRVVMVFJBX1RIX0xPVyhw cmV1bHRyYV90aF9sb3cpIHwKPiArICAgICAgICAgICAgICAgICAgICAgICAgICBESVNQX01FUkdF X0NGR180MV9WQUxfUFJFVUxUUkFfVEhfSElHSChwcmV1bHRyYV90aF9oaWdoKSwKPiArICAgICAg ICAgICAgICAgICAgICAgICAgICAmcHJpdi0+Y21kcV9yZWcsIHByaXYtPnJlZ3MsIERJU1BfTUVS R0VfQ0ZHXzQxLAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgIFJFR19GTERfTUFTSyhESVNQ X01FUkdFX0NGR180MV9GTERfUFJFVUxUUkFfVEhfTE9XKSB8Cj4gKyAgICAgICAgICAgICAgICAg ICAgICAgICAgUkVHX0ZMRF9NQVNLKERJU1BfTUVSR0VfQ0ZHXzQxX0ZMRF9QUkVVTFRSQV9USF9I SUdIKSk7Cj4gKwo+ICsgICAgICAgcmV0dXJuIDA7CgpUaGlzIGZ1bmN0aW9uIGFsd2F5cyByZXR1 cm4gMCwgc28gY2hhbmdlIHRvIHZvaWQuCgo+ICt9Cj4gKwo+ICt2b2lkIG10a19tZXJnZV9jb25m aWcoc3RydWN0IGRldmljZSAqZGV2LCB1bnNpZ25lZCBpbnQgdywKPiArICAgICAgICAgICAgICAg ICAgICAgdW5zaWduZWQgaW50IGgsIHVuc2lnbmVkIGludCB2cmVmcmVzaCwKPiArICAgICAgICAg ICAgICAgICAgICAgdW5zaWduZWQgaW50IGJwYywgc3RydWN0IGNtZHFfcGt0ICpoYW5kbGUpCj4g K3sKPiArICAgICAgIHN0cnVjdCBtdGtfbWVyZ2VfY29uZmlnX3N0cnVjdCBtZXJnZV9jb25maWc7 Cj4gKyAgICAgICBzdHJ1Y3QgbXRrX2Rpc3BfbWVyZ2UgKnByaXYgPSBkZXZfZ2V0X2RydmRhdGEo ZGV2KTsKPiArCj4gKyAgICAgICBpZiAocHJpdi0+Zmlmb19lbikKPiArICAgICAgICAgICAgICAg bXRrX21lcmdlX2ZpZm9fc2V0dGluZyhwcml2LCBoYW5kbGUpOwo+ICsKPiArICAgICAgIHN3aXRj aCAocHJpdi0+Y29tcF9pZCkgewoKSSB0aGluayB5b3Ugc2hvdWxkIHVzZSBwcml2LT5maWZvX2Vu IGluc3RlYWQgb2YgcHJpdi0+Y29tcF9pZC4KCj4gKyAgICAgICBjYXNlIEREUF9DT01QT05FTlRf TUVSR0UwOgo+ICsgICAgICAgICAgICAgICBtZXJnZV9jb25maWcubW9kZSA9IENGR18xMF8xMF8x UElfMlBPX0JVRl9NT0RFOwo+ICsgICAgICAgICAgICAgICBtZXJnZV9jb25maWcud2lkdGhfbGVm dCA9IHc7Cj4gKyAgICAgICAgICAgICAgIG1lcmdlX2NvbmZpZy53aWR0aF9yaWdodCA9IHc7Cj4g KyAgICAgICAgICAgICAgIG1lcmdlX2NvbmZpZy5oZWlnaHQgPSBoOwo+ICsgICAgICAgICAgICAg ICBicmVhazsKPiArICAgICAgIGNhc2UgRERQX0NPTVBPTkVOVF9NRVJHRTU6Cj4gKyAgICAgICAg ICAgICAgIG1lcmdlX2NvbmZpZy5tb2RlID0gQ0ZHXzEwXzEwXzJQSV8yUE9fQlVGX01PREU7Cj4g KyAgICAgICAgICAgICAgIG1lcmdlX2NvbmZpZy53aWR0aF9sZWZ0ID0gdzsKPiArICAgICAgICAg ICAgICAgbWVyZ2VfY29uZmlnLndpZHRoX3JpZ2h0ID0gdzsKPiArICAgICAgICAgICAgICAgbWVy Z2VfY29uZmlnLmhlaWdodCA9IGg7Cj4gKyAgICAgICAgICAgICAgIGJyZWFrOwo+ICsgICAgICAg ZGVmYXVsdDoKPiArICAgICAgICAgICAgICAgcHJfZXJyKCJObyBmaW5kIGNvbXBvbmVudCBtZXJn ZSAlZFxuIiwgcHJpdi0+Y29tcF9pZCk7Cj4gKyAgICAgICAgICAgICAgIHJldHVybjsKPiArICAg ICAgIH0KPiArCj4gKyAgICAgICBtdGtfbWVyZ2VfY2hlY2tfcGFyYW1zKCZtZXJnZV9jb25maWcp OwoKSSB0aGluayB5b3Ugc2hvdWxkIHJlbW92ZSBtdGtfbWVyZ2VfY2hlY2tfcGFyYW1zKCkgYW5k IGRpcmVjdGx5IGNoZWNrCncgYW5kIGgsIGFuZCByZW1vdmUgd2hvbGUgc3dpdGNoIGNhc2UuCgo+ ICsKPiArICAgICAgIG10a19kZHBfd3JpdGUoaGFuZGxlLCAoaCA8PCAxNiB8IHcpLCAmcHJpdi0+ Y21kcV9yZWcsIHByaXYtPnJlZ3MsCj4gKyAgICAgICAgICAgICAgICAgICAgRElTUF9NRVJHRV9D RkdfMCk7Cj4gKwo+ICsgICAgICAgbXRrX2RkcF93cml0ZShoYW5kbGUsIChoIDw8IDE2IHwgdyks ICZwcml2LT5jbWRxX3JlZywgcHJpdi0+cmVncywKPiArICAgICAgICAgICAgICAgICAgICBESVNQ X01FUkdFX0NGR180KTsKPiArCj4gKyAgICAgICBtdGtfZGRwX3dyaXRlKGhhbmRsZSwgKGggPDwg MTYgfCB3KSwgJnByaXYtPmNtZHFfcmVnLCBwcml2LT5yZWdzLAo+ICsgICAgICAgICAgICAgICAg ICAgICAgICAgIERJU1BfTUVSR0VfQ0ZHXzI0KTsKPiArCj4gKyAgICAgICBtdGtfZGRwX3dyaXRl KGhhbmRsZSwgKGggPDwgMTYgfCB3KSwgJnByaXYtPmNtZHFfcmVnLCBwcml2LT5yZWdzLAo+ICsg ICAgICAgICAgICAgICAgICAgICAgICAgIERJU1BfTUVSR0VfQ0ZHXzI1KTsKPiArCj4gKyAgICAg ICAvKiBubyBzd2FwICovCj4gKyAgICAgICBtdGtfZGRwX3dyaXRlX21hc2soaGFuZGxlLCAwLCAm cHJpdi0+Y21kcV9yZWcsIHByaXYtPnJlZ3MsCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAg RElTUF9NRVJHRV9DRkdfMTAsIDB4MWYpOwo+ICsKPiArICAgICAgIG10a19kZHBfd3JpdGVfbWFz ayhoYW5kbGUsIG1lcmdlX2NvbmZpZy5tb2RlLCAmcHJpdi0+Y21kcV9yZWcsIHByaXYtPnJlZ3Ms Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgRElTUF9NRVJHRV9DRkdfMTIsIDB4MWYpOwo+ ICt9Cj4gKwo+ICtpbnQgbXRrX21lcmdlX2Nsa19lbmFibGUoc3RydWN0IGRldmljZSAqZGV2KQo+ ICt7Cj4gKyAgICAgICBpbnQgcmV0ID0gMDsKPiArICAgICAgIHN0cnVjdCBtdGtfZGlzcF9tZXJn ZSAqcHJpdiA9IGRldl9nZXRfZHJ2ZGF0YShkZXYpOwo+ICsKPiArICAgICAgIGlmIChwcml2LT5j bGspIHsKCmNsa19wcmVwYXJlX2VuYWJsZSgpIHdvdWxkIGNoZWNrIHRoaXMsIHNvIHJlbW92ZSB0 aGlzIGNoZWNrLgoKPiArICAgICAgICAgICAgICAgcmV0ID0gY2xrX3ByZXBhcmVfZW5hYmxlKHBy aXYtPmNsayk7Cj4gKyAgICAgICAgICAgICAgIGlmIChyZXQpCj4gKyAgICAgICAgICAgICAgICAg ICAgICAgcHJfZXJyKCJtZXJnZSBjbGsgcHJlcGFyZSBlbmFibGUgZmFpbGVkXG4iKTsKPiArICAg ICAgIH0KPiArCj4gKyAgICAgICBpZiAocHJpdi0+YXN5bmNfY2xrKSB7Cj4gKyAgICAgICAgICAg ICAgIHJldCA9IGNsa19wcmVwYXJlX2VuYWJsZShwcml2LT5hc3luY19jbGspOwo+ICsgICAgICAg ICAgICAgICBpZiAocmV0KQo+ICsgICAgICAgICAgICAgICAgICAgICAgIHByX2VycigiYXN5bmMg Y2xrIHByZXBhcmUgZW5hYmxlIGZhaWxlZFxuIik7Cj4gKyAgICAgICB9Cj4gKwo+ICsgICAgICAg cmV0dXJuIHJldDsKPiArfQo+ICsKPiArdm9pZCBtdGtfbWVyZ2VfY2xrX2Rpc2FibGUoc3RydWN0 IGRldmljZSAqZGV2KQo+ICt7Cj4gKyAgICAgICBzdHJ1Y3QgbXRrX2Rpc3BfbWVyZ2UgKnByaXYg PSBkZXZfZ2V0X2RydmRhdGEoZGV2KTsKPiArCj4gKyAgICAgICBpZiAocHJpdi0+YXN5bmNfY2xr KQo+ICsgICAgICAgICAgICAgICBjbGtfZGlzYWJsZV91bnByZXBhcmUocHJpdi0+YXN5bmNfY2xr KTsKPiArCj4gKyAgICAgICBpZiAocHJpdi0+Y2xrKQo+ICsgICAgICAgICAgICAgICBjbGtfZGlz YWJsZV91bnByZXBhcmUocHJpdi0+Y2xrKTsKPiArfQo+ICsKPiArc3RhdGljIGludCBtdGtfZGlz cF9tZXJnZV9iaW5kKHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IGRldmljZSAqbWFzdGVyLAo+ ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICpkYXRhKQo+ICt7Cj4gKyAgICAg ICByZXR1cm4gMDsKPiArfQo+ICsKPiArc3RhdGljIHZvaWQgbXRrX2Rpc3BfbWVyZ2VfdW5iaW5k KHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IGRldmljZSAqbWFzdGVyLAo+ICsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB2b2lkICpkYXRhKQo+ICt7Cj4gK30KPiArCj4gK3N0YXRp YyBjb25zdCBzdHJ1Y3QgY29tcG9uZW50X29wcyBtdGtfZGlzcF9tZXJnZV9jb21wb25lbnRfb3Bz ID0gewo+ICsgICAgICAgLmJpbmQgICA9IG10a19kaXNwX21lcmdlX2JpbmQsCj4gKyAgICAgICAu dW5iaW5kID0gbXRrX2Rpc3BfbWVyZ2VfdW5iaW5kLAo+ICt9Owo+ICsKPiArc3RhdGljIGludCBt dGtfZGlzcF9tZXJnZV9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQo+ICt7Cj4g KyAgICAgICBzdHJ1Y3QgZGV2aWNlICpkZXYgPSAmcGRldi0+ZGV2Owo+ICsgICAgICAgc3RydWN0 IHJlc291cmNlICpyZXM7Cj4gKyAgICAgICBzdHJ1Y3QgbXRrX2Rpc3BfbWVyZ2UgKnByaXY7Cj4g KyAgICAgICBlbnVtIG10a19kZHBfY29tcF9pZCBjb21wX2lkOwo+ICsgICAgICAgaW50IHJldDsK PiArCj4gKyAgICAgICBwcml2ID0gZGV2bV9remFsbG9jKGRldiwgc2l6ZW9mKCpwcml2KSwgR0ZQ X0tFUk5FTCk7Cj4gKyAgICAgICBpZiAoIXByaXYpCj4gKyAgICAgICAgICAgICAgIHJldHVybiAt RU5PTUVNOwo+ICsKPiArICAgICAgIGNvbXBfaWQgPSBtdGtfZGRwX2NvbXBfZ2V0X2lkKGRldi0+ b2Zfbm9kZSwgTVRLX0RJU1BfTUVSR0UpOwo+ICsgICAgICAgaWYgKChpbnQpY29tcF9pZCA8IDAp IHsKPiArICAgICAgICAgICAgICAgZGV2X2VycihkZXYsICJGYWlsZWQgdG8gaWRlbnRpZnkgYnkg YWxpYXM6ICVkXG4iLCBjb21wX2lkKTsKPiArICAgICAgICAgICAgICAgcmV0dXJuIGNvbXBfaWQ7 Cj4gKyAgICAgICB9Cj4gKwo+ICsgICAgICAgcHJpdi0+Y29tcF9pZCA9IGNvbXBfaWQ7Cj4gKwo+ ICsgICAgICAgcHJpdi0+Y2xrID0gZGV2bV9jbGtfZ2V0KGRldiwgTlVMTCk7Cj4gKyAgICAgICBp ZiAoSVNfRVJSKHByaXYtPmNsaykpIHsKPiArICAgICAgICAgICAgICAgZGV2X2VycihkZXYsICJm YWlsZWQgdG8gZ2V0IG1lcmdlIGNsa1xuIik7Cj4gKyAgICAgICAgICAgICAgIHJldHVybiBQVFJf RVJSKHByaXYtPmNsayk7Cj4gKyAgICAgICB9Cj4gKwo+ICsgICAgICAgcmVzID0gcGxhdGZvcm1f Z2V0X3Jlc291cmNlKHBkZXYsIElPUkVTT1VSQ0VfTUVNLCAwKTsKPiArICAgICAgIHByaXYtPnJl Z3MgPSBkZXZtX2lvcmVtYXBfcmVzb3VyY2UoZGV2LCByZXMpOwo+ICsgICAgICAgaWYgKElTX0VS Uihwcml2LT5yZWdzKSkgewo+ICsgICAgICAgICAgICAgICBkZXZfZXJyKGRldiwgImZhaWxlZCB0 byBpb3JlbWFwIG1lcmdlXG4iKTsKPiArICAgICAgICAgICAgICAgcmV0dXJuIFBUUl9FUlIocHJp di0+cmVncyk7Cj4gKyAgICAgICB9Cj4gKwo+ICsjaWYgSVNfUkVBQ0hBQkxFKENPTkZJR19NVEtf Q01EUSkKPiArICAgICAgIHJldCA9IGNtZHFfZGV2X2dldF9jbGllbnRfcmVnKGRldiwgJnByaXYt PmNtZHFfcmVnLCAwKTsKPiArICAgICAgIGlmIChyZXQpCj4gKyAgICAgICAgICAgICAgIGRldl9k YmcoZGV2LCAiZ2V0IG1lZGlhdGVrLGdjZS1jbGllbnQtcmVnIGZhaWwhXG4iKTsKPiArI2VuZGlm Cj4gKwo+ICsgICAgICAgcHJpdi0+YXN5bmNfY2xrID0gb2ZfY2xrX2dldChkZXYtPm9mX25vZGUs IDEpOwo+ICsgICAgICAgaWYgKElTX0VSUihwcml2LT5hc3luY19jbGspKSB7Cj4gKyAgICAgICAg ICAgICAgIHJldCA9IFBUUl9FUlIocHJpdi0+YXN5bmNfY2xrKTsKPiArICAgICAgICAgICAgICAg ZGV2X2RiZyhkZXYsICJObyBtZXJnZSBhc3luYyBjbG9jazogJWRcbiIsIHJldCk7Cj4gKyAgICAg ICAgICAgICAgIHByaXYtPmFzeW5jX2NsayA9IE5VTEw7Cj4gKyAgICAgICB9Cj4gKwo+ICsgICAg ICAgcHJpdi0+Zmlmb19lbiA9IG9mX3Byb3BlcnR5X3JlYWRfYm9vbChkZXYtPm9mX25vZGUsCj4g KyAgICAgICAgICAgICAgICJtZWRpYXRlayxtZXJnZS1maWZvLWVuIik7Cj4gKwo+ICsgICAgICAg cGxhdGZvcm1fc2V0X2RydmRhdGEocGRldiwgcHJpdik7Cj4gKwo+ICsgICAgICAgcmV0ID0gY29t cG9uZW50X2FkZChkZXYsICZtdGtfZGlzcF9tZXJnZV9jb21wb25lbnRfb3BzKTsKPiArICAgICAg IGlmIChyZXQgIT0gMCkKPiArICAgICAgICAgICAgICAgZGV2X2VycihkZXYsICJGYWlsZWQgdG8g YWRkIGNvbXBvbmVudDogJWRcbiIsIHJldCk7Cj4gKwo+ICsgICAgICAgcmV0dXJuIHJldDsKPiAr fQo+ICsKPiArc3RhdGljIGludCBtdGtfZGlzcF9tZXJnZV9yZW1vdmUoc3RydWN0IHBsYXRmb3Jt X2RldmljZSAqcGRldikKPiArewo+ICsgICAgICAgY29tcG9uZW50X2RlbCgmcGRldi0+ZGV2LCAm bXRrX2Rpc3BfbWVyZ2VfY29tcG9uZW50X29wcyk7Cj4gKwo+ICsgICAgICAgcmV0dXJuIDA7Cj4g K30KPiArCj4gK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgb2ZfZGV2aWNlX2lkIG10a19kaXNwX21lcmdl X2RyaXZlcl9kdF9tYXRjaFtdID0gewo+ICsgICAgICAgeyAuY29tcGF0aWJsZSA9ICJtZWRpYXRl ayxtdDgxOTUtZGlzcC1tZXJnZSIsIH0sCj4gKyAgICAgICB7fSwKPiArfTsKPiArCj4gK01PRFVM RV9ERVZJQ0VfVEFCTEUob2YsIG10a19kaXNwX21lcmdlX2RyaXZlcl9kdF9tYXRjaCk7Cj4gKwo+ ICtzdHJ1Y3QgcGxhdGZvcm1fZHJpdmVyIG10a19kaXNwX21lcmdlX2RyaXZlciA9IHsKPiArICAg ICAgIC5wcm9iZSA9IG10a19kaXNwX21lcmdlX3Byb2JlLAo+ICsgICAgICAgLnJlbW92ZSA9IG10 a19kaXNwX21lcmdlX3JlbW92ZSwKPiArICAgICAgIC5kcml2ZXIgPSB7Cj4gKyAgICAgICAgICAg ICAgIC5uYW1lID0gIm1lZGlhdGVrLWRpc3AtbWVyZ2UiLAo+ICsgICAgICAgICAgICAgICAub3du ZXIgPSBUSElTX01PRFVMRSwKPiArICAgICAgICAgICAgICAgLm9mX21hdGNoX3RhYmxlID0gbXRr X2Rpc3BfbWVyZ2VfZHJpdmVyX2R0X21hdGNoLAo+ICsgICAgICAgfSwKPiArfTsKPiArCj4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHJtX2NydGMuaCBiL2RyaXZl cnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHJtX2NydGMuaAo+IGluZGV4IGNiOWEzNmM0OGQ0Zi4u NjZkMWNmMDNkZmU4IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtf ZHJtX2NydGMuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHJtX2NydGMu aAo+IEBAIC0xNCw2ICsxNCwyMCBAQAo+ICAjZGVmaW5lIE1US19NQVhfQlBDICAgIDEwCj4gICNk ZWZpbmUgTVRLX01JTl9CUEMgICAgMwo+Cj4gKyNkZWZpbmUgUkVHX0ZMRCh3aWR0aCwgc2hpZnQp IFwKPiArICAgICAgICgodW5zaWduZWQgaW50KSgoKCh3aWR0aCkgJiAweGZmKSA8PCAxNikgfCAo KHNoaWZ0KSAmIDB4ZmYpKSkKPiArCj4gKyNkZWZpbmUgUkVHX0ZMRF9XSURUSChmaWVsZCkgKCh1 bnNpZ25lZCBpbnQpKCgoZmllbGQpID4+IDE2KSAmIDB4ZmYpKQo+ICsKPiArI2RlZmluZSBSRUdf RkxEX1NISUZUKGZpZWxkKSAoKHVuc2lnbmVkIGludCkoKGZpZWxkKSAmIDB4ZmYpKQo+ICsKPiAr I2RlZmluZSBSRUdfRkxEX01BU0soZmllbGQpIFwKPiArICAgICAgICgodW5zaWduZWQgaW50KSgo MVVMTCA8PCBSRUdfRkxEX1dJRFRIKGZpZWxkKSkgLSAxKSBcCj4gKyAgICAgICAgPDwgUkVHX0ZM RF9TSElGVChmaWVsZCkpCj4gKwo+ICsjZGVmaW5lIFJFR19GTERfVkFMKGZpZWxkLCB2YWwpIFwK PiArICAgICAgICgoKHZhbCkgPDwgUkVHX0ZMRF9TSElGVChmaWVsZCkpICYgUkVHX0ZMRF9NQVNL KGZpZWxkKSkKPiArCj4gIHZvaWQgbXRrX2RybV9jcnRjX2NvbW1pdChzdHJ1Y3QgZHJtX2NydGMg KmNydGMpOwo+ICBpbnQgbXRrX2RybV9jcnRjX2NyZWF0ZShzdHJ1Y3QgZHJtX2RldmljZSAqZHJt X2RldiwKPiAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBlbnVtIG10a19kZHBfY29tcF9p ZCAqcGF0aCwKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1f ZGRwX2NvbXAuYyBiL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHJtX2RkcF9jb21wLmMK PiBpbmRleCBiYTNkN2ExY2U3YWIuLjkxMjVkMGY2MzUyZiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJz L2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9kZHBfY29tcC5jCj4gKysrIGIvZHJpdmVycy9ncHUv ZHJtL21lZGlhdGVrL210a19kcm1fZGRwX2NvbXAuYwo+IEBAIC0zNDEsNiArMzQxLDE0IEBAIHN0 YXRpYyBjb25zdCBzdHJ1Y3QgbXRrX2RkcF9jb21wX2Z1bmNzIGRkcF9kc2MgPSB7Cj4gICAgICAg ICAuY2xrX2Rpc2FibGUgPSBtdGtfZHNjX2Nsa19kaXNhYmxlLAo+ICB9Owo+Cj4gK3N0YXRpYyBj b25zdCBzdHJ1Y3QgbXRrX2RkcF9jb21wX2Z1bmNzIGRkcF9tZXJnZSA9IHsKPiArICAgICAgIC5j bGtfZW5hYmxlID0gbXRrX21lcmdlX2Nsa19lbmFibGUsCj4gKyAgICAgICAuY2xrX2Rpc2FibGUg PSBtdGtfbWVyZ2VfY2xrX2Rpc2FibGUsCj4gKyAgICAgICAuc3RhcnQgPSBtdGtfbWVyZ2Vfc3Rh cnQsCj4gKyAgICAgICAuc3RvcCA9IG10a19tZXJnZV9zdG9wLAo+ICsgICAgICAgLmNvbmZpZyA9 IG10a19tZXJnZV9jb25maWcsCj4gK307Cj4gKwo+ICBzdGF0aWMgY29uc3Qgc3RydWN0IG10a19k ZHBfY29tcF9mdW5jcyBkZHBfdWZvZSA9IHsKPiAgICAgICAgIC5jbGtfZW5hYmxlID0gbXRrX2Rk cF9jbGtfZW5hYmxlLAo+ICAgICAgICAgLmNsa19kaXNhYmxlID0gbXRrX2RkcF9jbGtfZGlzYWJs ZSwKPiBAQCAtMzY1LDYgKzM3Myw3IEBAIHN0YXRpYyBjb25zdCBjaGFyICogY29uc3QgbXRrX2Rk cF9jb21wX3N0ZW1bTVRLX0REUF9DT01QX1RZUEVfTUFYXSA9IHsKPiAgICAgICAgIFtNVEtfRElT UF9PRF0gPSAib2QiLAo+ICAgICAgICAgW01US19ESVNQX0JMU10gPSAiYmxzIiwKPiAgICAgICAg IFtNVEtfRElTUF9EU0NdID0gImRzYyIsCj4gKyAgICAgICBbTVRLX0RJU1BfTUVSR0VdID0gIm1l cmdlIiwKPiAgfTsKPgo+ICBzdHJ1Y3QgbXRrX2RkcF9jb21wX21hdGNoIHsKPiBAQCAtMzkxLDYg KzQwMCwxMiBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IG10a19kZHBfY29tcF9tYXRjaCBtdGtfZGRw X21hdGNoZXNbRERQX0NPTVBPTkVOVF9JRF9NQVhdID0gewo+ICAgICAgICAgW0REUF9DT01QT05F TlRfRFNJMl0gICAgPSB7IE1US19EU0ksICAgICAgICAgICAgMiwgJmRkcF9kc2kgfSwKPiAgICAg ICAgIFtERFBfQ09NUE9ORU5UX0RTSTNdICAgID0geyBNVEtfRFNJLCAgICAgICAgICAgIDMsICZk ZHBfZHNpIH0sCj4gICAgICAgICBbRERQX0NPTVBPTkVOVF9HQU1NQV0gICA9IHsgTVRLX0RJU1Bf R0FNTUEsICAgICAwLCAmZGRwX2dhbW1hIH0sCj4gKyAgICAgICBbRERQX0NPTVBPTkVOVF9NRVJH RTBdICA9IHsgTVRLX0RJU1BfTUVSR0UsICAgICAwLCAmZGRwX21lcmdlIH0sCj4gKyAgICAgICBb RERQX0NPTVBPTkVOVF9NRVJHRTFdICA9IHsgTVRLX0RJU1BfTUVSR0UsICAgICAxLCAmZGRwX21l cmdlIH0sCj4gKyAgICAgICBbRERQX0NPTVBPTkVOVF9NRVJHRTJdICA9IHsgTVRLX0RJU1BfTUVS R0UsICAgICAyLCAmZGRwX21lcmdlIH0sCj4gKyAgICAgICBbRERQX0NPTVBPTkVOVF9NRVJHRTNd ICA9IHsgTVRLX0RJU1BfTUVSR0UsICAgICAzLCAmZGRwX21lcmdlIH0sCj4gKyAgICAgICBbRERQ X0NPTVBPTkVOVF9NRVJHRTRdICA9IHsgTVRLX0RJU1BfTUVSR0UsICAgICA0LCAmZGRwX21lcmdl IH0sCj4gKyAgICAgICBbRERQX0NPTVBPTkVOVF9NRVJHRTVdICA9IHsgTVRLX0RJU1BfTUVSR0Us ICAgICA1LCAmZGRwX21lcmdlIH0sCj4gICAgICAgICBbRERQX0NPTVBPTkVOVF9PRDBdICAgICA9 IHsgTVRLX0RJU1BfT0QsICAgICAgICAwLCAmZGRwX29kIH0sCj4gICAgICAgICBbRERQX0NPTVBP TkVOVF9PRDFdICAgICA9IHsgTVRLX0RJU1BfT0QsICAgICAgICAxLCAmZGRwX29kIH0sCj4gICAg ICAgICBbRERQX0NPTVBPTkVOVF9PVkwwXSAgICA9IHsgTVRLX0RJU1BfT1ZMLCAgICAgICAwLCAm ZGRwX292bCB9LAo+IEBAIC01MjIsNiArNTM3LDcgQEAgaW50IG10a19kZHBfY29tcF9pbml0KHN0 cnVjdCBkZXZpY2Vfbm9kZSAqbm9kZSwgc3RydWN0IG10a19kZHBfY29tcCAqY29tcCwKPiAgICAg ICAgICAgICB0eXBlID09IE1US19ESVNQX0NPTE9SIHx8Cj4gICAgICAgICAgICAgdHlwZSA9PSBN VEtfRElTUF9EU0MgfHwKPiAgICAgICAgICAgICB0eXBlID09IE1US19ESVNQX0dBTU1BIHx8Cj4g KyAgICAgICAgICAgdHlwZSA9PSBNVEtfRElTUF9NRVJHRSB8fAo+ICAgICAgICAgICAgIHR5cGUg PT0gTVRLX0RJU1BfT1ZMIHx8Cj4gICAgICAgICAgICAgdHlwZSA9PSBNVEtfRElTUF9PVkxfMkwg fHwKPiAgICAgICAgICAgICB0eXBlID09IE1US19ESVNQX1BXTSB8fAo+IGRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9kZHBfY29tcC5oIGIvZHJpdmVycy9ncHUv ZHJtL21lZGlhdGVrL210a19kcm1fZGRwX2NvbXAuaAo+IGluZGV4IDY2MWZiNjIwZTI2Ni4uMGFm ZDc4YzBiYzkyIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHJt X2RkcF9jb21wLmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9kZHBf Y29tcC5oCj4gQEAgLTM1LDYgKzM1LDcgQEAgZW51bSBtdGtfZGRwX2NvbXBfdHlwZSB7Cj4gICAg ICAgICBNVEtfRElTUF9PRCwKPiAgICAgICAgIE1US19ESVNQX0JMUywKPiAgICAgICAgIE1US19E SVNQX0RTQywKPiArICAgICAgIE1US19ESVNQX01FUkdFLAo+ICAgICAgICAgTVRLX0REUF9DT01Q X1RZUEVfTUFYLAo+ICB9Owo+Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRl ay9tdGtfZHJtX2Rydi5jIGIvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1fZHJ2LmMK PiBpbmRleCA5OTBhNTQwNDlhN2QuLjExYzI1ZGFmMDVkOCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJz L2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9kcnYuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9t ZWRpYXRlay9tdGtfZHJtX2Rydi5jCj4gQEAgLTQ0OCw2ICs0NDgsOCBAQCBzdGF0aWMgY29uc3Qg c3RydWN0IG9mX2RldmljZV9pZCBtdGtfZGRwX2NvbXBfZHRfaWRzW10gPSB7Cj4gICAgICAgICAg IC5kYXRhID0gKHZvaWQgKilNVEtfRElTUF9ESVRIRVIgfSwKPiAgICAgICAgIHsgLmNvbXBhdGli bGUgPSAibWVkaWF0ZWssbXQ4MTk1LWRpc3AtZHNjIiwKPiAgICAgICAgICAgLmRhdGEgPSAodm9p ZCAqKU1US19ESVNQX0RTQyB9LAo+ICsgICAgICAgeyAuY29tcGF0aWJsZSA9ICJtZWRpYXRlayxt dDgxOTUtZGlzcC1tZXJnZSIsCj4gKyAgICAgICAgIC5kYXRhID0gKHZvaWQgKilNVEtfRElTUF9N RVJHRSB9LAo+ICAgICAgICAgeyAuY29tcGF0aWJsZSA9ICJtZWRpYXRlayxtdDgxNzMtZGlzcC11 Zm9lIiwKPiAgICAgICAgICAgLmRhdGEgPSAodm9pZCAqKU1US19ESVNQX1VGT0UgfSwKPiAgICAg ICAgIHsgLmNvbXBhdGlibGUgPSAibWVkaWF0ZWssbXQyNzAxLWRzaSIsCj4gQEAgLTU2Niw2ICs1 NjgsNyBAQCBzdGF0aWMgaW50IG10a19kcm1fcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAq cGRldikKPiAgICAgICAgICAgICAgICAgICAgIGNvbXBfdHlwZSA9PSBNVEtfRElTUF9DT0xPUiB8 fAo+ICAgICAgICAgICAgICAgICAgICAgY29tcF90eXBlID09IE1US19ESVNQX0RTQyB8fAo+ICAg ICAgICAgICAgICAgICAgICAgY29tcF90eXBlID09IE1US19ESVNQX0dBTU1BIHx8Cj4gKyAgICAg ICAgICAgICAgICAgICBjb21wX3R5cGUgPT0gTVRLX0RJU1BfTUVSR0UgfHwKPiAgICAgICAgICAg ICAgICAgICAgIGNvbXBfdHlwZSA9PSBNVEtfRElTUF9PVkwgfHwKPiAgICAgICAgICAgICAgICAg ICAgIGNvbXBfdHlwZSA9PSBNVEtfRElTUF9PVkxfMkwgfHwKPiAgICAgICAgICAgICAgICAgICAg IGNvbXBfdHlwZSA9PSBNVEtfRElTUF9SRE1BIHx8Cj4gQEAgLTY2Nyw2ICs2NzAsNyBAQCBzdGF0 aWMgc3RydWN0IHBsYXRmb3JtX2RyaXZlciAqIGNvbnN0IG10a19kcm1fZHJpdmVyc1tdID0gewo+ ICAgICAgICAgJm10a19kaXNwX2NvbG9yX2RyaXZlciwKPiAgICAgICAgICZtdGtfZGlzcF9kc2Nf ZHJpdmVyLAo+ICAgICAgICAgJm10a19kaXNwX2dhbW1hX2RyaXZlciwKPiArICAgICAgICZtdGtf ZGlzcF9tZXJnZV9kcml2ZXIsCj4gICAgICAgICAmbXRrX2Rpc3Bfb3ZsX2RyaXZlciwKPiAgICAg ICAgICZtdGtfZGlzcF9yZG1hX2RyaXZlciwKPiAgICAgICAgICZtdGtfZHBpX2RyaXZlciwKPiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1fZHJ2LmggYi9kcml2 ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9kcnYuaAo+IGluZGV4IDhiNzIyMzMwZWY3ZC4u YzRkODAyYTQzNTMxIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtf ZHJtX2Rydi5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1fZHJ2LmgK PiBAQCAtNTIsNiArNTIsNyBAQCBleHRlcm4gc3RydWN0IHBsYXRmb3JtX2RyaXZlciBtdGtfZGlz cF9nYW1tYV9kcml2ZXI7Cj4gIGV4dGVybiBzdHJ1Y3QgcGxhdGZvcm1fZHJpdmVyIG10a19kaXNw X292bF9kcml2ZXI7Cj4gIGV4dGVybiBzdHJ1Y3QgcGxhdGZvcm1fZHJpdmVyIG10a19kaXNwX3Jk bWFfZHJpdmVyOwo+ICBleHRlcm4gc3RydWN0IHBsYXRmb3JtX2RyaXZlciBtdGtfZGlzcF9kc2Nf ZHJpdmVyOwo+ICtleHRlcm4gc3RydWN0IHBsYXRmb3JtX2RyaXZlciBtdGtfZGlzcF9tZXJnZV9k cml2ZXI7CgpBbHBoYWJldGljIG9yZGVyLgoKUmVnYXJkcywKQ2h1bi1LdWFuZy4KCj4gIGV4dGVy biBzdHJ1Y3QgcGxhdGZvcm1fZHJpdmVyIG10a19kcGlfZHJpdmVyOwo+ICBleHRlcm4gc3RydWN0 IHBsYXRmb3JtX2RyaXZlciBtdGtfZHNpX2RyaXZlcjsKPgo+IC0tCj4gMi4xOC4wCj4KCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmxpbnV4LWFybS1rZXJu ZWwgbWFpbGluZyBsaXN0CmxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRw Oi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFybS1rZXJuZWwK