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=-18.0 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,NICE_REPLY_A,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED,USER_AGENT_SANE_1 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 941D1C4338F for ; Tue, 24 Aug 2021 02:43:11 +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 D0769613D0 for ; Tue, 24 Aug 2021 02:43:10 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org D0769613D0 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-Type: Content-Transfer-Encoding:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:Date:Message-ID:From: References:To:Subject:Reply-To:Cc:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=qW7BH9rERMR8xeRFA/7JA020pysPCOAsmjUKPzL6tkQ=; b=q2snOmyuV5PNEefk4qGJR3sqvp FVGwNy8kinWNOjOIdxn6bPvr6boK8B0T900VfK12zedXJWhz6ul0EqDczGDiSbz2RWJfizgU3uaQa XqreDy6QUe5Dt0gj6JvT2E3E3vUWRlfd/0KjgcggruYi3m9wAIQ3ZQGO5/slnDDOsWVtqhlDjgEyC dyAQChmfHZHN8OUS8H2pwEU/WXsXHVTv5GfYM1FnBFohAsh7nX09Fc+Wt16PVKA7NbRRO6HK7KNYn iZ6JcVT0RYxt4s9dhJAh0RyVXRQtMsNwguOa2QQiDFFUF5lw5X7YDpiehWBhgk5m+KNePPc6HIhau YPJDU1eQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1mIMOz-001HMp-LY; Tue, 24 Aug 2021 02:43:01 +0000 Received: from regular1.263xmail.com ([211.150.70.200]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1mIMOt-001HLk-RJ for linux-rockchip@lists.infradead.org; Tue, 24 Aug 2021 02:43:00 +0000 Received: from localhost (unknown [192.168.167.235]) by regular1.263xmail.com (Postfix) with ESMTP id C93011DE9 for ; Tue, 24 Aug 2021 10:42:48 +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 [172.16.12.19] (unknown [58.22.7.114]) by smtp.263.net (postfix) whith ESMTP id P32762T139760811095808S1629772968130960_; Tue, 24 Aug 2021 10:42:48 +0800 (CST) X-IP-DOMAINF: 1 X-UNIQUE-TAG: <64c9dc7023ff9dc683962e0c60673bd4> X-RL-SENDER: sugar.zhang@rock-chips.com X-SENDER: zxg@rock-chips.com X-LOGIN-NAME: sugar.zhang@rock-chips.com X-FST-TO: linux-rockchip@lists.infradead.org X-RCPT-COUNT: 1 X-SENDER-IP: 58.22.7.114 X-ATTACHMENT-NUM: 0 X-System-Flag: 0 Subject: =?UTF-8?Q?Re=3a_=5bPATCH_v2_1/4=5d_ASoC=3a_rockchip=3a_add_support_?= =?UTF-8?B?Zm9yIGkycy10ZG0gY29udHJvbGxlcuOAkOivt+azqOaEj++8jOmCruS7tueUsWxp?= =?UTF-8?Q?nux-rockchip-bounces+sugar=2ezhang=3drock-chips=2ecom=40lists=2ei?= =?UTF-8?B?bmZyYWRlYWQub3Jn5Luj5Y+R44CR?= To: linux-rockchip@lists.infradead.org References: <20210820182731.29370-1-frattaroli.nicolas@gmail.com> <20210820182731.29370-2-frattaroli.nicolas@gmail.com> <6bc6330215980f10853a2dac69f0bdfd9c8fb303.camel@pengutronix.de> <9368735.gdWEK3B62L@archbook> From: sugar zhang Message-ID: Date: Tue, 24 Aug 2021 10:42:47 +0800 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.13.0 MIME-Version: 1.0 In-Reply-To: <9368735.gdWEK3B62L@archbook> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210823_194256_456965_A33C801E X-CRM114-Status: GOOD ( 50.25 ) 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-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Sender: "Linux-rockchip" Errors-To: linux-rockchip-bounces+linux-rockchip=archiver.kernel.org@lists.infradead.org SGkgTmljb2xhcywgUGhpbGlwcCwKCk9uIDIwMjEvOC8yMyAyMjozNSwgTmljb2xhcyBGcmF0dGFy b2xpIHdyb3RlOgo+IEhpIFBoaWxpcHAsCj4KPiBPbiBNb250YWcsIDIzLiBBdWd1c3QgMjAyMSAx NDowMzoyNSBDRVNUIFBoaWxpcHAgWmFiZWwgd3JvdGU6Cj4+IEhpIE5pY29sYXMsCj4+Cj4+IE9u IEZyaSwgMjAyMS0wOC0yMCBhdCAyMDoyNyArMDIwMCwgTmljb2xhcyBGcmF0dGFyb2xpIHdyb3Rl Ogo+PiBbLi4uXQo+Pgo+Pj4gZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9yb2NrY2hpcC9yb2NrY2hp cF9pMnNfdGRtLmMKPj4+IGIvc291bmQvc29jL3JvY2tjaGlwL3JvY2tjaGlwX2kyc190ZG0uYyBu ZXcgZmlsZSBtb2RlIDEwMDY0NAo+Pj4gaW5kZXggMDAwMDAwMDAwMDAwLi5jMDJiNjZmM2M5MTMK Pj4+IC0tLSAvZGV2L251bGwKPj4+ICsrKyBiL3NvdW5kL3NvYy9yb2NrY2hpcC9yb2NrY2hpcF9p MnNfdGRtLmMKPj4+IEBAIC0wLDAgKzEsMTczNyBAQAo+PiBbLi4uXQo+Pgo+Pj4gK3N0YXRpYyB2 b2lkIHJvY2tjaGlwX3NuZF94ZmVyX3Jlc2V0X2Fzc2VydChzdHJ1Y3QgcmtfaTJzX3RkbV9kZXYK Pj4+ICppMnNfdGRtLAo+Pj4gKwkJCQkJICAgaW50IHR4X2JhbmssIGludCB0eF9vZmZzZXQsCj4+ PiArCQkJCQkgICBpbnQgcnhfYmFuaywgaW50IHJ4X29mZnNldCkKPj4+ICt7Cj4+PiArCXZvaWQg X19pb21lbSAqY3J1X3Jlc2V0Owo+Pj4gKwl1bnNpZ25lZCBsb25nIGZsYWdzOwo+Pj4gKwo+Pj4g KwljcnVfcmVzZXQgPSBpMnNfdGRtLT5jcnVfYmFzZSArIGkyc190ZG0tPnNvY19kYXRhLT5zb2Z0 cnN0X29mZnNldDsKPj4+ICsKPj4+ICsJaWYgKHR4X2JhbmsgPT0gcnhfYmFuaykgewo+Pj4gKwkJ d3JpdGVsKEJJVCh0eF9vZmZzZXQpIHwgQklUKHJ4X29mZnNldCkgfAo+Pj4gKwkJICAgICAgIChC SVQodHhfb2Zmc2V0KSA8PCAxNikgfCAoQklUKHJ4X29mZnNldCkgPDwgMTYpLAo+Pj4gKwkJICAg ICAgIGNydV9yZXNldCArICh0eF9iYW5rICogNCkpOwo+Pj4gKwl9IGVsc2Ugewo+Pj4gKwkJbG9j YWxfaXJxX3NhdmUoZmxhZ3MpOwo+Pj4gKwkJd3JpdGVsKEJJVCh0eF9vZmZzZXQpIHwgKEJJVCh0 eF9vZmZzZXQpIDw8IDE2KSwKPj4+ICsJCSAgICAgICBjcnVfcmVzZXQgKyAodHhfYmFuayAqIDQp KTsKPj4+ICsJCXdyaXRlbChCSVQocnhfb2Zmc2V0KSB8IChCSVQocnhfb2Zmc2V0KSA8PCAxNiks Cj4+PiArCQkgICAgICAgY3J1X3Jlc2V0ICsgKHJ4X2JhbmsgKiA0KSk7Cj4+PiArCQlsb2NhbF9p cnFfcmVzdG9yZShmbGFncyk7Cj4+PiArCX0KPj4+ICt9Cj4+PiArCj4+PiArc3RhdGljIHZvaWQg cm9ja2NoaXBfc25kX3hmZXJfcmVzZXRfZGVhc3NlcnQoc3RydWN0IHJrX2kyc190ZG1fZGV2Cj4+ PiAqaTJzX3RkbSwgKwkJCQkJICAgICBpbnQgdHhfYmFuaywgaW50Cj4gdHhfb2Zmc2V0LAo+Pj4g KwkJCQkJICAgICBpbnQgcnhfYmFuaywgaW50IHJ4X29mZnNldCkKPj4+ICt7Cj4+PiArCXZvaWQg X19pb21lbSAqY3J1X3Jlc2V0Owo+Pj4gKwl1bnNpZ25lZCBsb25nIGZsYWdzOwo+Pj4gKwo+Pj4g KwljcnVfcmVzZXQgPSBpMnNfdGRtLT5jcnVfYmFzZSArIGkyc190ZG0tPnNvY19kYXRhLT5zb2Z0 cnN0X29mZnNldDsKPj4+ICsKPj4+ICsJaWYgKHR4X2JhbmsgPT0gcnhfYmFuaykgewo+Pj4gKwkJ d3JpdGVsKChCSVQodHhfb2Zmc2V0KSA8PCAxNikgfCAoQklUKHJ4X29mZnNldCkgPDwgMTYpLAo+ Pj4gKwkJICAgICAgIGNydV9yZXNldCArICh0eF9iYW5rICogNCkpOwo+Pj4gKwl9IGVsc2Ugewo+ Pj4gKwkJbG9jYWxfaXJxX3NhdmUoZmxhZ3MpOwo+Pj4gKwkJd3JpdGVsKChCSVQodHhfb2Zmc2V0 KSA8PCAxNiksCj4+PiArCQkgICAgICAgY3J1X3Jlc2V0ICsgKHR4X2JhbmsgKiA0KSk7Cj4+PiAr CQl3cml0ZWwoKEJJVChyeF9vZmZzZXQpIDw8IDE2KSwKPj4+ICsJCSAgICAgICBjcnVfcmVzZXQg KyAocnhfYmFuayAqIDQpKTsKPj4+ICsJCWxvY2FsX2lycV9yZXN0b3JlKGZsYWdzKTsKPj4+ICsJ fQo+Pj4gK30KPj4+ICsKPj4+ICsvKgo+Pj4gKyAqIE1ha2VzIHN1cmUgdGhhdCBib3RoIHR4IGFu ZCByeCBhcmUgcmVzZXQgYXQgdGhlIHNhbWUgdGltZSB0byBzeW5jIGxyY2sKPj4+ICsgKiB3aGVu IGNsa190cmNtID4gMC4KPj4+ICsgKi8KPj4+ICtzdGF0aWMgdm9pZCByb2NrY2hpcF9zbmRfeGZl cl9zeW5jX3Jlc2V0KHN0cnVjdCBya19pMnNfdGRtX2RldiAqaTJzX3RkbSkKPj4+ICt7Cj4+PiAr CWludCB0eF9pZCwgcnhfaWQ7Cj4+PiArCWludCB0eF9iYW5rLCByeF9iYW5rLCB0eF9vZmZzZXQs IHJ4X29mZnNldDsKPj4+ICsKPj4+ICsJaWYgKCFpMnNfdGRtLT5jcnVfYmFzZSB8fCAhaTJzX3Rk bS0+c29jX2RhdGEpCj4+PiArCQlyZXR1cm47Cj4+PiArCj4+PiArCXR4X2lkID0gaTJzX3RkbS0+ dHhfcmVzZXRfaWQ7Cj4+PiArCXJ4X2lkID0gaTJzX3RkbS0+cnhfcmVzZXRfaWQ7Cj4+PiArCWlm ICh0eF9pZCA8IDAgfHwgcnhfaWQgPCAwKQo+Pj4gKwkJcmV0dXJuOwo+Pj4gKwo+Pj4gKwl0eF9i YW5rID0gdHhfaWQgLyAxNjsKPj4+ICsJdHhfb2Zmc2V0ID0gdHhfaWQgJSAxNjsKPj4+ICsJcnhf YmFuayA9IHJ4X2lkIC8gMTY7Cj4+PiArCXJ4X29mZnNldCA9IHJ4X2lkICUgMTY7Cj4+PiArCWRl dl9kYmcoaTJzX3RkbS0+ZGV2LAo+Pj4gKwkJInR4X2Jhbms6ICVkLCByeF9iYW5rOiAlZCwgdHhf b2Zmc2V0OiAlZCwgcnhfb2Zmc2V0OiAlZFxuIiwKPj4+ICsJCXR4X2JhbmssIHJ4X2JhbmssIHR4 X29mZnNldCwgcnhfb2Zmc2V0KTsKPj4+ICsKPj4+ICsJcm9ja2NoaXBfc25kX3hmZXJfcmVzZXRf YXNzZXJ0KGkyc190ZG0sIHR4X2JhbmssIHR4X29mZnNldCwKPj4+ICsJCQkJICAgICAgIHJ4X2Jh bmssIHJ4X29mZnNldCk7Cj4+PiArCj4+PiArCXVkZWxheSgxNTApOwo+Pj4gKwo+Pj4gKwlyb2Nr Y2hpcF9zbmRfeGZlcl9yZXNldF9kZWFzc2VydChpMnNfdGRtLCB0eF9iYW5rLCB0eF9vZmZzZXQs Cj4+PiArCQkJCQkgcnhfYmFuaywgcnhfb2Zmc2V0KTsKPj4+ICt9Cj4+IEknbSBub3QgdG9vIGZv bmQgb2YgcmVpbXBsZW1lbnRpbmcgaGFsZiBhIHJlc2V0IGNvbnRyb2xsZXIgaW4gaGVyZS4KPj4g VGhlIHJlc2V0IGZyYW1ld29yayBkb2VzIG5vdCBzdXBwb3J0IHN5bmNocm9uaXplZCAoZGUpYXNz ZXJ0aW9uIG9mCj4+IG11bHRpcGxlIHJlc2V0IGNvbnRyb2xzLCBJIHdvbmRlciBpZiB0aGlzIHdv dWxkIGJlIHVzZWZ1bCB0byBhZGQuCj4+IFdpdGhvdXQgaGF2aW5nIHRob3VnaHQgYWJvdXQgdGhp cyB0b28gaGFyZCwgSSBjb3VsZCBpbWFnaW5lIHRoaXMgYXMgYW4KPj4gZXh0ZW5zaW9uIHRvIHRo ZSBidWxrIEFQSSwgb3IgcG9zc2libHkgYSBjYWxsIHRvIGpvaW4gbXVsdGlwbGUgcmVzZXQKPj4g Y29udHJvbHMgaW50byBhIHJlc2V0IGNvbnRyb2wgYXJyYXkuCj4gSSBhZ3JlZSwgdGhlIGNvZGUg cmVxdWlyZWQgZm9yIHN5bmNocm9uaXNlZCByZXNldCBzZWVtcyB0byBiZSBhIGdvb2QKPiBjYW5k aWRhdGUgZm9yIGEgZ2VuZXJhbGlzZWQgc29sdXRpb24gZWxzZXdoZXJlLgo+IEhvd2V2ZXIsIEkn bSBub3Qgc3VyZSBpZiBJJ20gdGhlIHJpZ2h0IGNhbmRpZGF0ZSB0byBkZXNpZ24gdGhpcyBBUEkK PiBhcyBteSBmaXJzdCBrZXJuZWwgY29udHJpYnV0aW9uIHdoZW4gdGhlIGJvYXJkIEknbSBjdXJy ZW50bHkgdGVzdGluZwo+IHRoaXMgd2l0aCBkb2Vzbid0IGV2ZW4gdXRpbGlzZSB0aGUgc3luY2hy b25pemVkIHJlc2V0Lgo+Cj4gSWYgSSBjb21lIGFjcm9zcyBhbiBvcHBvcnR1bml0eSB0byB0ZXN0 IHN5bmNocm9uaXNlZCByZXNldHMsIEknbGwKPiBkZWZpbml0ZWx5IGxvb2sgaW50byByZWZhY3Rv cmluZyB0aGlzLiBJJ2QgYWxzbyBiZSBoYXBweSB0byBoZWFyIG9mCj4gYW55IG90aGVyIGRyaXZl ciB3aGljaCBpcyBjdXJyZW50bHkgaW1wbGVtZW50aW5nIGl0cyBvd24gc3luY2hyb25pc2VkCj4g cmVzZXQuCj4KPiBbLi4uXQo+ICAgCj4+PiArCj4+PiArCXJlc2V0X2NvbnRyb2xfYXNzZXJ0KHJj KTsKPj4+ICsJdWRlbGF5KDEpOwo+PiBXaGF0IGlzIHRoZSByZWFzb24gZm9yIHRoZSBkaWZmZXJl bnQgZGVsYXlzIGluCj4+IHJvY2tjaGlwX3NuZF94ZmVyX3N5bmNfcmVzZXQoKSBhbmQgcm9ja2No aXBfc25kX3Jlc2V0KCk/Cj4+Cj4gU2ltcGx5IHB1dDogSSBoYXZlIG5vIGlkZWEuIFRoaXMgaXMg d2hhdCBkb3duc3RyZWFtIGRvZXMsIGFuZCBpdAo+IGFwcGVhcnMgdG8gd29yayBmb3IgbWUuIFRo ZSBnaXQgaGlzdG9yeSBvZiB0aGUgZG93bnN0cmVhbSBrZXJuZWwKPiBhbHNvIGRvZXNuJ3QgdGVs bCBtZSBhbnl0aGluZyBhYm91dCB3aHkgdGhlIHN5bmMgcmVzZXQgaXMgMTUwCj4gYW5kIHRoaXMg b25lIGlzIDEuCj4KPiBJJ3ZlIGdvdCBubyBkZXZpY2UgdG8gdGVzdCB0aGUgc3luYyByZXNldCB3 aXRoIGF0IHRoZSBtb21lbnQgc28KPiBJJ20gd2FyeSBvZiBwbGF5aW5nIHdpdGggdGhlIGRlbGF5 IHZhbHVlLgoKYWNjdHVhbGx5LCBhIDEwIHVzIGRlbGF5IGlzIGVub3VnaCwgYW5kIGJvdGggCnJv Y2tjaGlwX3NuZF94ZmVyX3N5bmNfcmVzZXQoKSBhbmQgcm9ja2NoaXBfc25kX3Jlc2V0KCkgc2hv dWxkIGJlIHRoZSBzYW1lCgpmaXhlZCBpbiBkb3duc3RyZWFtIHBhdGNoOgoKRnJvbTogU3VnYXIg WmhhbmcgPHN1Z2FyLnpoYW5nQHJvY2stY2hpcHMuY29tPgpEYXRlOiBNb24sIDMxIE1heSAyMDIx IDEwOjMxOjIwICswODAwClN1YmplY3Q6IFtQQVRDSF0gQVNvQzogcm9ja2NoaXA6IGkycy10ZG06 IERlbGF5IGZvciByZXNldCBzdWNjZXNzZnVsbHkKClRoaXMgcGF0Y2ggQWRkcyBkZWxheSBhZnRl ciByZXNldCBkZWFzc2VydCB0byBtYWtlIHN1cmUKcmVzZXQgZG9uZSBiZWZvcmUgZG8gZW5hYmxp bmcgeGZlci4KCkNvbnNpZGVyaW5nIHRoZSBmb2xsb3cgc2l0dWF0aW9uOgoKLSBpMnNfbWNsayBm b3IgOEsgY2FwdHVyZSBbMi4wNDhNXQotIGkyc19oY2xrIGZvciBpMnMgcmVnaXN0ZXIgYWNjZXNz IFsxNTBNXQotIHBjbGtfY3J1IGZvciBjcnUgcmVnaXN0ZXIgYWNjZXNzIFsxMDBNXQoKIMKgwqDC oMKgwqDCoCBTV8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoCBIVwoKaTJzIHJlc2V0IGFzc2VydMKgwqAgW3BjbGtfY3J1XcKgwqDCoMKg wqDCoMKgwqDCoMKgIHwKIMKgwqDCoMKgwqDCoMKgIHzCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfAogwqDCoCBkZWxheSB0aW1lwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8CiDCoMKg wqDCoMKgwqDCoCB8wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAg aTJzIHJlc2V0IGFzc2VydMKgwqAgW2kyc19tY2xrXQppMnMgcmVzZXQgZGVhc3NlcnQgW3BjbGtf Y3J1XcKgwqDCoMKgwqDCoMKgwqDCoMKgIHwKIMKgwqDCoMKgwqDCoMKgIHzCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfAppMnMgeGZl ciBlbmFibGXCoMKgwqAgW2kyc19oY2xrXcKgwqDCoMKgwqDCoMKgwqDCoMKgIHwKIMKgwqDCoMKg wqDCoMKgIHzCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBpMnMg cmVzZXQgZGVhc3NlcnQgW2kyc19tY2xrXQoKT2J2aW91c2x5LCBwY2xrX2NydSgxMG5zIHBlciBj eWNsZSkgaXMgbXVjaCBmYXN0ZXIgdGhhbiBpMnNfbWNsawooNTAwbnMgcGVyIGN5Y2xlKS4gc28g ZGVsYXkgc2hvdWxkIGJlIGFkZGVkIGFmdGVyIHJlc2V0IGRlYXNzZXJ0CnRvIG1ha2Ugc3VyZSBo dyByZXNldCBkb25lLiBPdGhlcndpc2UsIHRoZSByYWNlIGJldHdlZW4gcmVzZXQgYW5kCmVuYWJs ZSB4ZmVyIG1heWJlIGJyZWFrIGkycyBkYXRhIGFsaWduZWQuCgpGaXhlczogQSAxMHVzIGRlbGF5 IGlzIGVub3VnaAoKIMKgwqDCoMKgwqDCoCBTV8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBIVwoKaTJzIHJlc2V0IGFzc2VydMKgwqAg W3BjbGtfY3J1XcKgwqDCoMKgwqDCoMKgwqDCoMKgIHwKIMKgwqDCoMKgwqDCoMKgIHzCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfAog wqDCoCBkZWxheSAxMHVzwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoCB8CiDCoMKgwqDCoMKgwqDCoCB8wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqAgaTJzIHJlc2V0IGFzc2VydMKgwqAgW2kyc19tY2xrXQppMnMgcmVz ZXQgZGVhc3NlcnQgW3BjbGtfY3J1XcKgwqDCoMKgwqDCoMKgwqDCoMKgIHwKIMKgwqDCoMKgwqDC oMKgIHzCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqAgfAogwqDCoCBkZWxheSAxMHVzwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8CiDCoMKgwqDCoMKgwqDCoCB8wqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgaTJzIHJlc2V0IGRlYXNzZXJ0IFtpMnNfbWNs a10KaTJzIHhmZXIgZW5hYmxlwqDCoMKgIFtpMnNfaGNsa13CoMKgwqDCoMKgwqDCoMKgwqDCoCB8 CiDCoMKgwqDCoMKgwqDCoCB8wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwKCkNoYW5nZS1JZDogSWQzNzBiMGFhMTNmNzcxMDUzODQx Y2UwNGE1NTRiNDA4ZTllM2M4MzEKU2lnbmVkLW9mZi1ieTogU3VnYXIgWmhhbmcgPHN1Z2FyLnpo YW5nQHJvY2stY2hpcHMuY29tPgoKLS0tCiDCoHNvdW5kL3NvYy9yb2NrY2hpcC9yb2NrY2hpcF9p MnNfdGRtLmMgfCAxMiArKysrKysrKy0tLS0KIMKgMSBmaWxlIGNoYW5nZWQsIDggaW5zZXJ0aW9u cygrKSwgNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zb3VuZC9zb2Mvcm9ja2NoaXAvcm9j a2NoaXBfaTJzX3RkbS5jIApiL3NvdW5kL3NvYy9yb2NrY2hpcC9yb2NrY2hpcF9pMnNfdGRtLmMK aW5kZXggNDJkMTYwNy4uMWMwNjU4NSAxMDA2NDQKLS0tIGEvc291bmQvc29jL3JvY2tjaGlwL3Jv Y2tjaGlwX2kyc190ZG0uYworKysgYi9zb3VuZC9zb2Mvcm9ja2NoaXAvcm9ja2NoaXBfaTJzX3Rk bS5jCkBAIC0yMTYsNiArMjE2LDggQEAgc3RhdGljIHZvaWQgcm9ja2NoaXBfc25kX3hmZXJfcmVz ZXRfYXNzZXJ0KHN0cnVjdCAKcmtfaTJzX3RkbV9kZXYgKmkyc190ZG0sCiDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqAgbG9jYWxfaXJxX3Jlc3RvcmUoZmxhZ3MpOwogwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIGJyZWFrOwogwqDCoMKgwqDCoMKgwqAgfQorwqDCoMKgwqDCoMKg IC8qIGRlbGF5IGZvciByZXNldCBhc3NlcnQgZG9uZSAqLworwqDCoMKgwqDCoMKgIHVkZWxheSgx MCk7CiDCoH0KCiDCoHN0YXRpYyB2b2lkIHJvY2tjaGlwX3NuZF94ZmVyX3Jlc2V0X2RlYXNzZXJ0 KHN0cnVjdCBya19pMnNfdGRtX2RldiAKKmkyc190ZG0sCkBAIC0yNjAsNiArMjYyLDggQEAgc3Rh dGljIHZvaWQgcm9ja2NoaXBfc25kX3hmZXJfcmVzZXRfZGVhc3NlcnQoc3RydWN0IApya19pMnNf dGRtX2RldiAqaTJzX3RkbSwKIMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBsb2NhbF9p cnFfcmVzdG9yZShmbGFncyk7CiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgYnJlYWs7 CiDCoMKgwqDCoMKgwqDCoCB9CivCoMKgwqDCoMKgwqAgLyogZGVsYXkgZm9yIHJlc2V0IGRlYXNz ZXJ0IGRvbmUgKi8KK8KgwqDCoMKgwqDCoCB1ZGVsYXkoMTApOwogwqB9CgogwqAvKgpAQCAtMjg5 LDkgKzI5Myw2IEBAIHN0YXRpYyB2b2lkIHJvY2tjaGlwX3NuZF94ZmVyX3N5bmNfcmVzZXQoc3Ry dWN0IApya19pMnNfdGRtX2RldiAqaTJzX3RkbSkKCiDCoMKgwqDCoMKgwqDCoCByb2NrY2hpcF9z bmRfeGZlcl9yZXNldF9hc3NlcnQoaTJzX3RkbSwgdHhfYmFuaywgdHhfb2Zmc2V0LAogwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoCByeF9iYW5rLCByeF9vZmZzZXQpOwotCi3CoMKgwqDCoMKgwqAgdWRlbGF5 KDE1MCk7Ci0KIMKgwqDCoMKgwqDCoMKgIHJvY2tjaGlwX3NuZF94ZmVyX3Jlc2V0X2RlYXNzZXJ0 KGkyc190ZG0sIHR4X2JhbmssIHR4X29mZnNldCwKIMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHJ4 X2JhbmssIHJ4X29mZnNldCk7CiDCoH0KQEAgLTM2OSw4ICszNzAsMTEgQEAgc3RhdGljIHZvaWQg cm9ja2NoaXBfc25kX3Jlc2V0KHN0cnVjdCByZXNldF9jb250cm9sIAoqcmMpCiDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqAgcmV0dXJuOwoKIMKgwqDCoMKgwqDCoMKgIHJlc2V0X2NvbnRy b2xfYXNzZXJ0KHJjKTsKLcKgwqDCoMKgwqDCoCB1ZGVsYXkoMSk7CivCoMKgwqDCoMKgwqAgLyog ZGVsYXkgZm9yIHJlc2V0IGFzc2VydCBkb25lICovCivCoMKgwqDCoMKgwqAgdWRlbGF5KDEwKTsK IMKgwqDCoMKgwqDCoMKgIHJlc2V0X2NvbnRyb2xfZGVhc3NlcnQocmMpOworwqDCoMKgwqDCoMKg IC8qIGRlbGF5IGZvciByZXNldCBkZWFzc2VydCBkb25lICovCivCoMKgwqDCoMKgwqAgdWRlbGF5 KDEwKTsKIMKgfQoKPj4+ICsJcmVzZXRfY29udHJvbF9kZWFzc2VydChyYyk7Cj4+PiArfQo+PiBb Li4uXQo+Pgo+Pj4gK3N0YXRpYyBpbnQgcm9ja2NoaXBfaTJzX3RkbV9wcm9iZShzdHJ1Y3QgcGxh dGZvcm1fZGV2aWNlICpwZGV2KQo+Pj4gK3sKPj4+ICsJc3RydWN0IGRldmljZV9ub2RlICpub2Rl ID0gcGRldi0+ZGV2Lm9mX25vZGU7Cj4+PiArCXN0cnVjdCBkZXZpY2Vfbm9kZSAqY3J1X25vZGU7 Cj4+PiArCWNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgKm9mX2lkOwo+Pj4gKwlzdHJ1Y3Qgcmtf aTJzX3RkbV9kZXYgKmkyc190ZG07Cj4+PiArCXN0cnVjdCByZXNvdXJjZSAqcmVzOwo+Pj4gKwl2 b2lkIF9faW9tZW0gKnJlZ3M7Cj4+PiArCWludCByZXQ7Cj4+PiArCWludCB2YWw7Cj4+PiArCj4+ PiArCWkyc190ZG0gPSBkZXZtX2t6YWxsb2MoJnBkZXYtPmRldiwgc2l6ZW9mKCppMnNfdGRtKSwg R0ZQX0tFUk5FTCk7Cj4+PiArCWlmICghaTJzX3RkbSkKPj4+ICsJCXJldHVybiAtRU5PTUVNOwo+ Pj4gKwo+Pj4gKwlpMnNfdGRtLT5kZXYgPSAmcGRldi0+ZGV2Owo+Pj4gKwo+Pj4gKwlvZl9pZCA9 IG9mX21hdGNoX2RldmljZShyb2NrY2hpcF9pMnNfdGRtX21hdGNoLCAmcGRldi0+ZGV2KTsKPj4+ ICsJaWYgKCFvZl9pZCB8fCAhb2ZfaWQtPmRhdGEpCj4+PiArCQlyZXR1cm4gLUVJTlZBTDsKPj4+ ICsKPj4+ICsJc3Bpbl9sb2NrX2luaXQoJmkyc190ZG0tPmxvY2spOwo+Pj4gKwlpMnNfdGRtLT5z b2NfZGF0YSA9IChzdHJ1Y3QgcmtfaTJzX3NvY19kYXRhICopb2ZfaWQtPmRhdGE7Cj4+PiArCj4+ PiArCWkyc190ZG0tPmZyYW1lX3dpZHRoID0gNjQ7Cj4+PiArCWlmICghb2ZfcHJvcGVydHlfcmVh ZF91MzIobm9kZSwgInJvY2tjaGlwLGZyYW1lLXdpZHRoIiwgJnZhbCkpIHsKPj4+ICsJCWlmICh2 YWwgPj0gMzIgJiYgKHZhbCAlIDIgPT0gMCkgJiYgdmFsIDw9IDUxMikgewo+Pj4gKwkJCWkyc190 ZG0tPmZyYW1lX3dpZHRoID0gdmFsOwo+Pj4gKwkJfSBlbHNlIHsKPj4+ICsJCQlkZXZfZXJyKGky c190ZG0tPmRldiwgInVuc3VwcG9ydGVkIGZyYW1lIHdpZHRoOgo+ICclZCdcbiIsCj4+PiArCQkJ CXZhbCk7Cj4+PiArCQkJcmV0dXJuIC1FSU5WQUw7Cj4+PiArCQl9Cj4+PiArCX0KPj4+ICsKPj4+ ICsJaTJzX3RkbS0+Y2xrX3RyY20gPSBUUkNNX1RYUlg7Cj4+PiArCWlmIChvZl9wcm9wZXJ0eV9y ZWFkX2Jvb2wobm9kZSwgInJvY2tjaGlwLHRyY20tc3luYy10eC1vbmx5IikpCj4+PiArCQlpMnNf dGRtLT5jbGtfdHJjbSA9IFRSQ01fVFg7Cj4+PiArCWlmIChvZl9wcm9wZXJ0eV9yZWFkX2Jvb2wo bm9kZSwgInJvY2tjaGlwLHRyY20tc3luYy1yeC1vbmx5IikpIHsKPj4+ICsJCWlmIChpMnNfdGRt LT5jbGtfdHJjbSkgewo+Pj4gKwkJCWRldl9lcnIoaTJzX3RkbS0+ZGV2LCAiaW52YWxpZCB0cmNt LXN5bmMKPiBjb25maWd1cmF0aW9uXG4iKTsKPj4+ICsJCQlyZXR1cm4gLUVJTlZBTDsKPj4+ICsJ CX0KPj4+ICsJCWkyc190ZG0tPmNsa190cmNtID0gVFJDTV9SWDsKPj4+ICsJfQo+Pj4gKwlpZiAo aTJzX3RkbS0+Y2xrX3RyY20gIT0gVFJDTV9UWFJYKQo+Pj4gKwkJaTJzX3RkbV9kYWkuc3ltbWV0 cmljX3JhdGUgPSAxOwo+Pj4gKwo+Pj4gKwlpMnNfdGRtLT50ZG1fZnN5bmNfaGFsZl9mcmFtZSA9 Cj4+PiArCQlvZl9wcm9wZXJ0eV9yZWFkX2Jvb2wobm9kZSwgInJvY2tjaGlwLHRkbS1mc3luYy1o YWxmLWZyYW1lIik7Cj4+PiArCj4+PiArCWkyc190ZG0tPmdyZiA9IHN5c2Nvbl9yZWdtYXBfbG9v a3VwX2J5X3BoYW5kbGUobm9kZSwgInJvY2tjaGlwLGdyZiIpOwo+Pj4gKwlpZiAoSVNfRVJSKGky c190ZG0tPmdyZikpCj4+PiArCQlyZXR1cm4gZGV2X2Vycl9wcm9iZShpMnNfdGRtLT5kZXYsIFBU Ul9FUlIoaTJzX3RkbS0+Z3JmKSwKPj4+ICsJCQkJICAgICAiRXJyb3IgaW4gcm9ja2NoaXAsZ3Jm XG4iKTsKPj4+ICsKPj4+ICsJaWYgKGkyc190ZG0tPmNsa190cmNtICE9IFRSQ01fVFhSWCkgewo+ Pj4gKwkJY3J1X25vZGUgPSBvZl9wYXJzZV9waGFuZGxlKG5vZGUsICJyb2NrY2hpcCxjcnUiLCAw KTsKPj4+ICsJCWkyc190ZG0tPmNydV9iYXNlID0gb2ZfaW9tYXAoY3J1X25vZGUsIDApOwo+PiBU aGlzIGlzIGEgYml0IHVnbHkgaWYgdGhlcmUgaXMgYW5vdGhlciBkcml2ZXIgc2l0dGluZyBvbiB0 aGUKPj4gcm9ja2NoaXAsY3J1IGNvbXBhdGlibGUgbm9kZS4gV2hpY2ggcmVzZXQgY29udHJvbGxl ciBkcml2ZXIgaXMgYmFja2luZwo+PiB0aGUgcmVzZXQgY29udHJvbHMgYmVsb3c/Cj4gSSdtIG5v dCBzdXJlIGlmIEkgdW5kZXJzdGFuZCB0aGUgcXVlc3Rpb24gKEkgb25seSBqdXN0IHRvZGF5IGxl YXJuZWQgdGhhdAo+IHJlc2V0IGNvbnRyb2xzIGhhdmUgZHJpdmVycykgYnV0IEkgdGhpbmsgdGhl IHJlc2V0IGl0IGlzIHVzaW5nIGluIHRoZQo+IFF1YXJ0ejY0IGR0cyBpcyBiYWNrZWQgYnkgcmsz NTY4LWNydS4gTGV0IG1lIGtub3cgaWYgSSBtaXN1bmRlcnN0b29kIHlvdS4KPgo+IFsuLi5dCj4K Pj4+ICtzdGF0aWMgaW50IHJvY2tjaGlwX2kyc190ZG1fcmVtb3ZlKHN0cnVjdCBwbGF0Zm9ybV9k ZXZpY2UgKnBkZXYpCj4+PiArewo+Pj4gKwlzdHJ1Y3QgcmtfaTJzX3RkbV9kZXYgKmkyc190ZG0g PSBkZXZfZ2V0X2RydmRhdGEoJnBkZXYtPmRldik7Cj4+PiArCj4+PiArCXBtX3J1bnRpbWVfZGlz YWJsZSgmcGRldi0+ZGV2KTsKPj4+ICsJaWYgKCFwbV9ydW50aW1lX3N0YXR1c19zdXNwZW5kZWQo JnBkZXYtPmRldikpCj4+PiArCQlpMnNfdGRtX3J1bnRpbWVfc3VzcGVuZCgmcGRldi0+ZGV2KTsK Pj4+ICsKPj4+ICsJaWYgKCFJU19FUlIoaTJzX3RkbS0+bWNsa190eCkpCj4+PiArCQljbGtfcHJl cGFyZV9lbmFibGUoaTJzX3RkbS0+bWNsa190eCk7Cj4+PiArCWlmICghSVNfRVJSKGkyc190ZG0t Pm1jbGtfcngpKQo+Pj4gKwkJY2xrX3ByZXBhcmVfZW5hYmxlKGkyc190ZG0tPm1jbGtfcngpOwo+ PiBXaHkgYXJlIHdlIGVuYWJsaW5nIHRoZXNlIGNsb2NrcyBub3c/Cj4+Cj4gSSB3b25kZXJlZCB0 aGF0IHRvbyB3aGlsZSBJIHdhcyBsb29raW5nIGludG8gdGhlIHBtX3J1bnRpbWUgc3R1ZmYsCj4g YW5kIGRlY2lkZWQgdG8ganVzdCB0aHJvdyB0aGVzZSB0d28gY2FsbHMgb3V0LiBUaGV5IGRvbid0 IHNlZW0gdG8KPiBtYWtlIHNlbnNlIHRvIG1lLCBhbmQgbm90aGluZyBJIHRlc3RlZCBicm9rZSB3 aGVuIEkgcmVtb3ZlZCB0aGVtLgo+Cj4gSWYgbGVmdCBpbiAoYW5kIHRoZSBjb2RlIHdvcmtzIGFz IEkgaHlwb3RoZXNpc2UgaXQgd29ya3MpIHRoZW4KPiB0aGlzIHdvdWxkIHNpbXBseSByZS1lbmFi bGUgY2xvY2tzIHdlIGhhdmUganVzdCBkaXNhYmxlZCwgd2hpY2gKPiB3b3VsZCBtYWtlIHRoZSBu dW1iZXIgb2YgZW5hYmxlIGFuZCBkaXNhYmxlIGNhbGxzIHVuYmFsYW5jZWQuCj4gSGlnaGx5IHN1 cywgYXMgdGhlIGtpZHMgd291bGQgc2F5LCBhbmQgY29tcGxldGVseSBvbWl0cyB0aGUgb3RoZXIK PiBtY2xrX3R4X3NyYyBldGMuIGNsb2Nrcy4gKFRob3VnaCB0aG9zZSBhcmUgZm9yZ290dGVuIGVs c2V3aGVyZSBpbgo+IHRoZSBjb2RlIGFzIHdlbGwsIHdoaWNoIEkgaGF2ZSBzaW5jZSBmaXhlZCwg YWxvbmcgd2l0aCBhbnkgb2YgdGhlCj4gcmV2aWV3IHBvaW50cyBJIGRvbid0IGRpcmVjdGx5IHJl c3BvbmQgdG8uKQppdCdzIGNvcHktcGFzdGVkIG1pc3Rha2UsIHNob3VsZCBiZSBjbGtfZGlzYWJs ZV91bnByZXBhcmUgZm9yIHRoZW0uCj4+PiArCWlmICghSVNfRVJSKGkyc190ZG0tPmhjbGspKQo+ Pj4gKwkJY2xrX2Rpc2FibGVfdW5wcmVwYXJlKGkyc190ZG0tPmhjbGspOwo+Pj4gKwo+Pj4gKwly ZXR1cm4gMDsKPj4+ICt9Cj4+IHJlZ2FyZHMKPj4gUGhpbGlwcAo+IFJlZ2FyZHMsCj4gTmljb2xh cyBGcmF0dGFyb2xpCj4KPgo+Cj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KPiBMaW51eC1yb2NrY2hpcCBtYWlsaW5nIGxpc3QKPiBMaW51eC1yb2NrY2hp cEBsaXN0cy5pbmZyYWRlYWQub3JnCj4gaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1h bi9saXN0aW5mby9saW51eC1yb2NrY2hpcAo+Cj4KPgotLSAKQmVzdCBSZWdhcmRzIQrlvKDlrabl ub8vU3VnYXIK55Ge6Iqv5b6u55S15a2Q6IKh5Lu95pyJ6ZmQ5YWs5Y+4ClJvY2tjaGlwIEVsZWN0 cm9uaWNzIENvLiwgTHRkLgoKCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KTGludXgtcm9ja2NoaXAgbWFpbGluZyBsaXN0CkxpbnV4LXJvY2tjaGlwQGxp c3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0 aW5mby9saW51eC1yb2NrY2hpcAo=