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.4 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED 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 3E07FC4338F for ; Fri, 6 Aug 2021 09:46:40 +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 74CD96103B for ; Fri, 6 Aug 2021 09:46:39 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org 74CD96103B Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=rock-chips.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=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:Message-ID:Mime-Version:References: Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To: List-Owner; bh=jubAtbbdLdXFDIclMxOkkaMQ3U9KqabC+KgrsmbBG54=; b=HtZydYYw/eQJTv TG/4De2DiQHK44HavZ4iFiIfKJ60TNDjphRLk+aBar+wBfNraSJciJgQZKy0mMw0HqVg3DPkco13Q BRyhwIi7RdAWfH/WMGZSKSMjkTLp6ePhuZyv4rYHbXIMfgyjMLiFmbvokB7P1AgCL/ymN7IgvsmZY SFLipWAAM1Qz+rW9T4oAOPmlcMWHcUzXFxEJIJ6DhvgHSop8ONoyhZh4cOmwbmDIOx4ySPsCBw8sJ LrXDMj7AWKlNwaizzvnME6go10D4tvWdDRqm9l0j9DkUrQEfFLphmHuy0RPJ/I2bzjUpFGNclx1B/ cUhqhEjG+P7zuGvers6Q==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1mBwR0-00C1rM-Ji; Fri, 06 Aug 2021 09:46:34 +0000 Received: from regular1.263xmail.com ([211.150.70.201]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1mBwQm-00C1od-Mk; Fri, 06 Aug 2021 09:46:23 +0000 Received: from localhost (unknown [192.168.167.16]) by regular1.263xmail.com (Postfix) with ESMTP id 98E3DEFB; Fri, 6 Aug 2021 17:46:12 +0800 (CST) X-MAIL-GRAY: 0 X-MAIL-DELIVERY: 1 X-ADDR-CHECKED4: 1 X-SKE-CHECKED: 1 X-ABS-CHECKED: 1 X-ANTISPAM-LEVEL: 2 Received: from desktop-sg5v5ea (unknown [103.29.142.67]) by smtp.263.net (postfix) whith ESMTP id P26936T140041537963776S1628243164229277_; Fri, 06 Aug 2021 17:46:12 +0800 (CST) X-IP-DOMAINF: 1 X-UNIQUE-TAG: <334ae2170fb6f0ea583b7b601c669876> X-RL-SENDER: jay.xu@rock-chips.com X-SENDER: xjq@rock-chips.com X-LOGIN-NAME: jay.xu@rock-chips.com X-FST-TO: heiko@sntech.de X-RCPT-COUNT: 19 X-SENDER-IP: 103.29.142.67 X-ATTACHMENT-NUM: 0 X-System-Flag: 0 Date: Fri, 6 Aug 2021 17:46:05 +0800 From: "jay.xu@rock-chips.com" To: =?utf-8?B?SGVpa28gU3TDvGJuZXI=?= , "Michael Riesch" , devicetree , linux-arm-kernel , "open list:ARM/Rockchip SoC..." , "Linux Kernel Mailing List" , "Robin Murphy" , =?utf-8?B?5p2o5Yev?= Cc: robh+dt , cl , "Peter Geis" , "Sascha Hauer" , "xxm@rock-chips.com" , "Rafael J . Wysocki" , "Lee Jones" , ulf.hansson , "Zhang Changzhong" , "Tobias Schramm" , "Johan Jonker" Subject: Re: Re: [PATCH v3 2/7] soc: rockchip: io-domain: add rk3568 support References: <20210805120107.27007-1-michael.riesch@wolfvision.net>, <20210805120107.27007-3-michael.riesch@wolfvision.net>, <8008800c-c518-30d4-edcf-57566e7a1251@arm.com>, <3206032.SvYEEZNnvj@diego> X-Priority: 3 X-Has-Attach: no X-Mailer: Foxmail 7.2.19.158[cn] Mime-Version: 1.0 Message-ID: <2021080617460178513151@rock-chips.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210806_024621_352194_88D47105 X-CRM114-Status: GOOD ( 35.16 ) X-BeenThere: linux-rockchip@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Upstream kernel work for Rockchip platforms List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "Linux-rockchip" Errors-To: linux-rockchip-bounces+linux-rockchip=archiver.kernel.org@lists.infradead.org SGkgSGVpa28gYW5kIFJvYmluCgotLS0tLS0tLS0tLS0tLQpqYXkueHVAcm9jay1jaGlwcy5jb20K PkhpIFJvYmluLAo+Cj5BbSBEb25uZXJzdGFnLCA1LiBBdWd1c3QgMjAyMSwgMTg6Mjc6MzYgQ0VT VCBzY2hyaWViIFJvYmluIE11cnBoeToKPj4gT24gMjAyMS0wOC0wNSAxMzowMSwgTWljaGFlbCBS aWVzY2ggd3JvdGU6Cj4+ID4gRnJvbTogSmlhbnF1biBYdSA8amF5Lnh1QHJvY2stY2hpcHMuY29t Pgo+PiA+Cj4+ID4gVGhlIGlvLWRvbWFpbiByZWdpc3RlcnMgb24gUkszNTY4IFNvQ3MgaGF2ZSB0 aHJlZSBzZXBhcmF0ZWQgYml0cyB0bwo+PiA+IGVuYWJsZS9kaXNhYmxlIHRoZSAxLjh2LzIuNXYv My4zdiBwb3dlci4KPj4gPgo+PiA+IFRoaXMgcGF0Y2ggbWFrZSB0aGUgd3JpdGUgdG8gYmUgYSBv cGVyYXRpb24sIGFsbG93IHJrMzU2OCB1c2VzIGEgcHJpdmF0ZQo+PiA+IHJlZ2lzdGVyIHNldCBm dW5jdGlvbi4KPj4gPgo+PiA+IFNpbmNlIHRoZSAyLjV2IGlzIG5vdCB1c2VkIG9uIFJLMzU2OCwg c28gdGhlIGRyaXZlciBvbmx5IHNldAo+Pgo+PiBGV0lXLCB0aGlzIHNlZW1zIGF0IG9kZHMgd2l0 aCB3aGF0IHRoZSBmaXJzdCBwYXJhZ3JhcGggc2F5cyAtIGNhbiBhbnlvbmUKPj4gY2xhcmlmeSB3 aGF0IGV4YWN0bHkgIm5vdCB1c2VkIiBtZWFucyBoZXJlPyBJcyBpdCB0aGF0IHRoZSBJL08gZG9t YWluCj4+IGNvbnRyb2xsZXIgaGFzIGJlZW4gcmVkZXNpZ25lZCB0byBzdXBwb3J0IG1vcmUgdGhh biB0d28gbG9naWMgbGV2ZWxzIG9uCj4+IHRoZSBuZXcgZ2VuZXJhdGlvbiBvZiBTb0NzLCBidXQg UkszNTY4J3MgSS9PIHBhZHMgc3RpbGwgb25seSBwaHlzaWNhbGx5Cj4+IHN1cHBvcnQgMS44diBh bmQgMy4zdjsgb3IgaXMgaXQgdGhhdCBpdCAqY2FuKiBzdXBwb3J0IDIuNXYgYXMgd2VsbCBidXQK Pj4gbm8gY3VycmVudGx5LWtub3duIFJLMzU2OC1iYXNlZCBkZXNpZ25zIHVzZSB0aGF0Pwo+Pgo+ PiBJbiB0aGUgZm9ybWVyIGNhc2UgaXQncyBqdXN0IGEgd29yZGluZyBpc3N1ZSBpbiB0aGUgY29t bWl0IG1lc3NhZ2UsIGJ1dAo+PiBpbiB0aGUgbGF0dGVyIGl0J3MgYXJndWFibHkgd29ydGggaW1w bGVtZW50aW5nIHN1cHBvcnQgbm93IGZvciB0aGUgc2FrZQo+PiBvZiBmdXR1cmUgY29tcGF0aWJp bGl0eS4KPgo+SSBoYWRuJ3QgbG9va2VkIHRoYXQgZGVlcGx5IGludG8gdGhlIHJrMzU2eCBpby1k b21haW4gY29uZmlnLCBidXQgYXQgbGVhc3QKPm9uIGEgcmVnaXN0ZXIgbGV2ZWwgaW4gdGhlIFRS TSBpdCBzZWVtcyB0aGVyZSBhcmUgc2VwYXJhdGUgYml0cyBmb3IKPiIzLjNWIGNvbnRyb2wiLCAi Mi41ViBjb250cm9sIiwgIjEuOFYgY29udHJvbCIgWzBdIGZvciBlYWNoIGlvLWRvbWFpbi4KPgo+ T2YgY291cnNlIHRoZSBkb2N1bWVudGF0aW9uIGlzIG90aGVyd2lzZSBzb21ld2hhdCBzcGFyc2Uu Cj4KPk1heWJlIEpheSBvciBLZXZlciBbYWRkZWRdIGNhbiBleHBsYWluIGEgYml0IG1vcmUgYWJv dXQgdGhlIDMgdm9sdGFnZQo+bGV2ZWxzLgo+Cj4KPkluIGdlbmVyYWwgdGhvdWdoLCBJIHRlbmQg dG8gZmluZCB0aGUgYXBwcm9hY2ggZ29vZCBlbm91Z2ggZm9yIG5vdy4KPgo+RXNwZWNpYWxseSBh cyB0aGUgaW8tZG9tYWluIHN0dWZmIGlzIGFsd2F5cyBzYWlkIHRvICJjYW4gY2F1c2UgZGFtYWdl Cj50byB0aGUgc29jIGlmIHVzZWQgaW5jb3JyZWN0bHkiIGFuZCBpdCBsb29rcyBsaWtlIG5vYm9k eSAoaW5jbHVkaW5nCj5Sb2NrY2hpcCkgc2VlbXMgdG8gaGF2ZSBhY3R1YWwgaGFyZHdhcmUgdXNp bmcgdGhlc2UgMi41ViBsZXZlbHMgcmlnaHQgbm93Lgo+Cj5TbyBoYXZpbmcgY29kZSBpbiB0aGVy ZSB0aGF0IG5vLW9uZSBldmVyIHRlc3RlZCBkb2Vzbid0IGZlZWwgdG9vIGdvb2QgOy0pCj4gCnll cwoKYWJvdXQgdGhlIDNiaXQKCmNhc2UgwqAgwqAgVjMzIMKgVjI1IMKgVjE4IMKgIMKgIMKgIHJl c3VsdAowIMKgIMKgIMKgIMKgIMKgMCDCoCDCoCDCoDAgwqAgwqAgwqAgMCDCoCDCoCDCoCDCoCDC oCBJTyBzYWZlLCBidXQgY2Fubm90IHdvcmsKMSDCoCDCoCDCoCDCoCDCoDAgwqAgwqAgwqAwIMKg IMKgIMKgIDEgwqAgwqAgwqAgwqAgwqAgSU8gcmVxdWlyZSAxLjhWLCBzaG91bGQgPCAxLjk4Viwg b3RoZXJ3aXNlIElPIG1heSBkYW1hZ2UKMiDCoCDCoCDCoCDCoCDCoDAgwqAgwqAgwqAxIMKgIMKg IMKgIDAgwqAgwqAgwqAgwqAgwqAgSU8gcmVxdWlyZSAyLjVWLCBzaG91bGQgPCAyLjc1Viwgb3Ro ZXJ3aXNlIElPIG1heSBkYW1hZ2UKMyDCoCDCoCDCoCDCoCDCoDAgwqAgwqAgwqAxIMKgIMKgIMKg IDEgwqAgwqAgwqAgwqAgwqAgSW52YWxpZCBzdGF0ZSwgc2hvdWxkIGF2b2lkCjQgwqAgwqAgwqAg wqAgwqAxIMKgIMKgIMKgMCDCoCDCoCDCoCAwIMKgIMKgIMKgIMKgIMKgwqBJTyByZXF1aXJlIDMu M1YsIHNob3VsZCA8IDMuNjNWLCBvdGhlcndpc2UgSU8gbWF5IGRhbWFnZQo1IMKgIMKgIMKgIMKg IMKgMSDCoCDCoCDCoDAgwqAgwqAgwqAgMSDCoCDCoCDCoCDCoCDCoMKgSU8gcmVxdWlyZSAxLjhW LCBzaG91bGQgPCAxLjk4Viwgb3RoZXJ3aXNlIElPIG1heSBkYW1hZ2UKNiDCoCDCoCDCoCDCoCDC oDEgwqAgwqAgwqAxIMKgIMKgIMKgIDAgwqAgwqAgwqAgwqAgwqAgSU8gcmVxdWlyZSAyLjVWLCBz aG91bGQgPCAyLjc1Viwgb3RoZXJ3aXNlIElPIG1heSBkYW1hZ2UKNyDCoCDCoCDCoCDCoCDCoDEg wqAgwqAgwqAxIMKgIMKgIMKgIDEgwqAgwqAgwqAgwqAgwqAgSW52YWxpZCBzdGF0ZSwgc2hvdWxk IGF2b2lkCgo+QWRkaW5nIHRoaXMgbGF0ZXIgd2hlbiBuZWVkZWQgc2hvdWxkIGJlIHNvbWV3aGF0 IGVhc3ksIGFzIGl0IHJlYWxseSBvbmx5Cj5uZWVkcyBhZGRpbmcgb2YgaGFuZGxpbmcgdGhhdCAz cmQgY29udHJvbCBiaXQgcGVyIGRvbWFpbi4KPgo+Cj5IZWlrbwo+Cj4KPgo+WzBdIHdoYXQgaGFw cGVucyBpZiBub25lIG9mIHRoZSAzIGlzIGFjdGl2ZT8gOy0pCj4KPgo+Pgo+PiBSb2Jpbi4KPj4K Pj4gPiAxLjh2IFtlbmFibGVdICsgMy4zdiBbZGlzYWJsZV0gZm9yIDEuOHYgbW9kZQo+PiA+IDEu OHYgW2Rpc2FibGVdICsgMy4zdiBbZW5hYmxlXSBmb3IgMy4zdiBtb2RlCj4+ID4KPj4gPiBUaGVy ZSBpcyBub3QgcmVnaXN0ZXIgb3JkZXIgcmVxdWlyZW1lbnQgd2hpY2ggaGFzIGJlZW4gY2xlYXJl ZCBieSBvdXIgSUMKPj4gPiB0ZWFtLgo+PiA+Cj4+ID4gU2lnbmVkLW9mZi1ieTogSmlhbnF1biBY dSA8amF5Lnh1QHJvY2stY2hpcHMuY29tPgo+PiA+IC0tLQo+PiA+wqDCoCBkcml2ZXJzL3NvYy9y b2NrY2hpcC9pby1kb21haW4uYyB8IDg4ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0t Cj4+ID7CoMKgIDEgZmlsZSBjaGFuZ2VkLCA4MCBpbnNlcnRpb25zKCspLCA4IGRlbGV0aW9ucygt KQo+PiA+Cj4+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvc29jL3JvY2tjaGlwL2lvLWRvbWFpbi5j IGIvZHJpdmVycy9zb2Mvcm9ja2NoaXAvaW8tZG9tYWluLmMKPj4gPiBpbmRleCBjZjgxODJmYzM2 NDIuLjEzYzQ0NmZkMzNhOSAxMDA2NDQKPj4gPiAtLS0gYS9kcml2ZXJzL3NvYy9yb2NrY2hpcC9p by1kb21haW4uYwo+PiA+ICsrKyBiL2RyaXZlcnMvc29jL3JvY2tjaGlwL2lvLWRvbWFpbi5jCj4+ ID4gQEAgLTUxLDEzICs1MSwxMSBAQAo+PiA+wqDCoCAjZGVmaW5lIFJLMzM5OV9QTVVHUkZfQ09O MF9WU0VMCUJJVCg4KQo+PiA+wqDCoCAjZGVmaW5lIFJLMzM5OV9QTVVHUkZfVlNFTF9TVVBQTFlf TlVNCTkKPj4gPsKgwqAKPj4gPiAtc3RydWN0IHJvY2tjaGlwX2lvZG9tYWluOwo+PiA+ICsjZGVm aW5lIFJLMzU2OF9QTVVfR1JGX0lPX1ZTRUwwCSgweDAxNDApCj4+ID4gKyNkZWZpbmUgUkszNTY4 X1BNVV9HUkZfSU9fVlNFTDEJKDB4MDE0NCkKPj4gPiArI2RlZmluZSBSSzM1NjhfUE1VX0dSRl9J T19WU0VMMgkoMHgwMTQ4KQo+PiA+wqDCoAo+PiA+IC1zdHJ1Y3Qgcm9ja2NoaXBfaW9kb21haW5f c29jX2RhdGEgewo+PiA+IC0JaW50IGdyZl9vZmZzZXQ7Cj4+ID4gLQljb25zdCBjaGFyICpzdXBw bHlfbmFtZXNbTUFYX1NVUFBMSUVTXTsKPj4gPiAtCXZvaWQgKCppbml0KShzdHJ1Y3Qgcm9ja2No aXBfaW9kb21haW4gKmlvZCk7Cj4+ID4gLX07Cj4+ID4gK3N0cnVjdCByb2NrY2hpcF9pb2RvbWFp bjsKPj4gPsKgwqAKPj4gPsKgwqAgc3RydWN0IHJvY2tjaGlwX2lvZG9tYWluX3N1cHBseSB7Cj4+ ID7CoMKgIHN0cnVjdCByb2NrY2hpcF9pb2RvbWFpbiAqaW9kOwo+PiA+IEBAIC02NiwxMyArNjQs NjIgQEAgc3RydWN0IHJvY2tjaGlwX2lvZG9tYWluX3N1cHBseSB7Cj4+ID7CoMKgIGludCBpZHg7 Cj4+ID7CoMKgIH07Cj4+ID7CoMKgCj4+ID4gK3N0cnVjdCByb2NrY2hpcF9pb2RvbWFpbl9zb2Nf ZGF0YSB7Cj4+ID4gKwlpbnQgZ3JmX29mZnNldDsKPj4gPiArCWNvbnN0IGNoYXIgKnN1cHBseV9u YW1lc1tNQVhfU1VQUExJRVNdOwo+PiA+ICsJdm9pZCAoKmluaXQpKHN0cnVjdCByb2NrY2hpcF9p b2RvbWFpbiAqaW9kKTsKPj4gPiArCWludCAoKndyaXRlKShzdHJ1Y3Qgcm9ja2NoaXBfaW9kb21h aW5fc3VwcGx5ICpzdXBwbHksIGludCB1Vik7Cj4+ID4gK307Cj4+ID4gKwo+PiA+wqDCoCBzdHJ1 Y3Qgcm9ja2NoaXBfaW9kb21haW4gewo+PiA+wqDCoCBzdHJ1Y3QgZGV2aWNlICpkZXY7Cj4+ID7C oMKgIHN0cnVjdCByZWdtYXAgKmdyZjsKPj4gPsKgwqAgY29uc3Qgc3RydWN0IHJvY2tjaGlwX2lv ZG9tYWluX3NvY19kYXRhICpzb2NfZGF0YTsKPj4gPsKgwqAgc3RydWN0IHJvY2tjaGlwX2lvZG9t YWluX3N1cHBseSBzdXBwbGllc1tNQVhfU1VQUExJRVNdOwo+PiA+ICsJaW50ICgqd3JpdGUpKHN0 cnVjdCByb2NrY2hpcF9pb2RvbWFpbl9zdXBwbHkgKnN1cHBseSwgaW50IHVWKTsKPj4gPsKgwqAg fTsKPj4gPsKgwqAKPj4gPiArc3RhdGljIGludCByazM1NjhfaW9kb21haW5fd3JpdGUoc3RydWN0 IHJvY2tjaGlwX2lvZG9tYWluX3N1cHBseSAqc3VwcGx5LCBpbnQgdVYpCj4+ID4gK3sKPj4gPiAr CXN0cnVjdCByb2NrY2hpcF9pb2RvbWFpbiAqaW9kID0gc3VwcGx5LT5pb2Q7Cj4+ID4gKwl1MzIg aXNfM3YzID0gdVYgPiBNQVhfVk9MVEFHRV8xXzg7Cj4+ID4gKwl1MzIgdmFsMCwgdmFsMTsKPj4g PiArCWludCBiOwo+PiA+ICsKPj4gPiArCXN3aXRjaCAoc3VwcGx5LT5pZHgpIHsKPj4gPiArCWNh c2UgMDogLyogcG11aW8xICovCj4+ID4gKwlicmVhazsKPj4gPiArCWNhc2UgMTogLyogcG11aW8y ICovCj4+ID4gKwliID0gc3VwcGx5LT5pZHg7Cj4+ID4gKwl2YWwwID0gQklUKDE2ICsgYikgfCAo aXNfM3YzID8gMCA6IEJJVChiKSk7Cj4+ID4gKwliID0gc3VwcGx5LT5pZHggKyA0Owo+PiA+ICsJ dmFsMSA9IEJJVCgxNiArIGIpIHwgKGlzXzN2MyA/IEJJVChiKSA6IDApOwo+PiA+ICsKPj4gPiAr CXJlZ21hcF93cml0ZShpb2QtPmdyZiwgUkszNTY4X1BNVV9HUkZfSU9fVlNFTDIsIHZhbDApOwo+ PiA+ICsJcmVnbWFwX3dyaXRlKGlvZC0+Z3JmLCBSSzM1NjhfUE1VX0dSRl9JT19WU0VMMiwgdmFs MSk7Cj4+ID4gKwlicmVhazsKPj4gPiArCWNhc2UgMzogLyogdmNjaW8yICovCj4+ID4gKwlicmVh azsKPj4gPiArCWNhc2UgMjogLyogdmNjaW8xICovCj4+ID4gKwljYXNlIDQ6IC8qIHZjY2lvMyAq Lwo+PiA+ICsJY2FzZSA1OiAvKiB2Y2NpbzQgKi8KPj4gPiArCWNhc2UgNjogLyogdmNjaW81ICov Cj4+ID4gKwljYXNlIDc6IC8qIHZjY2lvNiAqLwo+PiA+ICsJY2FzZSA4OiAvKiB2Y2NpbzcgKi8K Pj4gPiArCWIgPSBzdXBwbHktPmlkeCAtIDE7Cj4+ID4gKwl2YWwwID0gQklUKDE2ICsgYikgfCAo aXNfM3YzID8gMCA6IEJJVChiKSk7Cj4+ID4gKwl2YWwxID0gQklUKDE2ICsgYikgfCAoaXNfM3Yz ID8gQklUKGIpIDogMCk7Cj4+ID4gKwo+PiA+ICsJcmVnbWFwX3dyaXRlKGlvZC0+Z3JmLCBSSzM1 NjhfUE1VX0dSRl9JT19WU0VMMCwgdmFsMCk7Cj4+ID4gKwlyZWdtYXBfd3JpdGUoaW9kLT5ncmYs IFJLMzU2OF9QTVVfR1JGX0lPX1ZTRUwxLCB2YWwxKTsKPj4gPiArCWJyZWFrOwo+PiA+ICsJZGVm YXVsdDoKPj4gPiArCXJldHVybiAtRUlOVkFMOwo+PiA+ICsJfTsKPj4gPiArCj4+ID4gKwlyZXR1 cm4gMDsKPj4gPiArfQo+PiA+ICsKPj4gPsKgwqAgc3RhdGljIGludCByb2NrY2hpcF9pb2RvbWFp bl93cml0ZShzdHJ1Y3Qgcm9ja2NoaXBfaW9kb21haW5fc3VwcGx5ICpzdXBwbHksCj4+ID7CoMKg IMKgwqAgaW50IHVWKQo+PiA+wqDCoCB7Cj4+ID4gQEAgLTEzNiw3ICsxODMsNyBAQCBzdGF0aWMg aW50IHJvY2tjaGlwX2lvZG9tYWluX25vdGlmeShzdHJ1Y3Qgbm90aWZpZXJfYmxvY2sgKm5iLAo+ PiA+wqDCoCByZXR1cm4gTk9USUZZX0JBRDsKPj4gPsKgwqAgfQo+PiA+wqDCoAo+PiA+IC0JcmV0 ID0gcm9ja2NoaXBfaW9kb21haW5fd3JpdGUoc3VwcGx5LCB1Vik7Cj4+ID4gKwlyZXQgPSBzdXBw bHktPmlvZC0+d3JpdGUoc3VwcGx5LCB1Vik7Cj4+ID7CoMKgIGlmIChyZXQgJiYgZXZlbnQgPT0g UkVHVUxBVE9SX0VWRU5UX1BSRV9WT0xUQUdFX0NIQU5HRSkKPj4gPsKgwqAgcmV0dXJuIE5PVElG WV9CQUQ7Cj4+ID7CoMKgCj4+ID4gQEAgLTM5OCw2ICs0NDUsMjIgQEAgc3RhdGljIGNvbnN0IHN0 cnVjdCByb2NrY2hpcF9pb2RvbWFpbl9zb2NfZGF0YSBzb2NfZGF0YV9yazMzOTlfcG11ID0gewo+ PiA+wqDCoCAuaW5pdCA9IHJrMzM5OV9wbXVfaW9kb21haW5faW5pdCwKPj4gPsKgwqAgfTsKPj4g PsKgwqAKPj4gPiArc3RhdGljIGNvbnN0IHN0cnVjdCByb2NrY2hpcF9pb2RvbWFpbl9zb2NfZGF0 YSBzb2NfZGF0YV9yazM1NjhfcG11ID0gewo+PiA+ICsJLmdyZl9vZmZzZXQgPSAweDE0MCwKPj4g PiArCS5zdXBwbHlfbmFtZXMgPSB7Cj4+ID4gKwkicG11aW8xIiwKPj4gPiArCSJwbXVpbzIiLAo+ PiA+ICsJInZjY2lvMSIsCj4+ID4gKwkidmNjaW8yIiwKPj4gPiArCSJ2Y2NpbzMiLAo+PiA+ICsJ InZjY2lvNCIsCj4+ID4gKwkidmNjaW81IiwKPj4gPiArCSJ2Y2NpbzYiLAo+PiA+ICsJInZjY2lv NyIsCj4+ID4gKwl9LAo+PiA+ICsJLndyaXRlID0gcmszNTY4X2lvZG9tYWluX3dyaXRlLAo+PiA+ ICt9Owo+PiA+ICsKPj4gPsKgwqAgc3RhdGljIGNvbnN0IHN0cnVjdCByb2NrY2hpcF9pb2RvbWFp bl9zb2NfZGF0YSBzb2NfZGF0YV9ydjExMDggPSB7Cj4+ID7CoMKgIC5ncmZfb2Zmc2V0ID0gMHg0 MDQsCj4+ID7CoMKgIC5zdXBwbHlfbmFtZXMgPSB7Cj4+ID4gQEAgLTQ2OSw2ICs1MzIsMTAgQEAg c3RhdGljIGNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgcm9ja2NoaXBfaW9kb21haW5fbWF0Y2hb XSA9IHsKPj4gPsKgwqAgLmNvbXBhdGlibGUgPSAicm9ja2NoaXAscmszMzk5LXBtdS1pby12b2x0 YWdlLWRvbWFpbiIsCj4+ID7CoMKgIC5kYXRhID0gJnNvY19kYXRhX3JrMzM5OV9wbXUKPj4gPsKg wqAgfSwKPj4gPiArCXsKPj4gPiArCS5jb21wYXRpYmxlID0gInJvY2tjaGlwLHJrMzU2OC1wbXUt aW8tdm9sdGFnZS1kb21haW4iLAo+PiA+ICsJLmRhdGEgPSAmc29jX2RhdGFfcmszNTY4X3BtdQo+ PiA+ICsJfSwKPj4gPsKgwqAgewo+PiA+wqDCoCAuY29tcGF0aWJsZSA9ICJyb2NrY2hpcCxydjEx MDgtaW8tdm9sdGFnZS1kb21haW4iLAo+PiA+wqDCoCAuZGF0YSA9ICZzb2NfZGF0YV9ydjExMDgK Pj4gPiBAQCAtNTAyLDYgKzU2OSwxMSBAQCBzdGF0aWMgaW50IHJvY2tjaGlwX2lvZG9tYWluX3By b2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCj4+ID7CoMKgIG1hdGNoID0gb2ZfbWF0 Y2hfbm9kZShyb2NrY2hpcF9pb2RvbWFpbl9tYXRjaCwgbnApOwo+PiA+wqDCoCBpb2QtPnNvY19k YXRhID0gbWF0Y2gtPmRhdGE7Cj4+ID7CoMKgCj4+ID4gKwlpZiAoaW9kLT5zb2NfZGF0YS0+d3Jp dGUpCj4+ID4gKwlpb2QtPndyaXRlID0gaW9kLT5zb2NfZGF0YS0+d3JpdGU7Cj4+ID4gKwllbHNl Cj4+ID4gKwlpb2QtPndyaXRlID0gcm9ja2NoaXBfaW9kb21haW5fd3JpdGU7Cj4+ID4gKwo+PiA+ wqDCoCBwYXJlbnQgPSBwZGV2LT5kZXYucGFyZW50Owo+PiA+wqDCoCBpZiAocGFyZW50ICYmIHBh cmVudC0+b2Zfbm9kZSkgewo+PiA+wqDCoCBpb2QtPmdyZiA9IHN5c2Nvbl9ub2RlX3RvX3JlZ21h cChwYXJlbnQtPm9mX25vZGUpOwo+PiA+IEBAIC01NjIsNyArNjM0LDcgQEAgc3RhdGljIGludCBy b2NrY2hpcF9pb2RvbWFpbl9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQo+PiA+ wqDCoCBzdXBwbHktPnJlZyA9IHJlZzsKPj4gPsKgwqAgc3VwcGx5LT5uYi5ub3RpZmllcl9jYWxs ID0gcm9ja2NoaXBfaW9kb21haW5fbm90aWZ5Owo+PiA+wqDCoAo+PiA+IC0JcmV0ID0gcm9ja2No aXBfaW9kb21haW5fd3JpdGUoc3VwcGx5LCB1Vik7Cj4+ID4gKwlyZXQgPSBpb2QtPndyaXRlKHN1 cHBseSwgdVYpOwo+PiA+wqDCoCBpZiAocmV0KSB7Cj4+ID7CoMKgIHN1cHBseS0+cmVnID0gTlVM TDsKPj4gPsKgwqAgZ290byB1bnJlZ19ub3RpZnk7Cj4+ID4KPj4KPgo+Cj4KPgo+Cj4KPgpfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpMaW51eC1yb2NrY2hp cCBtYWlsaW5nIGxpc3QKTGludXgtcm9ja2NoaXBAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8v bGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LXJvY2tjaGlwCg==