From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from 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 smtp.lore.kernel.org (Postfix) with ESMTPS id 2CEA0CAC5A7 for ; Tue, 23 Sep 2025 03:33:43 +0000 (UTC) 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:From:References:Cc:To:Subject: MIME-Version:Date:Message-ID:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=rZPvCp4e8mmLvkwWHf3CmECyvRq9ppGinAof/hJ0vgc=; b=rNfXXbZtmKQTu8 gmR2vbOnjxIO/nT/PpIm58Bf9n6i+Hpw6+naEWa9XkdxBru5rBPJUS0GhO4HvNOBKkJmJDZTeGpLM jpD5YIkFLz8RxsM9BvidddFeCPJWgX9JSW9KLO2/08eV4UfzAf937XHQ9kIgEezqJtpozLeqJlx3G 3estroAz44DKkFZxI152EZCSMj+cdiqTRYscUIYz+748pGDjE6cjUEgRd4qS/o2idtPDWv2D2/95R kLVj2sN3Q0SDwmXx7WONLAB3SE43rXxb4II5qNoDxLvbymErt/qgTJiVoSgupoa5Ojlm589hepuDR GeKlbIrxoSXFEWF22ORg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.2 #2 (Red Hat Linux)) id 1v0tmZ-0000000CF6f-0K9H; Tue, 23 Sep 2025 03:33:35 +0000 Received: from mail-m1973178.qiye.163.com ([220.197.31.78]) by bombadil.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux)) id 1v0tmV-0000000CF3s-2YwI; Tue, 23 Sep 2025 03:33:33 +0000 Received: from [172.16.12.153] (unknown [58.22.7.114]) by smtp.qiye.163.com (Hmail) with ESMTP id 23b8da0fb; Tue, 23 Sep 2025 11:33:21 +0800 (GMT+08:00) Message-ID: Date: Tue, 23 Sep 2025 11:33:19 +0800 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v4 5/7] drm/rockchip: cdn-dp: Add multiple bridges to support PHY port selection To: Dmitry Baryshkov Cc: Chaoyi Chen , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Vinod Koul , Kishon Vijay Abraham I , Heiko Stuebner , Sandy Huang , Andy Yan , Yubing Zhang , Frank Wang , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Amit Sunil Dhamne , Heikki Krogerus , Greg Kroah-Hartman , Dragan Simic , Johan Jonker , Diederik de Haas , Peter Robinson , linux-usb@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-phy@lists.infradead.org, linux-arm-kernel@lists.infradead.org, linux-rockchip@lists.infradead.org, dri-devel@lists.freedesktop.org References: <20250922012039.323-1-kernel@airkyi.com> <20250922012039.323-6-kernel@airkyi.com> <3n6gvt2lcf24smt6njiqoqt5h4733z36hwvc2zfyft62d25uu5@vwl26mmsfzbz> Content-Language: en-US From: Chaoyi Chen In-Reply-To: <3n6gvt2lcf24smt6njiqoqt5h4733z36hwvc2zfyft62d25uu5@vwl26mmsfzbz> X-HM-Tid: 0a9974a20c3803abkunmdfc552bfe7f27 X-HM-MType: 1 X-HM-Spam-Status: e1kfGhgUHx5ZQUpXWQgPGg8OCBgUHx5ZQUlOS1dZFg8aDwILHllBWSg2Ly tZV1koWUFDSUNOT01LS0k3V1ktWUFJV1kPCRoVCBIfWUFZQk5JT1ZPGh5ISxgYTkoeH0hWFRQJFh oXVRMBExYaEhckFA4PWVdZGBILWUFZTkNVSUlVTFVKSk9ZV1kWGg8SFR0UWUFZT0tIVUpLSEpPSE xVSktLVUpCS0tZBg++ DKIM-Signature: a=rsa-sha256; b=SlPVi1oSXf0cIDR90Gbl+WHVoEiSBgo/rezRMw1ZUjKfpSHz1UnY+sIXOOZrJPeGg4fHewcX/QApxVfWX35I0knqL4JTlhgJbWI3kVYHwzv+KXNfumqhePewOGGBuAq4ZTr4jrTvcKoPs/6xS+A5nqnloqTsSH6n8gM3BROQ29w=; s=default; c=relaxed/relaxed; d=rock-chips.com; v=1; bh=6j251N+TTWj2dwg/qF59bibn6Pq6K+CmCvwfdrpKx7o=; h=date:mime-version:subject:message-id:from; X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250922_203331_834315_3306F98E X-CRM114-Status: GOOD ( 31.00 ) 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 T24gOS8yMy8yMDI1IDExOjIyIEFNLCBEbWl0cnkgQmFyeXNoa292IHdyb3RlOgoKPiBPbiBUdWUs IFNlcCAyMywgMjAyNSBhdCAxMDowOTozOEFNICswODAwLCBDaGFveWkgQ2hlbiB3cm90ZToKPj4g T24gOS8yMy8yMDI1IDk6NTAgQU0sIERtaXRyeSBCYXJ5c2hrb3Ygd3JvdGU6Cj4+Cj4+PiBPbiBN b24sIFNlcCAyMiwgMjAyNSBhdCAwOToyMDozN0FNICswODAwLCBDaGFveWkgQ2hlbiB3cm90ZToK Pj4+PiBGcm9tOiBDaGFveWkgQ2hlbiA8Y2hhb3lpLmNoZW5Acm9jay1jaGlwcy5jb20+Cj4+Pj4K Pj4+PiBUaGUgUkszMzk5IGhhcyB0d28gVVNCL0RQIGNvbWJvIFBIWSBhbmQgb25lIENETi1EUCBj b250cm9sbGVyLiBBbmQKPj4+PiB0aGUgQ0ROLURQIGNhbiBiZSBzd2l0Y2hlZCB0byBvdXRwdXQg dG8gb25lIG9mIHRoZSBQSFlzLiBJZiBib3RoIHBvcnRzCj4+Pj4gYXJlIHBsdWdnZWQgaW50byBE UCwgRFAgd2lsbCBzZWxlY3QgdGhlIGZpcnN0IHBvcnQgZm9yIG91dHB1dC4KPj4+Pgo+Pj4+IFRo aXMgcGF0Y2ggYWRkcyBzdXBwb3J0IGZvciBtdWx0aXBsZSBicmlkZ2VzLCBlbmFibGluZyB1c2Vy cyB0byBmbGV4aWJseQo+Pj4+IHNlbGVjdCB0aGUgb3V0cHV0IHBvcnQuIEZvciBlYWNoIFBIWSBw b3J0LCBhIHNlcGFyYXRlIGVuY29kZXIgYW5kIGJyaWRnZQo+Pj4+IGFyZSByZWdpc3RlcmVkLgo+ Pj4+Cj4+Pj4gVGhlIGNoYW5nZSBpcyBiYXNlZCBvbiB0aGUgRFJNIEFVWCBIUEQgYnJpZGdlLCBy YXRoZXIgdGhhbiB0aGUKPj4+PiBleHRjb24gYXBwcm9hY2guIFRoaXMgcmVxdWlyZXMgdGhlIERU IHRvIGNvcnJlY3RseSBkZXNjcmliZSB0aGUKPj4+PiBjb25uZWN0aW9ucyBiZXR3ZWVuIHRoZSBQ SFksIFVTQiBjb25uZWN0b3IsIGFuZCBEUCBjb250cm9sbGVyLgo+Pj4+IEFuZCBjZG5fZHBfcGFy c2VfaHBkX2JyaWRnZV9kdCgpIHdpbGwgcGFyc2VzIGl0IGFuZCBkZXRlcm1pbmVzCj4+Pj4gd2hl dGhlciB0byByZWdpc3RlciBvbmUgb3IgdHdvIGJyaWRnZXMuCj4+Pj4KPj4+PiBTaW5jZSB0aGVy ZSBpcyBvbmx5IG9uZSBEUCBjb250cm9sbGVyLCBvbmx5IG9uZSBvZiB0aGUgUEhZIHBvcnRzIGNh bgo+Pj4+IG91dHB1dCBhdCBhIHRpbWUuIFRoZSBrZXkgaXMgaG93IHRvIHN3aXRjaCBiZXR3ZWVu IGRpZmZlcmVudCBQSFlzLAo+Pj4+IHdoaWNoIGlzIGhhbmRsZWQgYnkgY2RuX2RwX3N3aXRjaF9w b3J0KCkgYW5kIGNkbl9kcF9lbmFibGUoKS4KPj4+Pgo+Pj4+IFRoZXJlIGFyZSB0d28gY2FzZXM6 Cj4+Pj4KPj4+PiAxLiBOZWl0aGVyIGJyaWRnZSBpcyBlbmFibGVkLiBJbiB0aGlzIGNhc2UsIGJv dGggYnJpZGdlcyBjYW4KPj4+PiBpbmRlcGVuZGVudGx5IHJlYWQgdGhlIEVESUQsIGFuZCB0aGUg UEhZIHBvcnQgbWF5IHN3aXRjaCBiZWZvcmUKPj4+PiByZWFkaW5nIHRoZSBFRElELgo+Pj4+Cj4+ Pj4gMi4gT25lIGJyaWRnZSBpcyBhbHJlYWR5IGVuYWJsZWQuIEluIHRoaXMgY2FzZSwgb3RoZXIg YnJpZGdlcyBhcmUgbm90Cj4+Pj4gYWxsb3dlZCB0byByZWFkIHRoZSBFRElELgo+Pj4+Cj4+Pj4g U2luY2UgdGhlIHNjZW5hcmlvIG9mIHR3byBwb3J0cyBwbHVnIGluIGF0IHRoZSBzYW1lIHRpbWUg aXMgcmFyZSwKPj4+PiBJIGRvbid0IGhhdmUgYSBib2FyZCB3aGljaCBzdXBwb3J0IHR3byBUeXBl QyBjb25uZWN0b3IgdG8gdGVzdCB0aGlzLgo+Pj4+IFRoZXJlZm9yZSwgSSB0ZXN0ZWQgZm9yY2Vk IHN3aXRjaGluZyBvbiBhIHNpbmdsZSBQSFkgcG9ydCwgYXMgd2VsbCBhcwo+Pj4+IG91dHB1dCB1 c2luZyBhIGZha2UgUEhZIHBvcnQgYWxvbmdzaWRlIGEgcmVhbCBQSFkgcG9ydC4KPj4+Pgo+Pj4+ IFNpZ25lZC1vZmYtYnk6IENoYW95aSBDaGVuIDxjaGFveWkuY2hlbkByb2NrLWNoaXBzLmNvbT4K Pj4+PiAtLS0KPj4+PiAgICBkcml2ZXJzL2dwdS9kcm0vcm9ja2NoaXAvS2NvbmZpZyAgICAgICB8 ICAgMSArCj4+Pj4gICAgZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlwL2Nkbi1kcC1jb3JlLmMgfCAz OTggKysrKysrKysrKysrKysrKysrKysrLS0tLQo+Pj4+ICAgIGRyaXZlcnMvZ3B1L2RybS9yb2Nr Y2hpcC9jZG4tZHAtY29yZS5oIHwgIDIzICstCj4+Pj4gICAgMyBmaWxlcyBjaGFuZ2VkLCAzNjYg aW5zZXJ0aW9ucygrKSwgNTYgZGVsZXRpb25zKC0pCj4+Pj4KPj4+PiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL3JvY2tjaGlwL0tjb25maWcgYi9kcml2ZXJzL2dwdS9kcm0vcm9ja2NoaXAv S2NvbmZpZwo+Pj4+IGluZGV4IGZhZjUwZDg3MmJlMy4uM2E2MjY2Mjc5MzIzIDEwMDY0NAo+Pj4+ IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9LY29uZmlnCj4+Pj4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL3JvY2tjaGlwL0tjb25maWcKPj4+PiBAQCAtNTUsNiArNTUsNyBAQCBjb25maWcg Uk9DS0NISVBfQ0ROX0RQCj4+Pj4gICAgCXNlbGVjdCBEUk1fRElTUExBWV9IRUxQRVIKPj4+PiAg ICAJc2VsZWN0IERSTV9CUklER0VfQ09OTkVDVE9SCj4+Pj4gICAgCXNlbGVjdCBEUk1fRElTUExB WV9EUF9IRUxQRVIKPj4+PiArCXNlbGVjdCBEUk1fQVVYX0hQRF9CUklER0UKPj4+PiAgICAJaGVs cAo+Pj4+ICAgIAkgIFRoaXMgc2VsZWN0cyBzdXBwb3J0IGZvciBSb2NrY2hpcCBTb0Mgc3BlY2lm aWMgZXh0ZW5zaW9ucwo+Pj4+ICAgIAkgIGZvciB0aGUgY2RuIERQIGRyaXZlci4gSWYgeW91IHdh bnQgdG8gZW5hYmxlIERwIG9uCj4+Pj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9yb2Nr Y2hpcC9jZG4tZHAtY29yZS5jIGIvZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlwL2Nkbi1kcC1jb3Jl LmMKPj4+PiBpbmRleCAxZTI3MzAxNTg0YTQuLjc4NGY1NjU2ZmNjNCAxMDA2NDQKPj4+PiAtLS0g YS9kcml2ZXJzL2dwdS9kcm0vcm9ja2NoaXAvY2RuLWRwLWNvcmUuYwo+Pj4+ICsrKyBiL2RyaXZl cnMvZ3B1L2RybS9yb2NrY2hpcC9jZG4tZHAtY29yZS5jCj4+Pj4gQEAgLTI3LDE2ICsyNywxNyBA QAo+Pj4+ICAgICNpbmNsdWRlICJjZG4tZHAtY29yZS5oIgo+Pj4+ICAgICNpbmNsdWRlICJjZG4t ZHAtcmVnLmgiCj4+Pj4gLXN0YXRpYyBpbmxpbmUgc3RydWN0IGNkbl9kcF9kZXZpY2UgKmJyaWRn ZV90b19kcChzdHJ1Y3QgZHJtX2JyaWRnZSAqYnJpZGdlKQo+Pj4+ICtzdGF0aWMgaW50IGNkbl9k cF9zd2l0Y2hfcG9ydChzdHJ1Y3QgY2RuX2RwX2RldmljZSAqZHAsIHN0cnVjdCBjZG5fZHBfcG9y dCAqcHJldl9wb3J0LAo+Pj4+ICsJCQkgICAgICBzdHJ1Y3QgY2RuX2RwX3BvcnQgKnBvcnQpOwo+ Pj4+ICsKPj4+PiArc3RhdGljIGlubGluZSBzdHJ1Y3QgY2RuX2RwX2JyaWRnZSAqYnJpZGdlX3Rv X2RwX2JyaWRnZShzdHJ1Y3QgZHJtX2JyaWRnZSAqYnJpZGdlKQo+Pj4+ICAgIHsKPj4+PiAtCXJl dHVybiBjb250YWluZXJfb2YoYnJpZGdlLCBzdHJ1Y3QgY2RuX2RwX2RldmljZSwgYnJpZGdlKTsK Pj4+PiArCXJldHVybiBjb250YWluZXJfb2YoYnJpZGdlLCBzdHJ1Y3QgY2RuX2RwX2JyaWRnZSwg YnJpZGdlKTsKPj4+PiAgICB9Cj4+Pj4gLXN0YXRpYyBpbmxpbmUgc3RydWN0IGNkbl9kcF9kZXZp Y2UgKmVuY29kZXJfdG9fZHAoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyKQo+Pj4+ICtzdGF0 aWMgaW5saW5lIHN0cnVjdCBjZG5fZHBfZGV2aWNlICpicmlkZ2VfdG9fZHAoc3RydWN0IGRybV9i cmlkZ2UgKmJyaWRnZSkKPj4+PiAgICB7Cj4+Pj4gLQlzdHJ1Y3Qgcm9ja2NoaXBfZW5jb2RlciAq cmtlbmNvZGVyID0gdG9fcm9ja2NoaXBfZW5jb2RlcihlbmNvZGVyKTsKPj4+PiAtCj4+Pj4gLQly ZXR1cm4gY29udGFpbmVyX29mKHJrZW5jb2Rlciwgc3RydWN0IGNkbl9kcF9kZXZpY2UsIGVuY29k ZXIpOwo+Pj4+ICsJcmV0dXJuIGJyaWRnZV90b19kcF9icmlkZ2UoYnJpZGdlKS0+cGFyZW50Owo+ Pj4+ICAgIH0KPj4+PiAgICAjZGVmaW5lIEdSRl9TT0NfQ09OOQkJMHg2MjI0Cj4+Pj4gQEAgLTE5 MSwxNCArMTkyLDI3IEBAIHN0YXRpYyBpbnQgY2RuX2RwX2dldF9zaW5rX2NvdW50KHN0cnVjdCBj ZG5fZHBfZGV2aWNlICpkcCwgdTggKnNpbmtfY291bnQpCj4+Pj4gICAgc3RhdGljIHN0cnVjdCBj ZG5fZHBfcG9ydCAqY2RuX2RwX2Nvbm5lY3RlZF9wb3J0KHN0cnVjdCBjZG5fZHBfZGV2aWNlICpk cCkKPj4+PiAgICB7Cj4+Pj4gICAgCXN0cnVjdCBjZG5fZHBfcG9ydCAqcG9ydDsKPj4+PiAtCWlu dCBpLCBsYW5lczsKPj4+PiArCWludCBpLCBsYW5lc1tNQVhfUEhZXTsKPj4+PiAgICAJZm9yIChp ID0gMDsgaSA8IGRwLT5wb3J0czsgaSsrKSB7Cj4+Pj4gICAgCQlwb3J0ID0gZHAtPnBvcnRbaV07 Cj4+Pj4gLQkJbGFuZXMgPSBjZG5fZHBfZ2V0X3BvcnRfbGFuZXMocG9ydCk7Cj4+Pj4gLQkJaWYg KGxhbmVzKQo+Pj4+ICsJCWxhbmVzW2ldID0gY2RuX2RwX2dldF9wb3J0X2xhbmVzKHBvcnQpOwo+ Pj4+ICsJCWlmICghZHAtPmhwZF9icmlkZ2VfdmFsaWQpCj4+Pj4gICAgCQkJcmV0dXJuIHBvcnQ7 Cj4+Pj4gICAgCX0KPj4+PiArCj4+Pj4gKwlpZiAoZHAtPmhwZF9icmlkZ2VfdmFsaWQpIHsKPj4+ PiArCQkvKiBJZiBtb3JlIHRoYW4gb25lIHBvcnQgaXMgYXZhaWxhYmxlLCBwaWNrIHRoZSBsYXN0 IGFjdGl2ZSBwb3J0ICovCj4+Pj4gKwkJaWYgKGRwLT5hY3RpdmVfcG9ydCA+IDAgJiYgbGFuZXNb ZHAtPmFjdGl2ZV9wb3J0XSkKPj4+PiArCQkJcmV0dXJuIGRwLT5wb3J0W2RwLT5hY3RpdmVfcG9y dF07Cj4+Pj4gKwo+Pj4+ICsJCS8qIElmIHRoZSBsYXN0IGFjdGl2ZSBwb3J0IGlzIG5vdCBhdmFp bGFibGUsIHBpY2sgYW4gYXZhaWxhYmxlIHBvcnQgaW4gb3JkZXIgKi8KPj4+PiArCQlmb3IgKGkg PSAwOyBpIDwgZHAtPmJyaWRnZV9jb3VudDsgaSsrKSB7Cj4+Pj4gKwkJCWlmIChsYW5lc1tpXSkK Pj4+PiArCQkJCXJldHVybiBkcC0+cG9ydFtpXTsKPj4+PiArCQl9Cj4+Pj4gKwl9Cj4+Pj4gKwo+ Pj4+ICAgIAlyZXR1cm4gTlVMTDsKPj4+PiAgICB9Cj4+Pj4gQEAgLTIzOSwxMCArMjUzLDExIEBA IHN0YXRpYyBlbnVtIGRybV9jb25uZWN0b3Jfc3RhdHVzCj4+Pj4gICAgY2RuX2RwX2JyaWRnZV9k ZXRlY3Qoc3RydWN0IGRybV9icmlkZ2UgKmJyaWRnZSwgc3RydWN0IGRybV9jb25uZWN0b3IgKmNv bm5lY3RvcikKPj4+PiAgICB7Cj4+Pj4gICAgCXN0cnVjdCBjZG5fZHBfZGV2aWNlICpkcCA9IGJy aWRnZV90b19kcChicmlkZ2UpOwo+Pj4+ICsJc3RydWN0IGNkbl9kcF9icmlkZ2UgKmRwX2JyaWRn ZSA9IGJyaWRnZV90b19kcF9icmlkZ2UoYnJpZGdlKTsKPj4+PiAgICAJZW51bSBkcm1fY29ubmVj dG9yX3N0YXR1cyBzdGF0dXMgPSBjb25uZWN0b3Jfc3RhdHVzX2Rpc2Nvbm5lY3RlZDsKPj4+PiAg ICAJbXV0ZXhfbG9jaygmZHAtPmxvY2spOwo+Pj4+IC0JaWYgKGRwLT5jb25uZWN0ZWQpCj4+Pj4g KwlpZiAoZHBfYnJpZGdlLT5jb25uZWN0ZWQgJiYgZHAtPmNvbm5lY3RlZCkKPj4+PiAgICAJCXN0 YXR1cyA9IGNvbm5lY3Rvcl9zdGF0dXNfY29ubmVjdGVkOwo+Pj4+ICAgIAltdXRleF91bmxvY2so JmRwLT5sb2NrKTsKPj4+PiBAQCAtMjUzLDEwICsyNjgsMzYgQEAgc3RhdGljIGNvbnN0IHN0cnVj dCBkcm1fZWRpZCAqCj4+Pj4gICAgY2RuX2RwX2JyaWRnZV9lZGlkX3JlYWQoc3RydWN0IGRybV9i cmlkZ2UgKmJyaWRnZSwgc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcikKPj4+PiAgICB7 Cj4+Pj4gICAgCXN0cnVjdCBjZG5fZHBfZGV2aWNlICpkcCA9IGJyaWRnZV90b19kcChicmlkZ2Up Owo+Pj4+IC0JY29uc3Qgc3RydWN0IGRybV9lZGlkICpkcm1fZWRpZDsKPj4+PiArCXN0cnVjdCBj ZG5fZHBfYnJpZGdlICpkcF9icmlkZ2UgPSBicmlkZ2VfdG9fZHBfYnJpZGdlKGJyaWRnZSk7Cj4+ Pj4gKwlzdHJ1Y3QgY2RuX2RwX3BvcnQgKnBvcnQgPSBkcC0+cG9ydFtkcF9icmlkZ2UtPmlkXTsK Pj4+PiArCXN0cnVjdCBjZG5fZHBfcG9ydCAqcHJldl9wb3J0Owo+Pj4+ICsJY29uc3Qgc3RydWN0 IGRybV9lZGlkICpkcm1fZWRpZCA9IE5VTEw7Cj4+Pj4gKwlpbnQgaSwgcmV0Owo+Pj4+ICAgIAlt dXRleF9sb2NrKCZkcC0+bG9jayk7Cj4+Pj4gKwo+Pj4+ICsJLyogTW9yZSB0aGFuIG9uZSBwb3J0 IGlzIGF2YWlsYWJsZSAqLwo+Pj4+ICsJaWYgKGRwLT5icmlkZ2VfY291bnQgPiAxICYmICFwb3J0 LT5waHlfZW5hYmxlZCkgewo+Pj4+ICsJCWZvciAoaSA9IDA7IGkgPCBkcC0+YnJpZGdlX2NvdW50 OyBpKyspIHsKPj4+PiArCQkJLyogQW5vdGhlciBwb3J0IGFscmVhZHkgZW5hYmxlICovCj4+Pj4g KwkJCWlmIChkcC0+YnJpZGdlX2xpc3RbaV0gIT0gZHBfYnJpZGdlICYmIGRwLT5icmlkZ2VfbGlz dFtpXS0+ZW5hYmxlZCkKPj4+PiArCQkJCWdvdG8gdW5sb2NrOwo+Pj4+ICsJCQkvKiBGaW5kIGFs cmVhZHkgZW5hYmxlZCBwb3J0ICovCj4+Pj4gKwkJCWlmIChkcC0+cG9ydFtpXS0+cGh5X2VuYWJs ZWQpCj4+Pj4gKwkJCQlwcmV2X3BvcnQgPSBkcC0+cG9ydFtpXTsKPj4+PiArCQl9Cj4+Pj4gKwo+ Pj4+ICsJCS8qIFN3aXRjaCB0byBjdXJyZW50IHBvcnQgKi8KPj4+PiArCQlpZiAocHJldl9wb3J0 KSB7Cj4+Pj4gKwkJCXJldCA9IGNkbl9kcF9zd2l0Y2hfcG9ydChkcCwgcHJldl9wb3J0LCBwb3J0 KTsKPj4+PiArCQkJaWYgKHJldCkKPj4+PiArCQkJCWdvdG8gdW5sb2NrOwo+Pj4+ICsJCX0KPj4+ PiArCX0KPj4+PiArCj4+Pj4gICAgCWRybV9lZGlkID0gZHJtX2VkaWRfcmVhZF9jdXN0b20oY29u bmVjdG9yLCBjZG5fZHBfZ2V0X2VkaWRfYmxvY2ssIGRwKTsKPj4+IFNvLi4uIElmIEkgdHJ5IHJl YWRpbmcgRURJRCBmb3IgdGhlIFBIWSAyIHdoaWxlIFBIWSAxIGlzIGVuYWJsZWQsIHdpbGwKPj4+ IGl0IHJldHVybiBOVUxMLCBldmVuIGlmIHRoZXJlIGlzIGEgbW9uaXRvciB0aGVyZT8gSXQgdG90 YWxseSBmZWVscyBsaWtlCj4+PiB0aGlzIGlzIG9uZSBvZiB0aGUgcmFyZSBjYXNlcyB3aGVuIGNh Y2hpbmcgRURJRHMgbWlnaHQgbWFrZSBzZW5zZS4KPj4gT2YgY291cnNlLiBJIGRpZCBjb25zaWRl ciB1c2luZyBjYWNoZSwgYnV0IGlmIHRoZSBtb25pdG9yIGNoYW5nZXMsIHRoZW4gY2FjaGluZyB0 aGUgRURJRCBkb2Vzbid0IHNlZW0gdG8gYmUgb2YgbXVjaCB1c2XigKYKPiBZZXMuLi4gSXQgbWln aHQgc3RpbGwgYmUgYmV0dGVyIHRvIGludmFsaWRhdGUgdGhlIGNhY2hlIG9uIHRoZSBwbHVnCj4g ZXZlbnQgcmF0aGVyIHRoYW4gYWx3YXlzIHJlcG9ydGluZyBlbXB0eSBFRElEIHdoZW4gYW5vdGhl ciBtb25pdG9yIGlzCj4gZW5hYmxlZC4KCkhtbSwgSSB3aWxsIGFkZCBjYWNoZSBpbiB2NS4KCgo+ Ci0tIApCZXN0LApDaGFveWkKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwpMaW51eC1yb2NrY2hpcCBtYWlsaW5nIGxpc3QKTGludXgtcm9ja2NoaXBAbGlz dHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3Rp bmZvL2xpbnV4LXJvY2tjaGlwCg==