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 B7459CD5BB0 for ; Fri, 22 May 2026 15:27:47 +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=lyYua3FxpqYwYV1f9Gu8qafbGitaZcWoKvDhLUl59Gg=; b=nfHH3uWvnt8mhT bDioLp1UyDK6gK7kLSOjgBXcwEMTvfa7E2P7/lMHVRgC6zRQ0UtOCzo/W8PIqTjQZU6PmgKPmgOSI eCxAUKVD6bppwqrJKiEJ4O8/RYYZ6ZiTV0o5h85OcEeopibjktAQSUBh2+ngDJOkL2rVOulxU7BIH td/iGH3Ib2YlvQp2puyuyT5UVz+vODV2i7IyaqcRcq52FXnh0tLOZIzqaslGA9v2temG1kpQwZeD/ /I89VgWM4oSPy+7OHjp2otfkaNx8+pHIwpbGBVd4huvatnLqk+zc4iUGJw+XvvgxiK8i8/NsJBxiy DHITOGHr0N2DXMRcUiSA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.99.1 #2 (Red Hat Linux)) id 1wQRmt-0000000BFQl-0pBa; Fri, 22 May 2026 15:27:47 +0000 Received: from tor.source.kernel.org ([172.105.4.254]) by bombadil.infradead.org with esmtps (Exim 4.99.1 #2 (Red Hat Linux)) id 1wQRmr-0000000BFQ4-2SHv for linux-phy@lists.infradead.org; Fri, 22 May 2026 15:27:45 +0000 Received: from smtp.kernel.org (quasi.space.kernel.org [100.103.45.18]) by tor.source.kernel.org (Postfix) with ESMTP id 801B060204; Fri, 22 May 2026 15:27:44 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id E1F881F000E9; Fri, 22 May 2026 15:27:43 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1779463664; bh=HpNIDhErX6WEl2sahFkCGeg7bgbmEz7YjFWCvdU9JQI=; h=From:Subject:Reply-To:To:Cc:In-Reply-To:References:Date; b=J4MR/Vs+GeKg60oH9YW+RoEobVeWJ1AlN72r1PFXNbPw0FZYEWPp7lMaH0Sw4iRf9 UqLPQm+GQeQDt8rgCmocNDo7IpBStk1RyjwoxiWiMwn5Z+UhnF4UtkEF4O/swhGl2R mxyu9gZ67510K5yhUvIxAwrxshqrFTo/6DX1O+Dv5sYGuEm5xlFs8qPsCR4ogoSZyC 556CuvKECkepXLgnO5HjfGHdmHRxeVik8HpZsNa6Dm73+ZGOeQjvxmlTn/kzxiRV/z UtgabfB/a/mfmgF47O46CswEZ+1iAC4ZCkjUSWEBOT9Gq6ZICozDz/fwuTNG4QDdhk DrRuD9040QLNg== From: sashiko-bot@kernel.org Subject: Re: [PATCH v7 2/2] phy: qcom-mipi-csi2: Add a CSI2 MIPI DPHY driver To: =?utf-8?b?QnJ5YW4gTydEb25vZ2h1ZQ==?= Cc: vkoul@kernel.org, neil.armstrong@linaro.org, olteanv@gmail.com, linux-phy@lists.infradead.org, robh@kernel.org, conor+dt@kernel.org, devicetree@vger.kernel.org In-Reply-To: <20260522-x1e-csi2-phy-v7-2-79cb1280fad6@linaro.org> References: <20260522-x1e-csi2-phy-v7-2-79cb1280fad6@linaro.org> Date: Fri, 22 May 2026 15:27:43 +0000 Message-Id: <20260522152743.E1F881F000E9@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 OSBwb3RlbnRpYWwgaXNzdWUocykgdG8gY29uc2lkZXI6Ci0gW0hpZ2hdIExhbmUgcG9sYXJpdHkg Y29uZmlndXJhdGlvbiBvdmVyd3JpdGVzIHRoZSBzYW1lIGhhcmRjb2RlZCByZWdpc3RlciBpbnN0 ZWFkIG9mIGFwcGx5aW5nIHBlci1sYW5lIG9mZnNldHMuCi0gW0hpZ2hdIFRoZSBkcml2ZXIgYXR0 YWNoZXMgUE0gZG9tYWlucyBidXQgZmFpbHMgdG8gZW5hYmxlIFJ1bnRpbWUgUE0gb3IgcG93ZXIg dGhlbSBvbi4KLSBbSGlnaF0gVW5jb25kaXRpb25hbCBkZXJlZmVyZW5jZSBvZiBgcGRfbGlzdGAg d2hpY2ggY2FuIGJlIE5VTEwuCi0gW0hpZ2hdIFRoZSBwb3dlci1vZmYgc2VxdWVuY2UgaW5jb3Jy ZWN0bHkgZHJvcHMgdGhlIFBNIGRvbWFpbiBwZXJmb3JtYW5jZSBzdGF0ZSBiZWZvcmUgZGlzYWJs aW5nIGNsb2NrcyBhbmQgZHJvcHBpbmcgdGhlIE9QUCByYXRlLgotIFtIaWdoXSBBIHplcm8gcmV0 dXJuIHZhbHVlIGZyb20gYGNsa19yb3VuZF9yYXRlKClgIGlzIGluY29ycmVjdGx5IHRyZWF0ZWQg YXMgc3VjY2VzcywgbGVhZGluZyB0byBhIGRpdmlkZS1ieS16ZXJvIHBhbmljLgotIFtNZWRpdW1d IE1pc3NpbmcgcmVzb3VyY2UgY2xlYW51cCBpbiB0aGUgZXJyb3IgcGF0aHMgb2YgYHBoeV9xY29t X21pcGlfY3NpMl9wb3dlcl9vbigpYC4KLSBbTWVkaXVtXSBJbnRlZ2VyIHVuZGVyZmxvdyBpbiBg c2V0dGxlX2NudGAgY2FsY3VsYXRpb24uCi0gW01lZGl1bV0gVW52YWxpZGF0ZWQgbGFuZSBwb3Np dGlvbnMgZnJvbSBEZXZpY2UgVHJlZSBsZWFkIHRvIHVuZGVmaW5lZCBiZWhhdmlvciBpbiBiaXR3 aXNlIHNoaWZ0cy4KLSBbTG93XSBNaXNzaW5nIGJvdW5kcyBjaGVjayBvbiBgYXJnc19jb3VudGAg aW4gdGhlIFBIWSB4bGF0ZSBjYWxsYmFjay4KLS0KCmNvbW1pdCA5OTYwNzcxYjRlMzFlOWEzN2Nh NzAyMmNjNzk0NTI2NGQ1MDZiNDQ3CkF1dGhvcjogQnJ5YW4gTydEb25vZ2h1ZSA8YnJ5YW4ub2Rv bm9naHVlQGxpbmFyby5vcmc+CkRhdGU6ICAgRnJpIE1heSAyMiAxNDo0NToxMCAyMDI2ICswMDAw CgpwaHk6IHFjb20tbWlwaS1jc2kyOiBBZGQgYSBDU0kyIE1JUEkgRFBIWSBkcml2ZXIKCkFkZCBh IG5ldyBNSVBJIENTSTIgZHJpdmVyIGluIERQSFkgbW9kZSBpbml0aWFsbHkuIFRoZSBlbnRpcmUg c2V0IG9mCmV4aXN0aW5nIENBTVNTIENTSSBQSFkgaW5pdCBzZXF1ZW5jZXMgYXJlIGltcG9ydGVk IGluIG9yZGVyIHRvIHNhdmUgdGltZQphbmQgZWZmb3J0IGluIGxhdGVyIHBhdGNoZXMuCgo+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL3BoeS9xdWFsY29tbS9waHktcWNvbS1taXBpLWNzaTItM3BoLWRw aHkuYyBiL2RyaXZlcnMvcGh5L3F1YWxjb21tL3BoeS1xY29tLW1pcGktY3NpMi0zcGgtZHBoeS5j Cj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPiBpbmRleCAwMDAwMDAwMDAwMDAwLi4xZTc3MjlkNGVl NWQwCj4gLS0tIC9kZXYvbnVsbAo+ICsrKyBiL2RyaXZlcnMvcGh5L3F1YWxjb21tL3BoeS1xY29t LW1pcGktY3NpMi0zcGgtZHBoeS5jClsgLi4uIF0KPiArc3RhdGljIHU4IHBoeV9xY29tX21pcGlf Y3NpMl9zZXR0bGVfY250X2NhbGMoczY0IGxpbmtfZnJlcSwgdTMyIHRpbWVyX2Nsa19yYXRlKQo+ ICt7ClsgLi4uIF0KPiArCXRpbWVyX3BlcmlvZF9wcyA9IGRpdl91NjQoUFNFQ19QRVJfU0VDLCB0 aW1lcl9jbGtfcmF0ZSk7Cj4gKwlzZXR0bGVfY250ID0gdF9oc19zZXR0bGVfcHMgLyB0aW1lcl9w ZXJpb2RfcHMgLSA2OwoKW1NldmVyaXR5OiBNZWRpdW1dCkNvdWxkIHRoaXMgdW5kZXJmbG93IGlm IHRpbWVyX3BlcmlvZF9wcyBpcyBsYXJnZT8KCkJlY2F1c2Ugc2V0dGxlX2NudCBpcyBhbiB1bnNp Z25lZCB1OCwgYW4gdW5kZXJmbG93IGhlcmUgd291bGQgcmVzdWx0IGluIGEKbGFyZ2Ugd3JhcC1h cm91bmQgdmFsdWUgKGxpa2UgMjUxKSBiZWluZyB3cml0dGVuIHRvIHRoZSBoYXJkd2FyZSwKY29y cnVwdGluZyB0aGUgUEhZIHRpbWluZyBzZXR0aW5ncy4KCj4gKwo+ICsJcmV0dXJuIHNldHRsZV9j bnQ7Cj4gK30KWyAuLi4gXQo+ICtzdGF0aWMgaW50IHBoeV9xY29tX21pcGlfY3NpMl9sYW5lc19l bmFibGUoc3RydWN0IG1pcGlfY3NpMnBoeV9kZXZpY2UgKmNzaTJwaHksCj4gKwkJCQkJICAgc3Ry dWN0IG1pcGlfY3NpMnBoeV9zdHJlYW1fY2ZnICpjZmcpCj4gK3sKWyAuLi4gXQo+ICsJc2V0dGxl X2NudCA9IHBoeV9xY29tX21pcGlfY3NpMl9zZXR0bGVfY250X2NhbGMoY2ZnLT5saW5rX2ZyZXEs IGNzaTJwaHktPnRpbWVyX2Nsa19yYXRlKTsKPiArCj4gKwkvKiBMYW5lIHBvc2l0aW9uIGVuYWJs ZSBpbiBjb21tb24gcmVnIG9mZnNldCAqLwo+ICsJdmFsID0gQklUKGNzaTJwaHktPnN0cmVhbV9j ZmcubGFuZV9jZmcuY2xrLnBvcyk7Cj4gKwlmb3IgKGkgPSAwOyBpIDwgY2ZnLT5udW1fZGF0YV9s YW5lczsgaSsrKQo+ICsJCXZhbCB8PSBCSVQobGFuZV9jZmctPmRhdGFbaV0ucG9zKTsKCltTZXZl cml0eTogTWVkaXVtXQpJcyBpdCBwb3NzaWJsZSBmb3IgdW52YWxpZGF0ZWQgbGFuZSBwb3NpdGlv bnMgZnJvbSB0aGUgRGV2aWNlIFRyZWUgdG8KY2F1c2UgdW5kZWZpbmVkIGJlaGF2aW9yIGhlcmU/ CgpJZiBhIHBhcnNlZCBwb3NpdGlvbiB2YWx1ZSBpcyA+PSAzMiwgdGhpcyBtaWdodCByZXN1bHQg aW4gYW4gaW52YWxpZApzaGlmdC4gQWRkaXRpb25hbGx5LCBzaW5jZSB2YWwgaXMgYSB1OCwgYW55 IHBvc2l0aW9uID49IDggd291bGQKc2lsZW50bHkgdHJ1bmNhdGUgdG8gMCBhbmQgZmFpbCB0byBl bmFibGUgdGhlIGxhbmUuCgo+ICsKPiArCXdyaXRlbCh2YWwsIGNzaTJwaHktPmJhc2UgKwo+ICsJ ICAgICAgIENTSVBIWV8zUEhfQ01OX0NTSV9DT01NT05fQ1RSTG4ocmVncy0+Y29tbW9uX3JlZ3Nf b2Zmc2V0LCA1KSk7Cj4gKwo+ICsJLyogTGFuZSBjb25maWd1cmF0aW9uIGZvciBwb2xhcml0eSBA IENTSVBIWS1iYXNlICsgQ1RSTDkgKi8KPiArCWZvciAoaSA9IDA7IGkgPCBjZmctPm51bV9kYXRh X2xhbmVzOyBpKyspIHsKPiArCQlpZiAobGFuZV9jZmctPmRhdGFbaV0ucG9sKSB7Cj4gKwkJCXdy aXRlbChCSVQoMiksIGNzaTJwaHktPmJhc2UgKyBDU0lQSFlfMlBIX0xOX0NTSV8yUEhBU0VfQ1RS TG4oOSkpOwoKW1NldmVyaXR5OiBIaWdoXQpEb2VzIHRoaXMgb3ZlcndyaXRlIHRoZSBzYW1lIGhh cmRjb2RlZCByZWdpc3RlciBmb3IgYWxsIGxhbmVzPwoKU2luY2UgQ1NJUEhZXzJQSF9MTl9DU0lf MlBIQVNFX0NUUkxuKDkpIGV4cGFuZHMgdG8gYSBzdGF0aWMgb2Zmc2V0LCB0aGlzCnJlcGVhdGVk bHkgd3JpdGVzIHRvIGxhbmUgMCdzIHBvbGFyaXR5IHJlZ2lzdGVyIHJlZ2FyZGxlc3Mgb2Ygd2hp Y2ggbGFuZQppcyBiZWluZyBjb25maWd1cmVkLCBhbmQgc2VlbXMgdG8gaWdub3JlIHRoZSBjbG9j ayBsYW5lIHBvbGFyaXR5IHNldHRpbmcKZW50aXJlbHkuCgo+ICsJCX0KPiArCX0KPiArClsgLi4u IF0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9waHkvcXVhbGNvbW0vcGh5LXFjb20tbWlwaS1jc2ky LWNvcmUuYyBiL2RyaXZlcnMvcGh5L3F1YWxjb21tL3BoeS1xY29tLW1pcGktY3NpMi1jb3JlLmMK PiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+IGluZGV4IDAwMDAwMDAwMDAwMDAuLjU3ODkyNmJmYWVm NDUKPiAtLS0gL2Rldi9udWxsCj4gKysrIGIvZHJpdmVycy9waHkvcXVhbGNvbW0vcGh5LXFjb20t bWlwaS1jc2kyLWNvcmUuYwpbIC4uLiBdCj4gK3N0YXRpYyBpbnQKPiArcGh5X3Fjb21fbWlwaV9j c2kyX3NldF9jbG9ja19yYXRlcyhzdHJ1Y3QgbWlwaV9jc2kycGh5X2RldmljZSAqY3NpMnBoeSwK PiArCQkJCSAgIHM2NCBsaW5rX2ZyZXEpCj4gK3sKWyAuLi4gXQo+ICsJZm9yIChpID0gMDsgaSA8 IGNzaTJwaHktPnBkX2xpc3QtPm51bV9wZHM7IGkrKykgewoKW1NldmVyaXR5OiBIaWdoXQpDYW4g cGRfbGlzdCBiZSBOVUxMIGhlcmU/CgpJZiBDT05GSUdfUE1fR0VORVJJQ19ET01BSU5TIGlzIGRp c2FibGVkLCBkZXZtX3BtX2RvbWFpbl9hdHRhY2hfbGlzdCgpCnJldHVybnMgMCBidXQgbGVhdmVz IGNzaTJwaHktPnBkX2xpc3QgYXMgTlVMTC4gVGhpcyB3b3VsZCBsZWFkIHRvIGEKa2VybmVsIHBh bmljIHdoZW4gZGVyZWZlcmVuY2luZyBwZF9saXN0LT5udW1fcGRzLgoKPiArCQl1bnNpZ25lZCBp bnQgcGVyZiA9IGRldl9wbV9vcHBfZ2V0X3JlcXVpcmVkX3BzdGF0ZShvcHAsIGkpOwo+ICsKPiAr CQlyZXQgPSBkZXZfcG1fZ2VucGRfc2V0X3BlcmZvcm1hbmNlX3N0YXRlKGNzaTJwaHktPnBkX2xp c3QtPnBkX2RldnNbaV0sIHBlcmYpOwpbIC4uLiBdCj4gKwl0aW1lcl9yYXRlID0gY2xrX3JvdW5k X3JhdGUoY3NpMnBoeS0+dGltZXJfY2xrLCBsaW5rX2ZyZXEgLyA0KTsKPiArCWlmICh0aW1lcl9y YXRlIDw9IDApIHsKPiArCQlyZXQgPSB0aW1lcl9yYXRlOwo+ICsJCWdvdG8gdW5zZXRfb3BwX3Jh dGU7CgpbU2V2ZXJpdHk6IEhpZ2hdCklmIGNsa19yb3VuZF9yYXRlKCkgcmV0dXJucyAwLCBkb2Vz IHRoaXMgaW5jb3JyZWN0bHkgdHJlYXQgaXQgYXMgYSBzdWNjZXNzPwoKU2V0dGluZyByZXQgdG8g MCBhbmQganVtcGluZyB0byB1bnNldF9vcHBfcmF0ZSB3b3VsZCBsZWF2ZSB0aW1lcl9jbGtfcmF0 ZQphcyAwLCB3aGljaCBsYXRlciBjYXVzZXMgYSBkaXZpZGUtYnktemVybyBwYW5pYyBpbgpwaHlf cWNvbV9taXBpX2NzaTJfc2V0dGxlX2NudF9jYWxjKCkuCgo+ICsJfQo+ICsKPiArCXJldCA9IGNs a19zZXRfcmF0ZShjc2kycGh5LT50aW1lcl9jbGssIHRpbWVyX3JhdGUpOwpbIC4uLiBdCj4gK3N0 YXRpYyBpbnQgcGh5X3Fjb21fbWlwaV9jc2kyX3Bvd2VyX29uKHN0cnVjdCBwaHkgKnBoeSkKPiAr ewpbIC4uLiBdCj4gKwlyZXQgPSBjbGtfYnVsa19wcmVwYXJlX2VuYWJsZShjc2kycGh5LT5zb2Nf Y2ZnLT5udW1fY2xrLAo+ICsJCQkJICAgICAgY3NpMnBoeS0+Y2xrcyk7Cj4gKwlpZiAocmV0KSB7 Cj4gKwkJZGV2X2VycihkZXYsICJmYWlsZWQgdG8gZW5hYmxlIGNsb2NrcywgJWRcbiIsIHJldCk7 Cj4gKwkJZ290byB1bnNldF9yYXRlOwo+ICsJfQo+ICsKPiArCW9wcy0+cmVzZXQoY3NpMnBoeSk7 ClsgLi4uIF0KPiArdW5zZXRfcmF0ZToKPiArCWRldl9wbV9vcHBfc2V0X3JhdGUoY3NpMnBoeS0+ ZGV2LCAwKTsKCltTZXZlcml0eTogTWVkaXVtXQpEb2VzIHRoaXMgZXJyb3IgcGF0aCBtaXNzIGNs ZWFuaW5nIHVwIHRoZSBQTSBkb21haW4gcGVyZm9ybWFuY2Ugc3RhdGVzPwoKV2hpbGUgaXQgZHJv cHMgdGhlIE9QUCByYXRlIGFuZCByZWd1bGF0b3Igdm90ZXMsIGl0IGNvbXBsZXRlbHkgc2tpcHMK dW53aW5kaW5nIHRoZSBwZXJmb3JtYW5jZSBzdGF0ZXMgdGhhdCB3ZXJlIGVsZXZhdGVkIGR1cmlu ZwpwaHlfcWNvbV9taXBpX2NzaTJfc2V0X2Nsb2NrX3JhdGVzKCksIGxlYWtpbmcgdGhlIHZvdGVz LgoKPiArCj4gK3Bvd2Vyb2ZmX3BoeToKPiArCXJlZ3VsYXRvcl9idWxrX2Rpc2FibGUoY3NpMnBo eS0+c29jX2NmZy0+bnVtX3N1cHBsaWVzLAo+ICsJCQkgICAgICAgY3NpMnBoeS0+c3VwcGxpZXMp Owo+ICsKPiArCXJldHVybiByZXQ7Cj4gK30KPiArCj4gK3N0YXRpYyBpbnQgcGh5X3Fjb21fbWlw aV9jc2kyX3Bvd2VyX29mZihzdHJ1Y3QgcGh5ICpwaHkpCj4gK3sKPiArCXN0cnVjdCBtaXBpX2Nz aTJwaHlfZGV2aWNlICpjc2kycGh5ID0gcGh5X2dldF9kcnZkYXRhKHBoeSk7Cj4gKwljb25zdCBz dHJ1Y3QgbWlwaV9jc2kycGh5X2h3X29wcyAqb3BzID0gY3NpMnBoeS0+c29jX2NmZy0+b3BzOwo+ ICsJaW50IGk7Cj4gKwo+ICsJb3BzLT5sYW5lc19kaXNhYmxlKGNzaTJwaHksICZjc2kycGh5LT5z dHJlYW1fY2ZnKTsKPiArCj4gKwlmb3IgKGkgPSAwOyBpIDwgY3NpMnBoeS0+cGRfbGlzdC0+bnVt X3BkczsgaSsrKQo+ICsJCWRldl9wbV9nZW5wZF9zZXRfcGVyZm9ybWFuY2Vfc3RhdGUoY3NpMnBo eS0+cGRfbGlzdC0+cGRfZGV2c1tpXSwgMCk7Cj4gKwo+ICsJY2xrX2J1bGtfZGlzYWJsZV91bnBy ZXBhcmUoY3NpMnBoeS0+c29jX2NmZy0+bnVtX2NsaywKPiArCQkJCSAgIGNzaTJwaHktPmNsa3Mp OwoKW1NldmVyaXR5OiBIaWdoXQpJcyB0aGlzIHNlcXVlbmNlIGRyb3BwaW5nIHRoZSBQTSBkb21h aW4gcGVyZm9ybWFuY2Ugc3RhdGUgYmVmb3JlCmRpc2FibGluZyB0aGUgY2xvY2tzPwoKUmVtb3Zp bmcgdGhlIHZvbHRhZ2UgKHBlcmZvcm1hbmNlIHN0YXRlKSB3aGlsZSBoYXJkd2FyZSBsb2dpYyBp cyBzdGlsbApkcml2ZW4gYnkgaGlnaC1mcmVxdWVuY3kgY2xvY2tzIGNhbiBjYXVzZSBsb2dpYyB0 aW1pbmcgZmFpbHVyZXMgYW5kIHN5c3RlbQpoYW5ncy4KCkFsc28sIHNpbWlsYXJseSB0byBwaHlf cWNvbV9taXBpX2NzaTJfc2V0X2Nsb2NrX3JhdGVzKCksIGFjY2Vzc2luZwpwZF9saXN0LT5udW1f cGRzIHVuY29uZGl0aW9uYWxseSBoZXJlIGNvdWxkIHBhbmljIGlmIHBkX2xpc3QgaXMgTlVMTC4K Cj4gKwlkZXZfcG1fb3BwX3NldF9yYXRlKGNzaTJwaHktPmRldiwgMCk7Cj4gKwlyZWd1bGF0b3Jf YnVsa19kaXNhYmxlKGNzaTJwaHktPnNvY19jZmctPm51bV9zdXBwbGllcywKPiArCQkJICAgICAg IGNzaTJwaHktPnN1cHBsaWVzKTsKPiArCj4gKwlyZXR1cm4gMDsKPiArfQpbIC4uLiBdCj4gK3N0 YXRpYyBzdHJ1Y3QgcGh5ICpxY29tX2NzaTJfcGh5X3hsYXRlKHN0cnVjdCBkZXZpY2UgKmRldiwK PiArCQkJCSAgICAgICBjb25zdCBzdHJ1Y3Qgb2ZfcGhhbmRsZV9hcmdzICphcmdzKQo+ICt7Cj4g KwlzdHJ1Y3QgbWlwaV9jc2kycGh5X2RldmljZSAqY3NpMnBoeSA9IGRldl9nZXRfZHJ2ZGF0YShk ZXYpOwo+ICsKPiArCWlmIChhcmdzLT5hcmdzWzBdICE9IFBIWV9UWVBFX0RQSFkpIHsKCltTZXZl cml0eTogTG93XQpDYW4gd2UgYWRkIGEgYm91bmRzIGNoZWNrIGZvciBhcmdzLT5hcmdzX2NvdW50 IGhlcmU/CgpJZiBhIG1hbGZvcm1lZCBEZXZpY2UgVHJlZSBub2RlIHNwZWNpZmllcyAjcGh5LWNl bGxzID0gPDA+LCB0aGlzIHdpbGwKcmVhZCB1bmluaXRpYWxpemVkIG1lbW9yeSBmcm9tIHRoZSBh cmdzIGFycmF5LgoKPiArCQlkZXZfZXJyKGNzaTJwaHktPmRldiwgIm1vZGUgJWQgLUVPUE5PVFNV UFBcbiIsIGFyZ3MtPmFyZ3NbMF0pOwo+ICsJCXJldHVybiBFUlJfUFRSKC1FT1BOT1RTVVBQKTsK PiArCX0KWyAuLi4gXQo+ICtzdGF0aWMgaW50IHBoeV9xY29tX21pcGlfY3NpMl9wcm9iZShzdHJ1 Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQo+ICt7ClsgLi4uIF0KPiArCXJldCA9IHBoeV9xY29t X21pcGlfY3NpMl9hdHRhY2hfcG1fZG9tYWlucyhjc2kycGh5KTsKPiArCWlmIChyZXQgPCAwKQo+ ICsJCXJldHVybiBkZXZfZXJyX3Byb2JlKGRldiwgcmV0LCAiRmFpbGVkIHRvIGF0dGFjaCBwb3dl ci1kb21haW4gbGlzdFxuIik7CgpbU2V2ZXJpdHk6IEhpZ2hdCkFyZSB3ZSBtaXNzaW5nIFJ1bnRp bWUgUE0gaW5pdGlhbGl6YXRpb24gZm9yIHRoZSBhdHRhY2hlZCBQTSBkb21haW5zPwoKZGV2bV9w bV9kb21haW5fYXR0YWNoX2xpc3QoKSBjcmVhdGVzIHZpcnR1YWwgZGV2aWNlcywgYnV0IHdpdGhv dXQKcG1fcnVudGltZV9lbmFibGUoKSBhbmQgcG1fcnVudGltZV9nZXRfc3luYygpLCB0aGVzZSBk b21haW5zIHJlbWFpbgpzdXNwZW5kZWQuIEFzIGEgcmVzdWx0LCBhbnkgZGV2X3BtX2dlbnBkX3Nl dF9wZXJmb3JtYW5jZV9zdGF0ZSgpIHZvdGVzCmFyZSBqdXN0IGNhY2hlZCBhbmQgbmV2ZXIgYXBw bGllZCB0byB0aGUgaGFyZHdhcmUsIGxlYXZpbmcgdGhlIFBIWQp1bnBvd2VyZWQuCgo+ICsKPiAr CWZvciAoaSA9IDA7IGkgPCBudW1fY2xrOyBpKyspClsgLi4uIF0KCi0tIApTYXNoaWtvIEFJIHJl dmlldyDCtyBodHRwczovL3Nhc2hpa28uZGV2LyMvcGF0Y2hzZXQvMjAyNjA1MjIteDFlLWNzaTIt cGh5LXY3LTAtNzljYjEyODBmYWQ2QGxpbmFyby5vcmc/cGFydD0yCgotLSAKbGludXgtcGh5IG1h aWxpbmcgbGlzdApsaW51eC1waHlAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwczovL2xpc3RzLmlu ZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1waHkK