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 536DFCA1012 for ; Sat, 6 Sep 2025 19:08:38 +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:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-ID:Date:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=pig3FlNNtWZbgwwZvI1Opdxw5YF15/Xr7D5PcfzYw2A=; b=wTsuxU3RYXjCJs aEHv3/7XynWI/0DVWqvbXB8XnVyVZaE3+5oSarG5kbTfs6q6HOpLGDx6D+Znbc3tlvP5pOBMxFNuk swqFWn8lgRMsDgHdPSs5XfxGZ+LyrsAdZ5gK9ZPmEleVwS5OVtk9orBlHkmGu3KcfqbeGrXyXQ0gs 2Fg2Ht0jrFEhLvCBBPbi420pWCAQZ4dt7ogUwLwjqMNbaQWjVd1RLyo7CHEWJAtxdrAfq77Ze0IAp V1GrJBFgINWjTlijiBn5IJ2siwJCceyOX61Sn+ifTXMqQb5Qebp7wmXMqVpjq71n7F53T2Ud0CaTW 11uZCC2lKS160IWfqMfg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.2 #2 (Red Hat Linux)) id 1uuyH2-00000008Kyc-3Me6; Sat, 06 Sep 2025 19:08:32 +0000 Received: from gloria.sntech.de ([185.11.138.130]) by bombadil.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux)) id 1uuxnk-00000008Gr4-0Pru; Sat, 06 Sep 2025 18:38:17 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=sntech.de; s=gloria202408; h=Content-Type:Content-Transfer-Encoding:MIME-Version: References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From:Reply-To; bh=g+g0XX9J8t8Nqb+uRU32vvhFxMEa0z6b7cNxVe9VKeo=; b=nWYjEPyeVmOOKhYOXkH2Wm+4xK Lsofo0YkbSTFpL34whsCZ1ncc/Wr5VHDHc4DV2TH03/iXMzXyjnKXIUA+ev2CRQ9FmwiYotp55gi6 NZ+4QC3iHyLsWtP6fedoAPMwxvxDw4124kRLj724Nkcs5VIN9OBTZ0TISD3ETQcXL53/94PLuxwee ejLvW1iye+oQljoJXH9cU9ssBTuh3BCmwyHOp1C8gWCBG2/RuthsfBSi6MJiB+lA+0v6PROVlBA26 sQ/R+O0CGdRJ/kL7WdHwt8KBpKvIZcxLXk90b36G2hCa67ZFcxFlU2NPk7krBTh7rJV0W2miV5FVQ lntim3VQ==; Received: from i53875a53.versanet.de ([83.135.90.83] helo=diego.localnet) by gloria.sntech.de with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1uuxnc-0006tH-5x; Sat, 06 Sep 2025 20:38:08 +0200 From: Heiko =?UTF-8?B?U3TDvGJuZXI=?= To: Nicolas Frattaroli , Chanwoo Choi Cc: Chanwoo Choi , MyungJoo Ham , Kyungmin Park , Sascha Hauer , Jonathan Cameron , Sebastian Reichel , kernel@collabora.com, linux-pm@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rockchip@lists.infradead.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH 2/2] PM / devfreq: rockchip-dfi: add support for LPDDR5 Date: Sat, 06 Sep 2025 20:38:07 +0200 Message-ID: <24752023.ouqheUzb2q@diego> In-Reply-To: References: <20250530-rk3588-dfi-improvements-v1-0-6e077c243a95@collabora.com> <20250530-rk3588-dfi-improvements-v1-2-6e077c243a95@collabora.com> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250906_113816_287551_6C0DC697 X-CRM114-Status: GOOD ( 51.33 ) 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 SGksCgpBbSBTYW1zdGFnLCA2LiBTZXB0ZW1iZXIgMjAyNSwgMTg6MDk6NTMgTWl0dGVsZXVyb3DD pGlzY2hlIFNvbW1lcnplaXQgc2NocmllYiBDaGFud29vIENob2k6Cj4gSSdtIHNvcnJ5IGZvciBs YXRlIHJlcGx5Lgo+IAo+IExvb2tzIGdvb2QgdG8gbWUuIEJ1dCwgdGhpcyBwYXRjaCBjb250YWlu cyB0aGUgY2hhbmdlIG9mIGZvbGxvd2luZyBoZWFkZXIuCj4gSWYgdGhlcmUgYXJlIEFDSyBhYm91 dCBjaGFuZ2UgaW4gaW5jbHVkZS9zb2Mvcm9ja2NoaXAsIEknbGwgbWVyZ2UgdGhpcyBzZXJpZXMu Cj4gCj4gaW5jbHVkZS9zb2Mvcm9ja2NoaXAvcmszNTg4X2dyZi5oICAgIHwgIDggKysrLQo+IGlu Y2x1ZGUvc29jL3JvY2tjaGlwL3JvY2tjaGlwX2dyZi5oICB8ICAxICsKCmRvbmUgOi0pCgpUaGFu a3MKSGVpa28KCgo+IE9uIEZyaSwgTWF5IDMwLCAyMDI1IGF0IDEwOjM54oCvUE0gTmljb2xhcyBG cmF0dGFyb2xpCj4gPG5pY29sYXMuZnJhdHRhcm9saUBjb2xsYWJvcmEuY29tPiB3cm90ZToKPiA+ Cj4gPiBUaGUgUm9ja2NoaXAgUkszNTg4IFNvQyBjYW4gYWxzbyBzdXBwb3J0IExQRERSNSBtZW1v cnkuIFRoaXMgdHlwZSBvZgo+ID4gbWVtb3J5IG5lZWRzIHNvbWUgc3BlY2lhbCBjYXNlIGhhbmRs aW5nIGluIHRoZSByb2NrY2hpcC1kZmkgZHJpdmVyLgo+ID4KPiA+IEFkZCBzdXBwb3J0IGZvciBp dCBpbiByb2NrY2hpcC1kZmksIGFzIHdlbGwgYXMgdGhlIG5lZWRlZCBHUkYgcmVnaXN0ZXIKPiA+ IGRlZmluaXRpb25zLgo+ID4KPiA+IFRoaXMgaGFzIGJlZW4gdGVzdGVkIGFzIHJldHVybmluZyBi b3RoIHRoZSByaWdodCBjeWNsZSBjb3VudCBhbmQKPiA+IGJhbmR3aWR0aCBvbiBhIExQRERSNSBi b2FyZCB3aGVyZSB0aGUgQ0tSIGJpdCBpcyAxLiBJIGNvdWxkbid0IHRlc3QKPiA+IHdoZXRoZXIg dGhlIHZhbHVlcyBhcmUgY29ycmVjdCBvbiBhIHN5c3RlbSB3aGVyZSBDS1IgaXMgMCwgYXMgSSdt IG5vdAo+ID4gc2F2dnkgZW5vdWdoIHdpdGggdGhlIFJvY2tjaGlwIHRvb2xpbmcgdG8ga25vdyB3 aGV0aGVyIHRoaXMgY2FuIGJlIHNldAo+ID4gaW4gdGhlIEREUiBpbml0IGJsb2IuCj4gPgo+ID4g RG93bnN0cmVhbSBoYXMgc29tZSBzcGVjaWFsIGNhc2UgaGFuZGxpbmcgZm9yIGEgaGFyZHdhcmUg dmVyc2lvbiB3aGVyZQo+ID4gbm90IGp1c3QgdGhlIGNvbnRyb2wgYml0cyBkaWZmZXIsIGJ1dCBh bHNvIHRoZSByZWdpc3Rlci4gU2luY2UgSSBkb24ndAo+ID4ga25vdyB3aGV0aGVyIHRoYXQgaGFy ZHdhcmUgdmVyc2lvbiBpcyBpbiBhbnkgcHJvZHVjdGlvbiBzaWxpY29uLCBpdCdzCj4gPiBsZWZ0 IHVuaW1wbGVtZW50ZWQgZm9yIG5vdywgd2l0aCBhbiBlcnJvciBtZXNzYWdlIHVyZ2luZyB1c2Vy cyB0byByZXBvcnQKPiA+IGlmIHRoZXkgaGF2ZSBzdWNoIGEgc3lzdGVtLgo+ID4KPiA+IFRoZXJl IGlzIGEgc2xpZ2h0IGNoYW5nZSBvZiBiZWhhdmlvdXIgZm9yIG5vbi1MUEREUjUgc3lzdGVtczog aW5zdGVhZCBvZgo+ID4gd3JpdGluZyAwIGFzIHRoZSBjb250cm9sIGZsYWdzIHRvIHRoZSBjb250 cm9sIHJlZ2lzdGVyIGFuZCBwcmV0ZW5kaW5nCj4gPiBldmVyeXRoaW5nIGlzIGFscmlnaHQgaWYg dGhlIG1lbW9yeSB0eXBlIGlzIHVua25vd24sIHdlIG5vdyBleHBsaWNpdGx5Cj4gPiByZXR1cm4g YW4gZXJyb3IuCj4gPgo+ID4gU2lnbmVkLW9mZi1ieTogTmljb2xhcyBGcmF0dGFyb2xpIDxuaWNv bGFzLmZyYXR0YXJvbGlAY29sbGFib3JhLmNvbT4KPiA+IC0tLQo+ID4gIGRyaXZlcnMvZGV2ZnJl cS9ldmVudC9yb2NrY2hpcC1kZmkuYyB8IDg0ICsrKysrKysrKysrKysrKysrKysrKysrKysrKyst LS0tLS0tLQo+ID4gIGluY2x1ZGUvc29jL3JvY2tjaGlwL3JrMzU4OF9ncmYuaCAgICB8ICA4ICsr Ky0KPiA+ICBpbmNsdWRlL3NvYy9yb2NrY2hpcC9yb2NrY2hpcF9ncmYuaCAgfCAgMSArCj4gPiAg MyBmaWxlcyBjaGFuZ2VkLCA3MyBpbnNlcnRpb25zKCspLCAyMCBkZWxldGlvbnMoLSkKPiA+Cj4g PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9kZXZmcmVxL2V2ZW50L3JvY2tjaGlwLWRmaS5jIGIvZHJp dmVycy9kZXZmcmVxL2V2ZW50L3JvY2tjaGlwLWRmaS5jCj4gPiBpbmRleCA1NGVmZmI2MzUxOTY1 M2QyMGI0MGVlZDg4NjgxMzMwOTgzMzk5YTc3Li41YTJjOWJhZGNjNjRjNTUyMzAzYzJmNTVjNTJl NTQyMGRlYzVmZmMxIDEwMDY0NAo+ID4gLS0tIGEvZHJpdmVycy9kZXZmcmVxL2V2ZW50L3JvY2tj aGlwLWRmaS5jCj4gPiArKysgYi9kcml2ZXJzL2RldmZyZXEvZXZlbnQvcm9ja2NoaXAtZGZpLmMK PiA+IEBAIC0zNCwxNSArMzQsMTggQEAKPiA+Cj4gPiAgLyogRERSTU9OX0NUUkwgKi8KPiA+ICAj ZGVmaW5lIEREUk1PTl9DVFJMICAgIDB4MDQKPiA+ICsjZGVmaW5lIEREUk1PTl9DVFJMX0xQRERS NSAgICAgICAgICAgICBCSVQoNikKPiA+ICAjZGVmaW5lIEREUk1PTl9DVFJMX0REUjQgICAgICAg ICAgICAgICBCSVQoNSkKPiA+ICAjZGVmaW5lIEREUk1PTl9DVFJMX0xQRERSNCAgICAgICAgICAg ICBCSVQoNCkKPiA+ICAjZGVmaW5lIEREUk1PTl9DVFJMX0hBUkRXQVJFX0VOICAgICAgICAgICAg ICAgIEJJVCgzKQo+ID4gICNkZWZpbmUgRERSTU9OX0NUUkxfTFBERFIyMyAgICAgICAgICAgIEJJ VCgyKQo+ID4gICNkZWZpbmUgRERSTU9OX0NUUkxfU09GVFdBUkVfRU4gICAgICAgICAgICAgICAg QklUKDEpCj4gPiAgI2RlZmluZSBERFJNT05fQ1RSTF9USU1FUl9DTlRfRU4gICAgICAgQklUKDAp Cj4gPiAtI2RlZmluZSBERFJNT05fQ1RSTF9ERFJfVFlQRV9NQVNLICAgICAgKEREUk1PTl9DVFJM X0REUjQgfCBcCj4gPiArI2RlZmluZSBERFJNT05fQ1RSTF9ERFJfVFlQRV9NQVNLICAgICAgKERE Uk1PTl9DVFJMX0xQRERSNSB8IFwKPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgRERSTU9OX0NUUkxfRERSNCB8IFwKPiA+ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgRERSTU9OX0NUUkxfTFBERFI0IHwgXAo+ID4gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBERFJNT05fQ1RSTF9MUEREUjIzKQo+ID4gKyNk ZWZpbmUgRERSTU9OX0NUUkxfTFA1X0JBTktfTU9ERV9NQVNLIEdFTk1BU0soOCwgNykKPiA+Cj4g PiAgI2RlZmluZSBERFJNT05fQ0gwX1dSX05VTSAgICAgICAgICAgICAgMHgyMAo+ID4gICNkZWZp bmUgRERSTU9OX0NIMF9SRF9OVU0gICAgICAgICAgICAgIDB4MjQKPiA+IEBAIC0xMTYsMTMgKzEx OSw2MCBAQCBzdHJ1Y3Qgcm9ja2NoaXBfZGZpIHsKPiA+ICAgICAgICAgaW50IGJ1c3dpZHRoW0RN Q19NQVhfQ0hBTk5FTFNdOwo+ID4gICAgICAgICBpbnQgZGRybW9uX3N0cmlkZTsKPiA+ICAgICAg ICAgYm9vbCBkZHJtb25fY3RybF9zaW5nbGU7Cj4gPiArICAgICAgIHUzMiBscDVfYmFua19tb2Rl Owo+ID4gKyAgICAgICBib29sIGxwNV9ja3I7ICAgLyogdHJ1ZSBpZiBpbiA0OjEgY29tbWFuZC10 by1kYXRhIGNsb2NrIHJhdGlvIG1vZGUgKi8KPiA+ICAgICAgICAgdW5zaWduZWQgaW50IGNvdW50 X211bHRpcGxpZXI7ICAvKiBudW1iZXIgb2YgZGF0YSBjbG9ja3MgcGVyIGNvdW50ICovCj4gPiAg fTsKPiA+Cj4gPiArc3RhdGljIGludCByb2NrY2hpcF9kZmlfZGRydHlwZV90b19jdHJsKHN0cnVj dCByb2NrY2hpcF9kZmkgKmRmaSwgdTMyICpjdHJsLAo+ID4gKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHUzMiAqbWFzaykKPiA+ICt7Cj4gPiArICAgICAgIHUzMiBkZHJt b25fdmVyOwo+ID4gKwo+ID4gKyAgICAgICAqbWFzayA9IEREUk1PTl9DVFJMX0REUl9UWVBFX01B U0s7Cj4gPiArCj4gPiArICAgICAgIHN3aXRjaCAoZGZpLT5kZHJfdHlwZSkgewo+ID4gKyAgICAg ICBjYXNlIFJPQ0tDSElQX0REUlRZUEVfTFBERFIyOgo+ID4gKyAgICAgICBjYXNlIFJPQ0tDSElQ X0REUlRZUEVfTFBERFIzOgo+ID4gKyAgICAgICAgICAgICAgICpjdHJsID0gRERSTU9OX0NUUkxf TFBERFIyMzsKPiA+ICsgICAgICAgICAgICAgICBicmVhazsKPiA+ICsgICAgICAgY2FzZSBST0NL Q0hJUF9ERFJUWVBFX0xQRERSNDoKPiA+ICsgICAgICAgY2FzZSBST0NLQ0hJUF9ERFJUWVBFX0xQ RERSNFg6Cj4gPiArICAgICAgICAgICAgICAgKmN0cmwgPSBERFJNT05fQ1RSTF9MUEREUjQ7Cj4g PiArICAgICAgICAgICAgICAgYnJlYWs7Cj4gPiArICAgICAgIGNhc2UgUk9DS0NISVBfRERSVFlQ RV9MUEREUjU6Cj4gPiArICAgICAgICAgICAgICAgZGRybW9uX3ZlciA9IHJlYWRsX3JlbGF4ZWQo ZGZpLT5yZWdzKTsKPiA+ICsgICAgICAgICAgICAgICBpZiAoZGRybW9uX3ZlciA8IDB4NDApIHsK PiA+ICsgICAgICAgICAgICAgICAgICAgICAgICpjdHJsID0gRERSTU9OX0NUUkxfTFBERFI1IHwg ZGZpLT5scDVfYmFua19tb2RlOwo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgKm1hc2sgfD0g RERSTU9OX0NUUkxfTFA1X0JBTktfTU9ERV9NQVNLOwo+ID4gKyAgICAgICAgICAgICAgICAgICAg ICAgYnJlYWs7Cj4gPiArICAgICAgICAgICAgICAgfQo+ID4gKwo+ID4gKyAgICAgICAgICAgICAg IC8qCj4gPiArICAgICAgICAgICAgICAgICogQXMgaXQgaXMgdW5rbm93biB3aGV0aGVyIHRoZSB1 bnBsZWFzYW50IHNwZWNpYWwgY2FzZQo+ID4gKyAgICAgICAgICAgICAgICAqIGJlaGF2aW91ciB1 c2VkIGJ5IHRoZSB2ZW5kb3Iga2VybmVsIGlzIG5lZWRlZCBmb3IgYW55Cj4gPiArICAgICAgICAg ICAgICAgICogc2hpcHBpbmcgaGFyZHdhcmUsIGFzayB1c2VycyB0byByZXBvcnQgaWYgdGhleSBo YXZlCj4gPiArICAgICAgICAgICAgICAgICogc29tZSBvZiB0aGF0IGhhcmR3YXJlLgo+ID4gKyAg ICAgICAgICAgICAgICAqLwo+ID4gKyAgICAgICAgICAgICAgIGRldl9lcnIoJmRmaS0+ZWRldi0+ ZGV2LAo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgInVuc3VwcG9ydGVkIEREUk1PTiB2ZXJz aW9uIDB4JTA0WCwgcGxlYXNlIGxldCBsaW51eC1yb2NrY2hpcCBrbm93IVxuIiwKPiA+ICsgICAg ICAgICAgICAgICAgICAgICAgIGRkcm1vbl92ZXIpOwo+ID4gKyAgICAgICAgICAgICAgIHJldHVy biAtRU9QTk9UU1VQUDsKPiA+ICsgICAgICAgZGVmYXVsdDoKPiA+ICsgICAgICAgICAgICAgICBk ZXZfZXJyKCZkZmktPmVkZXYtPmRldiwgInVuc3VwcG9ydGVkIG1lbW9yeSB0eXBlIDB4JVhcbiIs Cj4gPiArICAgICAgICAgICAgICAgICAgICAgICBkZmktPmRkcl90eXBlKTsKPiA+ICsgICAgICAg ICAgICAgICByZXR1cm4gLUVPUE5PVFNVUFA7Cj4gPiArICAgICAgIH0KPiA+ICsKPiA+ICsgICAg ICAgcmV0dXJuIDA7Cj4gPiArfQo+ID4gKwo+ID4gIHN0YXRpYyBpbnQgcm9ja2NoaXBfZGZpX2Vu YWJsZShzdHJ1Y3Qgcm9ja2NoaXBfZGZpICpkZmkpCj4gPiAgewo+ID4gICAgICAgICB2b2lkIF9f aW9tZW0gKmRmaV9yZWdzID0gZGZpLT5yZWdzOwo+ID4gICAgICAgICBpbnQgaSwgcmV0ID0gMDsK PiA+ICsgICAgICAgdTMyIGN0cmw7Cj4gPiArICAgICAgIHUzMiBjdHJsX21hc2s7Cj4gPgo+ID4g ICAgICAgICBtdXRleF9sb2NrKCZkZmktPm11dGV4KTsKPiA+Cj4gPiBAQCAtMTM2LDggKzE4Niwx MSBAQCBzdGF0aWMgaW50IHJvY2tjaGlwX2RmaV9lbmFibGUoc3RydWN0IHJvY2tjaGlwX2RmaSAq ZGZpKQo+ID4gICAgICAgICAgICAgICAgIGdvdG8gb3V0Owo+ID4gICAgICAgICB9Cj4gPgo+ID4g KyAgICAgICByZXQgPSByb2NrY2hpcF9kZmlfZGRydHlwZV90b19jdHJsKGRmaSwgJmN0cmwsICZj dHJsX21hc2spOwo+ID4gKyAgICAgICBpZiAocmV0KQo+ID4gKyAgICAgICAgICAgICAgIGdvdG8g b3V0Owo+ID4gKwo+ID4gICAgICAgICBmb3IgKGkgPSAwOyBpIDwgZGZpLT5tYXhfY2hhbm5lbHM7 IGkrKykgewo+ID4gLSAgICAgICAgICAgICAgIHUzMiBjdHJsID0gMDsKPiA+Cj4gPiAgICAgICAg ICAgICAgICAgaWYgKCEoZGZpLT5jaGFubmVsX21hc2sgJiBCSVQoaSkpKQo+ID4gICAgICAgICAg ICAgICAgICAgICAgICAgY29udGludWU7Cj4gPiBAQCAtMTQ3LDIxICsyMDAsNyBAQCBzdGF0aWMg aW50IHJvY2tjaGlwX2RmaV9lbmFibGUoc3RydWN0IHJvY2tjaGlwX2RmaSAqZGZpKQo+ID4gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEREUk1PTl9DVFJMX1NPRlRXQVJFX0VOIHwgRERS TU9OX0NUUkxfSEFSRFdBUkVfRU4pLAo+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGRmaV9yZWdzICsgaSAqIGRmaS0+ZGRybW9uX3N0cmlkZSArIEREUk1PTl9DVFJMKTsKPiA+Cj4g PiAtICAgICAgICAgICAgICAgLyogc2V0IGRkciB0eXBlIHRvIGRmaSAqLwo+ID4gLSAgICAgICAg ICAgICAgIHN3aXRjaCAoZGZpLT5kZHJfdHlwZSkgewo+ID4gLSAgICAgICAgICAgICAgIGNhc2Ug Uk9DS0NISVBfRERSVFlQRV9MUEREUjI6Cj4gPiAtICAgICAgICAgICAgICAgY2FzZSBST0NLQ0hJ UF9ERFJUWVBFX0xQRERSMzoKPiA+IC0gICAgICAgICAgICAgICAgICAgICAgIGN0cmwgPSBERFJN T05fQ1RSTF9MUEREUjIzOwo+ID4gLSAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7Cj4gPiAt ICAgICAgICAgICAgICAgY2FzZSBST0NLQ0hJUF9ERFJUWVBFX0xQRERSNDoKPiA+IC0gICAgICAg ICAgICAgICBjYXNlIFJPQ0tDSElQX0REUlRZUEVfTFBERFI0WDoKPiA+IC0gICAgICAgICAgICAg ICAgICAgICAgIGN0cmwgPSBERFJNT05fQ1RSTF9MUEREUjQ7Cj4gPiAtICAgICAgICAgICAgICAg ICAgICAgICBicmVhazsKPiA+IC0gICAgICAgICAgICAgICBkZWZhdWx0Ogo+ID4gLSAgICAgICAg ICAgICAgICAgICAgICAgYnJlYWs7Cj4gPiAtICAgICAgICAgICAgICAgfQo+ID4gLQo+ID4gLSAg ICAgICAgICAgICAgIHdyaXRlbF9yZWxheGVkKEhJV09SRF9VUERBVEUoY3RybCwgRERSTU9OX0NU UkxfRERSX1RZUEVfTUFTSyksCj4gPiArICAgICAgICAgICAgICAgd3JpdGVsX3JlbGF4ZWQoSElX T1JEX1VQREFURShjdHJsLCBjdHJsX21hc2spLAo+ID4gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGRmaV9yZWdzICsgaSAqIGRmaS0+ZGRybW9uX3N0cmlkZSArIEREUk1PTl9DVFJMKTsK PiA+Cj4gPiAgICAgICAgICAgICAgICAgLyogZW5hYmxlIGNvdW50LCB1c2Ugc29mdHdhcmUgbW9k ZSAqLwo+ID4gQEAgLTY1Miw2ICs2OTEsNyBAQCBzdGF0aWMgaW50IHJvY2tjaGlwX2Rkcl9wZXJm X2luaXQoc3RydWN0IHJvY2tjaGlwX2RmaSAqZGZpKQo+ID4gICAgICAgICAgICAgICAgIGJyZWFr Owo+ID4gICAgICAgICBjYXNlIFJPQ0tDSElQX0REUlRZUEVfTFBERFI0Ogo+ID4gICAgICAgICBj YXNlIFJPQ0tDSElQX0REUlRZUEVfTFBERFI0WDoKPiA+ICsgICAgICAgY2FzZSBST0NLQ0hJUF9E RFJUWVBFX0xQRERSNToKPiA+ICAgICAgICAgICAgICAgICBkZmktPmJ1cnN0X2xlbiA9IDE2Owo+ ID4gICAgICAgICAgICAgICAgIGJyZWFrOwo+ID4gICAgICAgICB9Cj4gPiBAQCAtNzMwLDcgKzc3 MCw3IEBAIHN0YXRpYyBpbnQgcmszNTY4X2RmaV9pbml0KHN0cnVjdCByb2NrY2hpcF9kZmkgKmRm aSkKPiA+ICBzdGF0aWMgaW50IHJrMzU4OF9kZmlfaW5pdChzdHJ1Y3Qgcm9ja2NoaXBfZGZpICpk ZmkpCj4gPiAgewo+ID4gICAgICAgICBzdHJ1Y3QgcmVnbWFwICpyZWdtYXBfcG11ID0gZGZpLT5y ZWdtYXBfcG11Owo+ID4gLSAgICAgICB1MzIgcmVnMiwgcmVnMywgcmVnNDsKPiA+ICsgICAgICAg dTMyIHJlZzIsIHJlZzMsIHJlZzQsIHJlZzY7Cj4gPgo+ID4gICAgICAgICByZWdtYXBfcmVhZChy ZWdtYXBfcG11LCBSSzM1ODhfUE1VR1JGX09TX1JFRzIsICZyZWcyKTsKPiA+ICAgICAgICAgcmVn bWFwX3JlYWQocmVnbWFwX3BtdSwgUkszNTg4X1BNVUdSRl9PU19SRUczLCAmcmVnMyk7Cj4gPiBA QCAtNzU3LDYgKzc5NywxNCBAQCBzdGF0aWMgaW50IHJrMzU4OF9kZmlfaW5pdChzdHJ1Y3Qgcm9j a2NoaXBfZGZpICpkZmkpCj4gPiAgICAgICAgIGRmaS0+ZGRybW9uX3N0cmlkZSA9IDB4NDAwMDsK PiA+ICAgICAgICAgZGZpLT5jb3VudF9tdWx0aXBsaWVyID0gMjsKPiA+Cj4gPiArICAgICAgIGlm IChkZmktPmRkcl90eXBlID09IFJPQ0tDSElQX0REUlRZUEVfTFBERFI1KSB7Cj4gPiArICAgICAg ICAgICAgICAgcmVnbWFwX3JlYWQocmVnbWFwX3BtdSwgUkszNTg4X1BNVUdSRl9PU19SRUc2LCAm cmVnNik7Cj4gPiArICAgICAgICAgICAgICAgZGZpLT5scDVfYmFua19tb2RlID0gRklFTERfR0VU KFJLMzU4OF9QTVVHUkZfT1NfUkVHNl9MUDVfQkFOS19NT0RFLCByZWc2KSA8PCA3Owo+ID4gKyAg ICAgICAgICAgICAgIGRmaS0+bHA1X2NrciA9IEZJRUxEX0dFVChSSzM1ODhfUE1VR1JGX09TX1JF RzZfTFA1X0NLUiwgcmVnNik7Cj4gPiArICAgICAgICAgICAgICAgaWYgKGRmaS0+bHA1X2NrcikK PiA+ICsgICAgICAgICAgICAgICAgICAgICAgIGRmaS0+Y291bnRfbXVsdGlwbGllciAqPSAyOwo+ ID4gKyAgICAgICB9Cj4gPiArCj4gPiAgICAgICAgIHJldHVybiAwOwo+ID4gIH07Cj4gPgo+ID4g ZGlmZiAtLWdpdCBhL2luY2x1ZGUvc29jL3JvY2tjaGlwL3JrMzU4OF9ncmYuaCBiL2luY2x1ZGUv c29jL3JvY2tjaGlwL3JrMzU4OF9ncmYuaAo+ID4gaW5kZXggNjMwYjM1YTU1MDY0MGU1N2YxYjVh NTBkZmJlMzYyNjUzYTdjYmNjMS4uMDJhN2IyNDMyZDk5NDJlMTVhNzc0MjRjNDRmZWZlYzE4OWZh YWEzMyAxMDA2NDQKPiA+IC0tLSBhL2luY2x1ZGUvc29jL3JvY2tjaGlwL3JrMzU4OF9ncmYuaAo+ ID4gKysrIGIvaW5jbHVkZS9zb2Mvcm9ja2NoaXAvcmszNTg4X2dyZi5oCj4gPiBAQCAtMTIsNyAr MTIsMTEgQEAKPiA+ICAjZGVmaW5lIFJLMzU4OF9QTVVHUkZfT1NfUkVHM19EUkFNVFlQRV9JTkZP X1YzICAgICAgICAgR0VOTUFTSygxMywgMTIpCj4gPiAgI2RlZmluZSBSSzM1ODhfUE1VR1JGX09T X1JFRzNfU1lTUkVHX1ZFUlNJT04gICAgICAgICAgIEdFTk1BU0soMzEsIDI4KQo+ID4KPiA+IC0j ZGVmaW5lIFJLMzU4OF9QTVVHUkZfT1NfUkVHNCAgICAgICAgICAgMHgyMTAKPiA+IC0jZGVmaW5l IFJLMzU4OF9QTVVHUkZfT1NfUkVHNSAgICAgICAgICAgMHgyMTQKPiA+ICsjZGVmaW5lIFJLMzU4 OF9QTVVHUkZfT1NfUkVHNCAgICAgICAgICAgICAgICAgICAgICAgICAgMHgyMTAKPiA+ICsjZGVm aW5lIFJLMzU4OF9QTVVHUkZfT1NfUkVHNSAgICAgICAgICAgICAgICAgICAgICAgICAgMHgyMTQK PiA+ICsjZGVmaW5lIFJLMzU4OF9QTVVHUkZfT1NfUkVHNiAgICAgICAgICAgICAgICAgICAgICAg ICAgMHgyMTgKPiA+ICsjZGVmaW5lIFJLMzU4OF9QTVVHUkZfT1NfUkVHNl9MUDVfQkFOS19NT0RF ICAgICAgICAgICAgR0VOTUFTSygyLCAxKQo+ID4gKy8qIFdoZXRoZXIgdGhlIExQRERSNSBpcyBp biAyOjEgKD0gMCkgb3IgNDoxICg9IDEpIENLUiBhLmsuYS4gRFFTIG1vZGUgKi8KPiA+ICsjZGVm aW5lIFJLMzU4OF9QTVVHUkZfT1NfUkVHNl9MUDVfQ0tSICAgICAgICAgICAgICAgICAgQklUKDAp Cj4gPgo+ID4gICNlbmRpZiAvKiBfX1NPQ19SSzM1ODhfR1JGX0ggKi8KPiA+IGRpZmYgLS1naXQg YS9pbmNsdWRlL3NvYy9yb2NrY2hpcC9yb2NrY2hpcF9ncmYuaCBiL2luY2x1ZGUvc29jL3JvY2tj aGlwL3JvY2tjaGlwX2dyZi5oCj4gPiBpbmRleCBlNDZmZDcyYWVhOGQxZjY0OTc2OGEzMjY5Yjg1 MTc2ZGFjY2VlZjBlLi40MWM3YmIyNmZkNTM4N2RmODVlNWI1ODE4NmI2N2JmNzQ3MDZmMzYwIDEw MDY0NAo+ID4gLS0tIGEvaW5jbHVkZS9zb2Mvcm9ja2NoaXAvcm9ja2NoaXBfZ3JmLmgKPiA+ICsr KyBiL2luY2x1ZGUvc29jL3JvY2tjaGlwL3JvY2tjaGlwX2dyZi5oCj4gPiBAQCAtMTMsNiArMTMs NyBAQCBlbnVtIHsKPiA+ICAgICAgICAgUk9DS0NISVBfRERSVFlQRV9MUEREUjMgPSA2LAo+ID4g ICAgICAgICBST0NLQ0hJUF9ERFJUWVBFX0xQRERSNCA9IDcsCj4gPiAgICAgICAgIFJPQ0tDSElQ X0REUlRZUEVfTFBERFI0WCA9IDgsCj4gPiArICAgICAgIFJPQ0tDSElQX0REUlRZUEVfTFBERFI1 ID0gOSwKPiA+ICB9Owo+ID4KPiA+ICAjZW5kaWYgLyogX19TT0NfUk9DS0NISVBfR1JGX0ggKi8K PiA+Cj4gPiAtLQo+ID4gMi40OS4wCj4gPgo+ID4KPiAKPiAKPiAKCgoKCgpfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpMaW51eC1yb2NrY2hpcCBtYWlsaW5n IGxpc3QKTGludXgtcm9ja2NoaXBAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5m cmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LXJvY2tjaGlwCg==