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 70643C43602 for ; Wed, 1 Jul 2026 12:48:29 +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-Transfer-Encoding:Content-Type:MIME-Version:Reply-To:List-Subscribe: List-Help:List-Post:List-Archive:List-Unsubscribe:List-Id:Message-Id:Date: References:In-Reply-To:Cc:To:Subject:From:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=UTGufZgGjNfgF2lpF3ILBhO0lzaQFlqUK1TffCdgyMU=; b=HMfSLW/E5FSXyv RdzRLXyInVZUWqwyGUBNUwpt1AWLtV/ytRFysRthjOzcTVdPzurDkq7AcnDNFxEEiHCvoNV9dYXYO mnps4hUATYsi+Fw0gtiB0mn5aXPMzpI1B+DdYl0BFt8eJ6EHjoRK+gQZl4QjMuj+R7c6w7SvX0lyL QAMpuVFS08BITOrwi9YOYneHHNgWS7tOYLjAjlluolxvp+QdhKSF2cbNJFutH2avnvRIgpLPrnJHK 9PlYQIPqV53WBdgpjaF6XwUGyX0S08NT0z/VLJGOjwlYsROy+PyUk1hZQUGTDihA5aNxy2nruKUN1 9LFVYU7JxP5ysZhKLGaw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.99.1 #2 (Red Hat Linux)) id 1weuMf-000000022kR-07pS; Wed, 01 Jul 2026 12:48:29 +0000 Received: from tor.source.kernel.org ([2600:3c04:e001:324:0:1991:8:25]) by bombadil.infradead.org with esmtps (Exim 4.99.1 #2 (Red Hat Linux)) id 1weuMd-000000022jq-0Iv8 for linux-phy@lists.infradead.org; Wed, 01 Jul 2026 12:48:27 +0000 Received: from smtp.kernel.org (quasi.space.kernel.org [100.103.45.18]) by tor.source.kernel.org (Postfix) with ESMTP id E8DC76001D; Wed, 1 Jul 2026 12:48:24 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 2C1241F000E9; Wed, 1 Jul 2026 12:48:24 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1782910104; bh=1T7VWutfcoT1eQhz6SNDIKkUC3UgjAn1asmuahoNjEk=; h=From:Subject:Reply-To:To:Cc:In-Reply-To:References:Date; b=Pn0V4vIUspI+U3HIrzMrqv7noPwD0R7B9lbAF3BDEk5dqxLfi0SN7GAhF5EZZ9qSE 9+q0eZv6/wWEShFlrZwpDWa1p/rNpGlpTmYL6ktyZi+fFHbs3Q9GuwaQ4ru4CpaxV2 Zo9nOxBOFIy878dbJbW7qR2u65Co/i776XC8DWqaMPLJu8Dd5BptA6HRaMI/DFzlEP gAHnRQZClle6scG7/tv6de8nrdadHXv0CyhIWCJt/kqQOYqiD41WH1J86sM0+NtiNv vW27FBs+Q9oWQ8CH0kyHFchVcA9Tv8EtukhY7QqS7af4+q/VK9tEPfbRVYc9lVVMW7 fgC7PIVqVhKmA== From: sashiko-bot@kernel.org Subject: Re: [PATCH 08/12] phy: phy-mtk-dp: Add support for digital and analog calibration To: "AngeloGioacchino Del Regno" Cc: olteanv@gmail.com, neil.armstrong@linaro.org, vkoul@kernel.org, devicetree@vger.kernel.org, conor+dt@kernel.org, dri-devel@lists.freedesktop.org, linux-phy@lists.infradead.org, robh@kernel.org In-Reply-To: <20260701122008.19509-9-angelogioacchino.delregno@collabora.com> References: <20260701122008.19509-1-angelogioacchino.delregno@collabora.com> <20260701122008.19509-9-angelogioacchino.delregno@collabora.com> Date: Wed, 01 Jul 2026 12:48:23 +0000 Message-Id: <20260701124824.2C1241F000E9@smtp.kernel.org> X-BeenThere: linux-phy@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Linux Phy Mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: sashiko-reviews@lists.linux.dev MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-phy" Errors-To: linux-phy-bounces+linux-phy=archiver.kernel.org@lists.infradead.org VGhhbmsgeW91IGZvciB5b3VyIGNvbnRyaWJ1dGlvbiEgU2FzaGlrbyBBSSByZXZpZXcgZm91bmQg OSBwb3RlbnRpYWwgaXNzdWUocykgdG8gY29uc2lkZXI6Ci0gW0hpZ2hdIFBvaW50ZXIgY2FzdGlu ZyBhIDE2LWJpdCB2YXJpYWJsZSB0byBhIGB1OCAqYCBpbiBgbnZtZW1fY2VsbF9yZWFkX3U4KClg IGNhdXNlcyBpbmNvcnJlY3QgdmFsdWUgcmV0cmlldmFsIG9uIGJpZy1lbmRpYW4gYXJjaGl0ZWN0 dXJlcy4KLSBbSGlnaF0gYG10a19kcF9waHlfc2V0X2FuYWxvZ19jYWxpYnJhdGlvbl9wYXJhbXMo KWAgY2xlYXJzIGhhcmR3YXJlIHJlZ2lzdGVycyBkdWUgdG8gbWlzc2luZyBiaXR3aXNlIHNoaWZ0 cyBhbmQgaWdub3JlcyBlRnVzZSBjYWxpYnJhdGlvbi4KLSBbSGlnaF0gTGVnYWN5IHByb2JlIHBh dGggZmFpbHMgdG8gaW5pdGlhbGl6ZSBhbmFsb2cgY2FsaWJyYXRpb24gcGFyYW1ldGVycywgYnJl YWtpbmcgUEhZIHRyYW5zbWlzc2lvbi4KLSBbSGlnaF0gRHJpdmVyIHByb2JlIGZhaWxzIHVuY29u ZGl0aW9uYWxseSBvbiBwbGF0Zm9ybXMgd2l0aG91dCBOVk1FTSBzdXBwb3J0IGR1ZSB0byB1bmhh bmRsZWQgYC1FT1BOT1RTVVBQYC4KLSBbSGlnaF0gTWlzc2luZyBgcG1fcnVudGltZV9wdXRfc3lu YygpYCwgYHBtX3J1bnRpbWVfZGlzYWJsZSgpYCwgYW5kIGBwaHlfcmVtb3ZlX2xvb2t1cCgpYCBp biBkcml2ZXIgcmVtb3ZhbCwgd2l0aCB1bmNoZWNrZWQgYHBtX3J1bnRpbWVfZ2V0X3N5bmMoKWAu Ci0gW0hpZ2hdIEluY29ycmVjdCBpbmRleGluZyBvZiBkaWdpdGFsIHJlZ2lzdGVyIGFycmF5IHVz aW5nIGFuIGFuYWxvZyBlbnVtIGNhdXNlcyB3cml0ZXMgdG8gdGhlIHdyb25nIG9mZnNldHMgZHVy aW5nIHBvd2VyIG9mZi4KLSBbTWVkaXVtXSBTcGFtcyBgZGV2X2VycmAgb24gYm9vdCB3aGVuIGV4 cGVjdGVkIGVGdXNlIGNhbGlicmF0aW9uIGRhdGEgaXMgbm90IHByZXNlbnQuCi0gW01lZGl1bV0g SW5jb3JyZWN0IGZpZWxkIG1hc2sgdXNlZCB3aGVuIHZhbGlkYXRpbmcgTi1NT1NGRVQgaW1wZWRh bmNlIHZhbHVlcy4KLSBbTG93XSBUaGUgZmllbGQgYGVmdXNlX2NhbF9wcmVzZW50YCBpcyBzZXQg YnV0IG5ldmVyIHJlYWQuCi0tCgpjb21taXQgZDdjNzA1NTNlY2EzNWUxM2I3N2E5NTFlOGNiYjkx Njc1OThhNTcwMQpBdXRob3I6IEFuZ2Vsb0dpb2FjY2hpbm8gRGVsIFJlZ25vIDxhbmdlbG9naW9h Y2NoaW5vLmRlbHJlZ25vQGNvbGxhYm9yYS5jb20+CgpwaHk6IHBoeS1tdGstZHA6IEFkZCBzdXBw b3J0IGZvciBkaWdpdGFsIGFuZCBhbmFsb2cgY2FsaWJyYXRpb24KClRoaXMgY29tbWl0IGFkZHMg c3VwcG9ydCBmb3IgcmVhZGluZyBkaWdpdGFsIGFuZCBhbmFsb2cgY2FsaWJyYXRpb24KdmFsdWVz IGZyb20gZUZ1c2UgZm9yIHRoZSBNZWRpYVRlayBEUCBQSFkuIElmIGNhbGlicmF0aW9uIHZhbHVl cyBhcmUKcHJlc2VudCwgdGhleSBhcmUgdXNlZDsgb3RoZXJ3aXNlLCB0aGUgZHJpdmVyIGZhbGxz IGJhY2sgdG8gU29DLXNwZWNpZmljCmRlZmF1bHRzLiBJdCBhbHNvIGltcGxlbWVudHMgaGFyZHdh cmUgd3JpdGVzIGZvciB0aGUgYW5hbG9nIGNhbGlicmF0aW9uLgoKPiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9waHkvbWVkaWF0ZWsvcGh5LW10ay1kcC5jIGIvZHJpdmVycy9waHkvbWVkaWF0ZWsvcGh5 LW10ay1kcC5jCj4gaW5kZXggMTdkODcxNTMwY2NhZi4uY2RjYWU4NjEwMTJjNyAxMDA2NDQKPiAt LS0gYS9kcml2ZXJzL3BoeS9tZWRpYXRlay9waHktbXRrLWRwLmMKPiArKysgYi9kcml2ZXJzL3Bo eS9tZWRpYXRlay9waHktbXRrLWRwLmMKWyAuLi4gXQo+IEBAIC0yNTcsMjEgKzI1NywyMSBAQAo+ ICtzdGF0aWMgaW50IG10a19kcF9waHlfc2V0X2FuYWxvZ19jYWxpYnJhdGlvbl9wYXJhbXMoc3Ry dWN0IG10a19kcF9waHkgKmRwX3BoeSkKPiArewo+ICsJY29uc3Qgc3RydWN0IG10a19kcF9waHlf cGRhdGEgKnBkYXRhID0gZHBfcGh5LT5wZGF0YTsKPiArCWNvbnN0IHU4ICpyZWdzX2FuYV9nbGIg PSBwZGF0YS0+cmVnc19hbmFfZ2xiOwo+ICsJY29uc3QgdTggKnJlZ3NfYW5hX2xhbmUgPSBwZGF0 YS0+cmVnc19hbmFfbGFuZTsKPiArCWludCBpLCByZXQ7Cj4gKwo+ICsJcmV0ID0gcmVnbWFwX3Vw ZGF0ZV9iaXRzKGRwX3BoeS0+cmVnbWFwLAo+ICsJCQkJIHBkYXRhLT5vZmZfYW5hX2dsYiArIHJl Z3NfYW5hX2dsYltEUF9QSFlBX0dMQl9CSUFTX0dFTl8wXSwKPiArCQkJCSBYVFBfR0xCX0JJQVNf SU5UX1JfQ1RSTCwgcGRhdGEtPmFuYV9iaWFzX3IpOwoKW1NldmVyaXR5OiBIaWdoXQpEb2VzIHRo aXMgY2xlYXIgdGhlIGhhcmR3YXJlIHJlZ2lzdGVycyBpbnN0ZWFkIG9mIGFwcGx5aW5nIHRoZSBj YWxpYnJhdGVkCnZhbHVlcz8KClRoZSByZWdtYXBfdXBkYXRlX2JpdHMoKSBjYWxsIHVzZXMgdGhl IHN0YXRpYyBwZGF0YS0+YW5hX2JpYXNfciBkZWZhdWx0cwppbnN0ZWFkIG9mIHRoZSBjYWxpYnJh dGVkIGRwX3BoeS0+YW5hX2JpYXNfci4gQWRkaXRpb25hbGx5LCBwYXNzaW5nIHVuc2hpZnRlZAp2 YWx1ZXMgd2l0aCB0aGUgaGlnaC1tYXNrIGZpZWxkIFhUUF9HTEJfQklBU19JTlRfUl9DVFJMIHJl c3VsdHMgaW4gYSBiaXR3aXNlCkFORCB0aGF0IHlpZWxkcyB6ZXJvLgoKWyAuLi4gXQo+IEBAIC01 MTcsMTA5ICs1MTcsMTA5IEBACj4gK3N0YXRpYyBpbnQgbXRrX2RwX3BoeV9nZXRfb25lX2NhbF9w YXJhKHN0cnVjdCBkZXZpY2UgKmRldiwgY29uc3QgY2hhciAqbmFtZSwgdTggbWF4X3ZhbCkKPiAr ewo+ICsJdTE2IGJ1ZiA9IDA7Cj4gKwlpbnQgcmV0Owo+ICsKPiArCS8qCj4gKwkgKiBBbGwgb2Yg dGhlIGNhbGlicmF0aW9ucyBhcmUgYWx3YXlzIG1heCA4IGJpdHMgbG9uZywgYnV0IHNvbWUgbWF5 Cj4gKwkgKiBiZSBzcGxpdCBiZXR3ZWVuIHR3byBkaWZmZXJlbnQgOC1iaXRzIGNlbGxzOiBoYW5k bGUgdGhpcyBjb3JuZXIKPiArCSAqIGNhc2UgYnkgcmV0cnlpbmcgcmVhZGluZyBhcyB1MTYuCj4g KwkgKi8KPiArCXJldCA9IG52bWVtX2NlbGxfcmVhZF91OChkZXYsIG5hbWUsICh1OCAqKSZidWYp Owo+ICsJaWYgKHJldCkKPiArCQlyZXQgPSBudm1lbV9jZWxsX3JlYWRfdTE2KGRldiwgbmFtZSwg JmJ1Zik7CgpbU2V2ZXJpdHk6IEhpZ2hdCkNhbiB0aGlzIHBvaW50ZXIgY2FzdCBjb3JydXB0IHRo ZSByZWFkIHZhbHVlIG9uIGJpZy1lbmRpYW4gYXJjaGl0ZWN0dXJlcz8KCkNhc3RpbmcgdGhlIDE2 LWJpdCBidWYgdmFyaWFibGUgdG8gKHU4ICopIHdpbGwgd3JpdGUgdG8gdGhlIG1vc3Qgc2lnbmlm aWNhbnQKYnl0ZSBvbiBiaWctZW5kaWFuIHN5c3RlbXMuIFRoaXMgc2hpZnRzIHRoZSA4LWJpdCB2 YWx1ZSBsZWZ0IGJ5IDggYml0cywgd2hpY2gKd2lsbCBleGNlZWQgbWF4X3ZhbCBhbmQgY2F1c2Ug YW4gLUVSQU5HRSBlcnJvci4KCj4gKwo+ICsJaWYgKHJldCkgewo+ICsJCWRldl9lcnIoZGV2LCAi Q2Fubm90IGdldCBjYWxpYnJhdGlvbiBkYXRhIGZvciAlczogJWRcbiIsIG5hbWUsIHJldCk7Cj4g KwkJcmV0dXJuIHJldDsKPiArCX07CgpbU2V2ZXJpdHk6IE1lZGl1bV0KV2lsbCB0aGlzIHNwYW0g ZGV2X2VyciBvbiBib290IHdoZW4gdGhlIGVGdXNlIGNhbGlicmF0aW9uIGRhdGEgaXMgbWlzc2lu Zz8KCklmIHRoZSBOVk1FTSBjZWxscyBhcmUgYWJzZW50LCB0aGlzIHVuY29uZGl0aW9uYWxseSBw cmludHMgYW4gZXJyb3IgYmVmb3JlIHRoZQpmYWxsYmFjayBsb2dpYyBjYW4gaGFuZGxlIHRoZSAt RU5PRU5UIHJldHVybiBjb2RlLgoKWyAuLi4gXQo+ICtzdGF0aWMgaW50IG10a19kcF9waHlfZ2V0 X2NhbGlicmF0aW9uX2RhdGEoc3RydWN0IG10a19kcF9waHkgKmRwX3BoeSkKPiArewo+ICsJY2hh ciBtdGtfZHBfY2FsX2xhbmVfaW1wX25hbWVbXSA9ICJpbXBlZGFuY2UtbGFuZVhNIjsKPiArCXN0 cnVjdCBkZXZpY2UgKmRldiA9IGRwX3BoeS0+ZGV2Owo+ICsJaW50IGksIHJldDsKWyAuLi4gXQo+ ICsJLyogR2V0IGltcGVkYW5jZSBwYXJhbXMgZm9yIGVhY2ggbGFuZSAqLwo+ICsJZm9yIChpID0g MDsgaSA8IE1US19EUF9QSFlfTUFYX0xBTkVTOyBpKyspIHsKPiArCQkvKiBQLU1PU0ZFVCBmaXJz dCAqLwpbIC4uLiBdCj4gKwkJLyogLi4uYW5kIHRoZW4gTi1NT1NGRVQgdG9vICovCj4gKwkJc25w cmludGYobXRrX2RwX2NhbF9sYW5lX2ltcF9uYW1lLCBBUlJBWV9TSVpFKG10a19kcF9jYWxfbGFu ZV9pbXBfbmFtZSksCj4gKwkJCSAiaW1wZWRhbmNlLWxhbmUlZG4iLCBpKTsKPiArCQlyZXQgPSBt dGtfZHBfcGh5X2dldF9vbmVfY2FsX3BhcmEoZGV2LCBtdGtfZHBfY2FsX2xhbmVfaW1wX25hbWUs Cj4gKwkJCQkJCSAgRklFTERfTUFYKFhUUF9MTl9UWF9JTVBTRUxfUE1PUykpOwoKW1NldmVyaXR5 OiBNZWRpdW1dCklzIHRoaXMgdXNpbmcgdGhlIHdyb25nIG1hc2sgZm9yIHRoZSBOLU1PU0ZFVCBp bXBlZGFuY2UgdmFsdWVzPwoKSXQgcGFzc2VzIEZJRUxEX01BWChYVFBfTE5fVFhfSU1QU0VMX1BN T1MpIGluc3RlYWQgb2YgTk1PUy4gV2hpbGUgdGhleSBib3RoCnNoYXJlIGEgNC1iaXQgd2lkdGgg Y3VycmVudGx5LCB0aGlzIG1pZ2h0IGNhdXNlIHNlbWFudGljIGVycm9ycyBpZiB0aGUgYml0Cndp ZHRocyBjaGFuZ2UuCgo+ICsJCWlmIChyZXQgPCAwKQo+ICsJCQlnb3RvIGVuZDsKPiArCQlkcF9w aHktPmFuYV9pbXBzZWxbaV0ubm1vcyA9IHJldDsKPiArCX0KPiArZW5kOgo+ICsJaWYgKHJldCA8 IDApIHsKPiArCQkvKgo+ICsJCSAqIElmIGFueSBvZiB0aGUgY2FsaWJyYXRpb24gdmFsdWVzIGlz IG1pc3NpbmcsIG9yIGlmIHRoZXJlCj4gKwkJICogaXMgbm8gY2FsaWJyYXRpb24gYXQgYWxsIGlu IHRoZSBlRnVzZXMsIGNvcHkgdGhlIGRlZmF1bHQKPiArCQkgKiBvbmUgZW50aXJlbHkgKGFzIHBh cnRpYWwgdmFsdWVzIHNoYWxsIG5vdCBiZSBtaXhlZCEpCj4gKwkJICovCj4gKwkJaWYgKHJldCA9 PSAtRU5PRU5UKSB7Cj4gKwkJCWRldl9pbmZvKGRldiwgIlVzaW5nIGNhbGlicmF0aW9uIGRlZmF1 bHQgdmFsdWVzXG4iKTsKPiArCQkJbXRrX2RwX3BoeV9nZXRfZGVmYXVsdF9jYWxfZGF0YShkcF9w aHkpOwo+ICsJCQlyZXR1cm4gMDsKPiArCQl9Cj4gKwkJcmV0dXJuIHJldDsKPiArCX07CgpbU2V2 ZXJpdHk6IEhpZ2hdCldpbGwgdGhlIGRyaXZlciBwcm9iZSBmYWlsIHVuY29uZGl0aW9uYWxseSBv biBwbGF0Zm9ybXMgd2l0aG91dCBOVk1FTSBzdXBwb3J0PwoKSWYgTlZNRU0gaXMgZGlzYWJsZWQs IG52bWVtX2NlbGxfcmVhZF91OCgpIHJldHVybnMgLUVPUE5PVFNVUFAuIFRoZSBzdHJpY3QKY2hl Y2sgZm9yIC1FTk9FTlQgbWVhbnMgdGhlIGRlZmF1bHQgZmFsbGJhY2sgaXMgc2tpcHBlZCBhbmQg dGhlIGRyaXZlciBwcm9iZQphYm9ydHMuCgo+ICsJZHBfcGh5LT5lZnVzZV9jYWxfcHJlc2VudCA9 IHRydWU7CgpbU2V2ZXJpdHk6IExvd10KSXMgdGhpcyBmbGFnIGFjdHVhbGx5IHVzZWQgYW55d2hl cmU/CgpUaGUgZWZ1c2VfY2FsX3ByZXNlbnQgZmllbGQgaXMgcG9wdWxhdGVkIGhlcmUgYnV0IGRv ZXMgbm90IHNlZW0gdG8gYmUKZXZhbHVhdGVkIGFueXdoZXJlIGVsc2UgaW4gdGhlIGNvZGUuCgo+ ICsKPiArCXJldHVybiAwOwo+ICt9ClsgLi4uIF0KPiBAQCAtNDM3LDYgKzY2MSw3IEBAIHN0YXRp YyBpbnQgbXRrX2RwX3BoeV9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQo+ICAJ c3RydWN0IG10a19kcF9waHkgKmRwX3BoeTsKPiAgCXZvaWQgX19pb21lbSAqYmFzZTsKPiAgCXN0 cnVjdCBwaHkgKnBoeTsKPiArCWludCByZXQ7Cj4gIAo+ICAJZHBfcGh5ID0gZGV2bV9remFsbG9j KGRldiwgc2l6ZW9mKCpkcF9waHkpLCBHRlBfS0VSTkVMKTsKPiAgCWlmICghZHBfcGh5KQo+IEBA IC00NTgsNiArNjgzLDEwIEBAIHN0YXRpYyBpbnQgbXRrX2RwX3BoeV9wcm9iZShzdHJ1Y3QgcGxh dGZvcm1fZGV2aWNlICpwZGV2KQo+ICAKPiAgCWRwX3BoeS0+cGRhdGEgPSBkZXZpY2VfZ2V0X21h dGNoX2RhdGEoZGV2KTsKPiAgCj4gKwlyZXQgPSBtdGtfZHBfcGh5X2dldF9jYWxpYnJhdGlvbl9k YXRhKGRwX3BoeSk7Cj4gKwlpZiAocmV0KQo+ICsJCXJldHVybiByZXQ7Cj4gKwoKW1NldmVyaXR5 OiBIaWdoXQpEb2VzIHRoZSBsZWdhY3kgcHJvYmUgcGF0aCBhbHNvIG5lZWQgdG8gaW5pdGlhbGl6 ZSB0aGUgYW5hbG9nIGNhbGlicmF0aW9uCnBhcmFtZXRlcnM/CgpJZiBtdGtfZHBfcGh5X2xlZ2Fj eV9wcm9iZSgpIGJ5cGFzc2VzIGNhbGlicmF0aW9uIGRhdGEgbG9hZGluZywKZHBfcGh5LT5hbmFf aW1wc2VsIGlzIGxlZnQgZW50aXJlbHkgemVyb2VkLiBUaGVzZSB1bmluaXRpYWxpemVkIHplcm9l cyB3aWxsCnRoZW4gYmUgd3JpdHRlbiBkaXJlY3RseSB0byB0aGUgUEhZIHJlZ2lzdGVycywgd2hp Y2ggYnJlYWtzIHRyYW5zbWlzc2lvbiBvbgpsZWdhY3kgcGxhdGZvcm1zLgoKW1NldmVyaXR5OiBI aWdoXQpEb2VzIHRoZSBkcml2ZXIgcHJvcGVybHkgY2xlYW4gdXAgcnVudGltZSBQTSByZXNvdXJj ZXMgZHVyaW5nIHJlbW92YWw/CgpUaGUgcHJvYmUgZnVuY3Rpb24gYWNxdWlyZXMgUE0gcmVzb3Vy Y2VzIHdpdGhvdXQgdmVyaWZ5aW5nIHRoZSByZXN1bHQ6CgpwbV9ydW50aW1lX2VuYWJsZShkZXYp OwpwbV9ydW50aW1lX2dldF9zeW5jKGRldik7CgpCdXQgdGhlcmUgYXBwZWFycyB0byBiZSBubyBj b3JyZXNwb25kaW5nIC5yZW1vdmUgY2FsbGJhY2sgcHJvdmlkaW5nCnBtX3J1bnRpbWVfcHV0X3N5 bmMoKSwgcG1fcnVudGltZV9kaXNhYmxlKCksIG9yIHBoeV9yZW1vdmVfbG9va3VwKCkuCgpbU2V2 ZXJpdHk6IEhpZ2hdCkRvZXMgbXRrX2RwX3BoeV9wb3dlcl9vZmYoKSBhY2Nlc3MgdGhlIHdyb25n IG9mZnNldCBieSBpbmRleGluZyBhIGRpZ2l0YWwKcmVnaXN0ZXIgYXJyYXkgd2l0aCBhbiBhbmFs b2cgZW51bT8KCkxvb2tpbmcgYXQgbXRrX2RwX3BoeV9wb3dlcl9vZmYoKSBpbiBwaHktbXRrLWRw LmM6CgpzdGF0aWMgaW50IG10a19kcF9waHlfcG93ZXJfb2ZmKHN0cnVjdCBwaHkgKnBoeSkKewog ICAgICAgIC4uLgogICAgICAgIGNvbnN0IHU4ICpyZWdzID0gcGRhdGEtPnJlZ3NfZGlnX2dsYjsK ICAgICAgICAuLi4KICAgICAgICByZXQgPSByZWdtYXBfc2V0X2JpdHMoZHBfcGh5LT5yZWdtYXAs CiAgICAgICAgICAgICAgICAgICAgICAgIHBkYXRhLT5vZmZfYW5hX2dsYiArIHJlZ3NbRFBfUEhZ QV9HTEJfRk9SQ0VfQ1RSTF8xXSwKClVzaW5nIERQX1BIWUFfR0xCX0ZPUkNFX0NUUkxfMSAod2hp Y2ggaXMgYW4gYW5hbG9nIGVudW0pIHRvIGluZGV4IHJlZ3MKKHdoaWNoIHBvaW50cyB0byByZWdz X2RpZ19nbGIpIHdyaXRlcyB0byB0aGUgd3Jvbmcgb2Zmc2V0cyBkdXJpbmcgcG93ZXIgb2ZmLgoK LS0gClNhc2hpa28gQUkgcmV2aWV3IMK3IGh0dHBzOi8vc2FzaGlrby5kZXYvIy9wYXRjaHNldC8y MDI2MDcwMTEyMjAwOC4xOTUwOS0xLWFuZ2Vsb2dpb2FjY2hpbm8uZGVscmVnbm9AY29sbGFib3Jh LmNvbT9wYXJ0PTgKCi0tIApsaW51eC1waHkgbWFpbGluZyBsaXN0CmxpbnV4LXBoeUBsaXN0cy5p bmZyYWRlYWQub3JnCmh0dHBzOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZv L2xpbnV4LXBoeQo=