From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from gloria.sntech.de (gloria.sntech.de [185.11.138.130]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 6FB4D3F12E1; Wed, 8 Jul 2026 15:59:00 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=185.11.138.130 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1783526344; cv=none; b=Vl2G3Jd5R2qRYiW1N6HchpeJ2+jTso/zNh3SDsSRMzGL9gW8wnxP8n7cWZYDzKX563H//tYTtYRyQfqlFa9L6vdvvdjcAlawtlAEUyeiGUmN11dgR+IAOXoeX6OOwGZyEuo5a4LlKFfVgA8e9dmSLFhUadJLJ3Xl92SlR1zSrtg= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1783526344; c=relaxed/simple; bh=iK4bqxdYOhkduHaC214wbSXrjsfAmNS9K5RhYMDDCVA=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=kiu7hFsl35dxM1/SGh6LZjH2DR7fz44wBN9Wf7I8q8e+N8l1IfnOP7C134Vy90mWmvW+zWF34YZ/yQZgw72sMceBjz3HhdI4B9ZIbFLrFl+q3Q4A1nLf6aG+5pabq2vP88VeoZFgZPysepHWj4vKUotol1xDrC+KbGepNXMz4yQ= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=sntech.de; spf=pass smtp.mailfrom=sntech.de; dkim=pass (2048-bit key) header.d=sntech.de header.i=@sntech.de header.b=nlkdh0pC; arc=none smtp.client-ip=185.11.138.130 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=sntech.de Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=sntech.de Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=sntech.de header.i=@sntech.de header.b="nlkdh0pC" 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=F6oSopg6Mj71dblp8EqeqZ8bJLpEkBsZJC781RVV1v4=; b=nlkdh0pC/i9VfopWXyeRFh4sQU Fvsv91+qmcZLKoGg6EkCnpuhZMj5Tm+KA4tjj7c/zUEfrIDIfJHuTAzGvHEnB8a8sLXDaWLbVSqBc mIxpbFgiuENlEZtxw8NL1yvWZl9vfq4o+d1PUh3CrQXqrwEqCQ4kc/gfMxid8lwYuSqjWEeSvhbnn uwgQUn0WQrNDAmtNn5QxKU+lHBrazr+78M+9t6YIcoVCsLb99PhhYmKDrQ72LW+ez8NidZ1IrXclX DtmEyeoWAdmpdRyZvmI8GaELHnOrPda/BooWXiumgF1k/Bld2clwK4bOBbxs0bMQa8OP4jOrieQma n/udY47Q==; From: Heiko =?UTF-8?B?U3TDvGJuZXI=?= To: MidG971 , Ulf Hansson Cc: tomeu@tomeuvizoso.net, ogabbay@kernel.org, robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org, ulf.hansson@linaro.org, dri-devel@lists.freedesktop.org, linux-rockchip@lists.infradead.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-pm@vger.kernel.org, iommu@lists.linux.dev, linux-kernel@vger.kernel.org, xxm@rock-chips.com, chaoyi.chen@rock-chips.com, finley.xiao@rock-chips.com, diederik@cknow-tech.com, jonas@kwiboo.se Subject: Re: [RFC PATCH v4 9/9] pmdomain: rockchip: Add a regulator to the RK3568 NPU power domain Date: Wed, 08 Jul 2026 17:58:37 +0200 Message-ID: <3205744.kC03pvyZki@diego> In-Reply-To: References: <20260613070116.438906-1-midgy971@gmail.com> <20260613070116.438906-10-midgy971@gmail.com> Precedence: bulk X-Mailing-List: devicetree@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Hi Ulf, Am Mittwoch, 8. Juli 2026, 17:24:04 Mitteleurop=C3=A4ische Sommerzeit schri= eb Ulf Hansson: > On Sat, Jun 13, 2026 at 9:01=E2=80=AFAM MidG971 wrot= e: > > > > From: Midgy BALON > > > > The RK3568 NPU rail (vdd_npu) needs to be enabled before the domain is > > powered on and disabled after it is powered off. Give DOMAIN_RK3568 a > > regulator parameter (like DOMAIN_RK3588 already has) so the NPU domain > > can set need_regulator, letting genpd manage the rail wired up as the > > domain's domain-supply instead of marking it always-on in DT. > > > > Suggested-by: Chaoyi Chen > > Signed-off-by: Midgy BALON >=20 > This looks good to me. I assume this can be picked up independently of > the other patches, whenever you decide to move forward from the RFC. > If not, please let me know. Correct, this could be applied any time. >=20 > Kind regards > Uffe >=20 > > --- > > drivers/pmdomain/rockchip/pm-domains.c | 36 ++++++++++++++++++-------- > > 1 file changed, 25 insertions(+), 11 deletions(-) > > > > diff --git a/drivers/pmdomain/rockchip/pm-domains.c b/drivers/pmdomain/= rockchip/pm-domains.c > > index 490bbb1d1d8e8..19db307e3811d 100644 > > --- a/drivers/pmdomain/rockchip/pm-domains.c > > +++ b/drivers/pmdomain/rockchip/pm-domains.c > > @@ -138,6 +138,20 @@ struct rockchip_pmu { > > .active_wakeup =3D wakeup, \ > > } > > > > +#define DOMAIN_M_R(_name, pwr, status, req, idle, ack, wakeup, regulat= or) \ > > +{ \ > > + .name =3D _name, \ > > + .pwr_w_mask =3D (pwr) << 16, \ > > + .pwr_mask =3D (pwr), \ > > + .status_mask =3D (status), \ > > + .req_w_mask =3D (req) << 16, \ > > + .req_mask =3D (req), \ > > + .idle_mask =3D (idle), \ > > + .ack_mask =3D (ack), \ > > + .active_wakeup =3D wakeup, \ > > + .need_regulator =3D regulator, \ > > +} but Midgy please do some alphabetical sorting ... in my book=20 DOMAIN_M_R should be _below_ DOMAIN_M_G > > + > > #define DOMAIN_M_G(_name, pwr, status, req, idle, ack, g_mask, wakeup,= keepon) \ Heiko > > { \ > > .name =3D _name, \ > > @@ -241,8 +255,8 @@ struct rockchip_pmu { > > #define DOMAIN_RK3562(name, pwr, req, g_mask, mem, wakeup) = \ > > DOMAIN_M_G_SD(name, pwr, pwr, req, req, req, g_mask, mem, wakeu= p, false) > > > > -#define DOMAIN_RK3568(name, pwr, req, wakeup) \ > > - DOMAIN_M(name, pwr, pwr, req, req, req, wakeup) > > +#define DOMAIN_RK3568(name, pwr, req, wakeup, regulator) = \ > > + DOMAIN_M_R(name, pwr, pwr, req, req, req, wakeup, regulator) > > > > #define DOMAIN_RK3576(name, p_offset, pwr, status, r_status, r_offset,= req, idle, g_mask, wakeup) \ > > DOMAIN_M_O_R_G(name, p_offset, pwr, status, 0, r_status, r_stat= us, r_offset, req, idle, idle, g_mask, wakeup) > > @@ -1274,15 +1288,15 @@ static const struct rockchip_domain_info rk3562= _pm_domains[] =3D { > > }; > > > > static const struct rockchip_domain_info rk3568_pm_domains[] =3D { > > - [RK3568_PD_NPU] =3D DOMAIN_RK3568("npu", BIT(1), BIT(2= ), false), > > - [RK3568_PD_GPU] =3D DOMAIN_RK3568("gpu", BIT(0), BIT(1= ), false), > > - [RK3568_PD_VI] =3D DOMAIN_RK3568("vi", BIT(6), BIT(3= ), false), > > - [RK3568_PD_VO] =3D DOMAIN_RK3568("vo", BIT(7), BIT(4= ), false), > > - [RK3568_PD_RGA] =3D DOMAIN_RK3568("rga", BIT(5), BIT(5= ), false), > > - [RK3568_PD_VPU] =3D DOMAIN_RK3568("vpu", BIT(2), BIT(6= ), false), > > - [RK3568_PD_RKVDEC] =3D DOMAIN_RK3568("vdec", BIT(4), BIT(8= ), false), > > - [RK3568_PD_RKVENC] =3D DOMAIN_RK3568("venc", BIT(3), BIT(7= ), false), > > - [RK3568_PD_PIPE] =3D DOMAIN_RK3568("pipe", BIT(8), BIT(1= 1), false), > > + [RK3568_PD_NPU] =3D DOMAIN_RK3568("npu", BIT(1), BIT(2= ), false, true), > > + [RK3568_PD_GPU] =3D DOMAIN_RK3568("gpu", BIT(0), BIT(1= ), false, false), > > + [RK3568_PD_VI] =3D DOMAIN_RK3568("vi", BIT(6), BIT(3= ), false, false), > > + [RK3568_PD_VO] =3D DOMAIN_RK3568("vo", BIT(7), BIT(4= ), false, false), > > + [RK3568_PD_RGA] =3D DOMAIN_RK3568("rga", BIT(5), BIT(5= ), false, false), > > + [RK3568_PD_VPU] =3D DOMAIN_RK3568("vpu", BIT(2), BIT(6= ), false, false), > > + [RK3568_PD_RKVDEC] =3D DOMAIN_RK3568("vdec", BIT(4), BIT(8= ), false, false), > > + [RK3568_PD_RKVENC] =3D DOMAIN_RK3568("venc", BIT(3), BIT(7= ), false, false), > > + [RK3568_PD_PIPE] =3D DOMAIN_RK3568("pipe", BIT(8), BIT(1= 1), false, false), > > }; > > > > static const struct rockchip_domain_info rk3576_pm_domains[] =3D { > > -- > > 2.39.5 > > > > > > _______________________________________________ > > Linux-rockchip mailing list > > Linux-rockchip@lists.infradead.org > > http://lists.infradead.org/mailman/listinfo/linux-rockchip >=20 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 B560DC43458 for ; Wed, 8 Jul 2026 15:59:20 +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=XuuLZUQB/tlZH3EaNzUOSwSMTD0lhx5tYkj1UZ8/wSk=; b=vs9UOW96s3Qikm jQiNvn2e9YYtIEJuvY8o4nDvaVPotP4JXxEqAf7iduCARYpLHJTJ1aGNu4FVY89uCqE2hwuVhhyj0 JBwid9KEuw7a/7wWAoUT26hpXdGy6Bk1Ptdax1Q0HMGidgvVrcDTLDEnthb0EhdkICEbfx5A3ijLj DiBmkHtNL5klr+v9PY6VkG/8qdplPRwdaJtVWv+ZXk/H8B5IIC0+RHxciElOFYsMTy1icC1hn+C3X biqACAZi8np4hOjKA0+kFji5VDjYJzncFrTpRnNhD8wNCZJj5+izj6HiZ1EYEvry0R7Yzf+3qN1Kl rDYUc6BDY6dRF3iX9BOA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.99.1 #2 (Red Hat Linux)) id 1whUfv-0000000HXk3-1LN9; Wed, 08 Jul 2026 15:59:03 +0000 Received: from gloria.sntech.de ([185.11.138.130]) by bombadil.infradead.org with esmtps (Exim 4.99.1 #2 (Red Hat Linux)) id 1whUfr-0000000HXjR-3ZYz; Wed, 08 Jul 2026 15:59:01 +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=F6oSopg6Mj71dblp8EqeqZ8bJLpEkBsZJC781RVV1v4=; b=nlkdh0pC/i9VfopWXyeRFh4sQU Fvsv91+qmcZLKoGg6EkCnpuhZMj5Tm+KA4tjj7c/zUEfrIDIfJHuTAzGvHEnB8a8sLXDaWLbVSqBc mIxpbFgiuENlEZtxw8NL1yvWZl9vfq4o+d1PUh3CrQXqrwEqCQ4kc/gfMxid8lwYuSqjWEeSvhbnn uwgQUn0WQrNDAmtNn5QxKU+lHBrazr+78M+9t6YIcoVCsLb99PhhYmKDrQ72LW+ez8NidZ1IrXclX DtmEyeoWAdmpdRyZvmI8GaELHnOrPda/BooWXiumgF1k/Bld2clwK4bOBbxs0bMQa8OP4jOrieQma n/udY47Q==; From: Heiko =?UTF-8?B?U3TDvGJuZXI=?= To: MidG971 , Ulf Hansson Cc: tomeu@tomeuvizoso.net, ogabbay@kernel.org, robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org, ulf.hansson@linaro.org, dri-devel@lists.freedesktop.org, linux-rockchip@lists.infradead.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-pm@vger.kernel.org, iommu@lists.linux.dev, linux-kernel@vger.kernel.org, xxm@rock-chips.com, chaoyi.chen@rock-chips.com, finley.xiao@rock-chips.com, diederik@cknow-tech.com, jonas@kwiboo.se Subject: Re: [RFC PATCH v4 9/9] pmdomain: rockchip: Add a regulator to the RK3568 NPU power domain Date: Wed, 08 Jul 2026 17:58:37 +0200 Message-ID: <3205744.kC03pvyZki@diego> In-Reply-To: References: <20260613070116.438906-1-midgy971@gmail.com> <20260613070116.438906-10-midgy971@gmail.com> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.9.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20260708_085859_909436_29EBBBC6 X-CRM114-Status: GOOD ( 23.66 ) 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 SGkgVWxmLAoKQW0gTWl0dHdvY2gsIDguIEp1bGkgMjAyNiwgMTc6MjQ6MDQgTWl0dGVsZXVyb3DD pGlzY2hlIFNvbW1lcnplaXQgc2NocmllYiBVbGYgSGFuc3NvbjoKPiBPbiBTYXQsIEp1biAxMywg MjAyNiBhdCA5OjAx4oCvQU0gTWlkRzk3MSA8bWlkZ3k5NzFAZ21haWwuY29tPiB3cm90ZToKPiA+ Cj4gPiBGcm9tOiBNaWRneSBCQUxPTiA8bWlkZ3k5NzFAZ21haWwuY29tPgo+ID4KPiA+IFRoZSBS SzM1NjggTlBVIHJhaWwgKHZkZF9ucHUpIG5lZWRzIHRvIGJlIGVuYWJsZWQgYmVmb3JlIHRoZSBk b21haW4gaXMKPiA+IHBvd2VyZWQgb24gYW5kIGRpc2FibGVkIGFmdGVyIGl0IGlzIHBvd2VyZWQg b2ZmLiBHaXZlIERPTUFJTl9SSzM1NjggYQo+ID4gcmVndWxhdG9yIHBhcmFtZXRlciAobGlrZSBE T01BSU5fUkszNTg4IGFscmVhZHkgaGFzKSBzbyB0aGUgTlBVIGRvbWFpbgo+ID4gY2FuIHNldCBu ZWVkX3JlZ3VsYXRvciwgbGV0dGluZyBnZW5wZCBtYW5hZ2UgdGhlIHJhaWwgd2lyZWQgdXAgYXMg dGhlCj4gPiBkb21haW4ncyBkb21haW4tc3VwcGx5IGluc3RlYWQgb2YgbWFya2luZyBpdCBhbHdh eXMtb24gaW4gRFQuCj4gPgo+ID4gU3VnZ2VzdGVkLWJ5OiBDaGFveWkgQ2hlbiA8Y2hhb3lpLmNo ZW5Acm9jay1jaGlwcy5jb20+Cj4gPiBTaWduZWQtb2ZmLWJ5OiBNaWRneSBCQUxPTiA8bWlkZ3k5 NzFAZ21haWwuY29tPgo+IAo+IFRoaXMgbG9va3MgZ29vZCB0byBtZS4gSSBhc3N1bWUgdGhpcyBj YW4gYmUgcGlja2VkIHVwIGluZGVwZW5kZW50bHkgb2YKPiB0aGUgb3RoZXIgcGF0Y2hlcywgd2hl bmV2ZXIgeW91IGRlY2lkZSB0byBtb3ZlIGZvcndhcmQgZnJvbSB0aGUgUkZDLgo+IElmIG5vdCwg cGxlYXNlIGxldCBtZSBrbm93LgoKQ29ycmVjdCwgdGhpcyBjb3VsZCBiZSBhcHBsaWVkIGFueSB0 aW1lLgoKPiAKPiBLaW5kIHJlZ2FyZHMKPiBVZmZlCj4gCj4gPiAtLS0KPiA+ICBkcml2ZXJzL3Bt ZG9tYWluL3JvY2tjaGlwL3BtLWRvbWFpbnMuYyB8IDM2ICsrKysrKysrKysrKysrKysrKy0tLS0t LS0tCj4gPiAgMSBmaWxlIGNoYW5nZWQsIDI1IGluc2VydGlvbnMoKyksIDExIGRlbGV0aW9ucygt KQo+ID4KPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3BtZG9tYWluL3JvY2tjaGlwL3BtLWRvbWFp bnMuYyBiL2RyaXZlcnMvcG1kb21haW4vcm9ja2NoaXAvcG0tZG9tYWlucy5jCj4gPiBpbmRleCA0 OTBiYmIxZDFkOGU4Li4xOWRiMzA3ZTM4MTFkIDEwMDY0NAo+ID4gLS0tIGEvZHJpdmVycy9wbWRv bWFpbi9yb2NrY2hpcC9wbS1kb21haW5zLmMKPiA+ICsrKyBiL2RyaXZlcnMvcG1kb21haW4vcm9j a2NoaXAvcG0tZG9tYWlucy5jCj4gPiBAQCAtMTM4LDYgKzEzOCwyMCBAQCBzdHJ1Y3Qgcm9ja2No aXBfcG11IHsKPiA+ICAgICAgICAgLmFjdGl2ZV93YWtldXAgPSB3YWtldXAsICAgICAgICAgICAg ICAgICAgICAgICAgXAo+ID4gIH0KPiA+Cj4gPiArI2RlZmluZSBET01BSU5fTV9SKF9uYW1lLCBw d3IsIHN0YXR1cywgcmVxLCBpZGxlLCBhY2ssIHdha2V1cCwgcmVndWxhdG9yKSAgICAgIFwKPiA+ ICt7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg XAo+ID4gKyAgICAgICAubmFtZSA9IF9uYW1lLCAgICAgICAgICAgICAgICAgICAgICAgICAgXAo+ ID4gKyAgICAgICAucHdyX3dfbWFzayA9IChwd3IpIDw8IDE2LCAgICAgICAgICAgICAgICAgICAg ICBcCj4gPiArICAgICAgIC5wd3JfbWFzayA9IChwd3IpLCAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFwKPiA+ICsgICAgICAgLnN0YXR1c19tYXNrID0gKHN0YXR1cyksICAgICAgICAgICAg ICAgICAgICAgICAgXAo+ID4gKyAgICAgICAucmVxX3dfbWFzayA9IChyZXEpIDw8IDE2LCAgICAg ICAgICAgICAgICAgICAgICBcCj4gPiArICAgICAgIC5yZXFfbWFzayA9IChyZXEpLCAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFwKPiA+ICsgICAgICAgLmlkbGVfbWFzayA9IChpZGxlKSwg ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAo+ID4gKyAgICAgICAuYWNrX21hc2sgPSAoYWNr KSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCj4gPiArICAgICAgIC5hY3RpdmVfd2Fr ZXVwID0gd2FrZXVwLCAgICAgICAgICAgICAgICAgICAgICAgIFwKPiA+ICsgICAgICAgLm5lZWRf cmVndWxhdG9yID0gcmVndWxhdG9yLCAgICAgICAgICAgICAgICAgICAgXAo+ID4gK30KCmJ1dCBN aWRneSBwbGVhc2UgZG8gc29tZSBhbHBoYWJldGljYWwgc29ydGluZyAuLi4gaW4gbXkgYm9vayAK ICAgIERPTUFJTl9NX1IKc2hvdWxkIGJlIF9iZWxvd18KICAgIERPTUFJTl9NX0cKCj4gPiArCj4g PiAgI2RlZmluZSBET01BSU5fTV9HKF9uYW1lLCBwd3IsIHN0YXR1cywgcmVxLCBpZGxlLCBhY2ss IGdfbWFzaywgd2FrZXVwLCBrZWVwb24pIFwKCgpIZWlrbwoKCj4gPiAgeyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKPiA+ICAgICAgICAgLm5h bWUgPSBfbmFtZSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAo+ID4gQEAgLTI0 MSw4ICsyNTUsOCBAQCBzdHJ1Y3Qgcm9ja2NoaXBfcG11IHsKPiA+ICAjZGVmaW5lIERPTUFJTl9S SzM1NjIobmFtZSwgcHdyLCByZXEsIGdfbWFzaywgbWVtLCB3YWtldXApICAgICAgICAgICAgIFwK PiA+ICAgICAgICAgRE9NQUlOX01fR19TRChuYW1lLCBwd3IsIHB3ciwgcmVxLCByZXEsIHJlcSwg Z19tYXNrLCBtZW0sIHdha2V1cCwgZmFsc2UpCj4gPgo+ID4gLSNkZWZpbmUgRE9NQUlOX1JLMzU2 OChuYW1lLCBwd3IsIHJlcSwgd2FrZXVwKSAgICAgICAgICBcCj4gPiAtICAgICAgIERPTUFJTl9N KG5hbWUsIHB3ciwgcHdyLCByZXEsIHJlcSwgcmVxLCB3YWtldXApCj4gPiArI2RlZmluZSBET01B SU5fUkszNTY4KG5hbWUsIHB3ciwgcmVxLCB3YWtldXAsIHJlZ3VsYXRvcikgICAgICAgICAgICAg ICBcCj4gPiArICAgICAgIERPTUFJTl9NX1IobmFtZSwgcHdyLCBwd3IsIHJlcSwgcmVxLCByZXEs IHdha2V1cCwgcmVndWxhdG9yKQo+ID4KPiA+ICAjZGVmaW5lIERPTUFJTl9SSzM1NzYobmFtZSwg cF9vZmZzZXQsIHB3ciwgc3RhdHVzLCByX3N0YXR1cywgcl9vZmZzZXQsIHJlcSwgaWRsZSwgZ19t YXNrLCB3YWtldXApICAgICAgXAo+ID4gICAgICAgICBET01BSU5fTV9PX1JfRyhuYW1lLCBwX29m ZnNldCwgcHdyLCBzdGF0dXMsIDAsIHJfc3RhdHVzLCByX3N0YXR1cywgcl9vZmZzZXQsIHJlcSwg aWRsZSwgaWRsZSwgZ19tYXNrLCB3YWtldXApCj4gPiBAQCAtMTI3NCwxNSArMTI4OCwxNSBAQCBz dGF0aWMgY29uc3Qgc3RydWN0IHJvY2tjaGlwX2RvbWFpbl9pbmZvIHJrMzU2Ml9wbV9kb21haW5z W10gPSB7Cj4gPiAgfTsKPiA+Cj4gPiAgc3RhdGljIGNvbnN0IHN0cnVjdCByb2NrY2hpcF9kb21h aW5faW5mbyByazM1NjhfcG1fZG9tYWluc1tdID0gewo+ID4gLSAgICAgICBbUkszNTY4X1BEX05Q VV0gICAgICAgICA9IERPTUFJTl9SSzM1NjgoIm5wdSIsICBCSVQoMSksIEJJVCgyKSwgIGZhbHNl KSwKPiA+IC0gICAgICAgW1JLMzU2OF9QRF9HUFVdICAgICAgICAgPSBET01BSU5fUkszNTY4KCJn cHUiLCAgQklUKDApLCBCSVQoMSksICBmYWxzZSksCj4gPiAtICAgICAgIFtSSzM1NjhfUERfVkld ICAgICAgICAgID0gRE9NQUlOX1JLMzU2OCgidmkiLCAgIEJJVCg2KSwgQklUKDMpLCAgZmFsc2Up LAo+ID4gLSAgICAgICBbUkszNTY4X1BEX1ZPXSAgICAgICAgICA9IERPTUFJTl9SSzM1NjgoInZv IiwgICBCSVQoNyksIEJJVCg0KSwgIGZhbHNlKSwKPiA+IC0gICAgICAgW1JLMzU2OF9QRF9SR0Fd ICAgICAgICAgPSBET01BSU5fUkszNTY4KCJyZ2EiLCAgQklUKDUpLCBCSVQoNSksICBmYWxzZSks Cj4gPiAtICAgICAgIFtSSzM1NjhfUERfVlBVXSAgICAgICAgID0gRE9NQUlOX1JLMzU2OCgidnB1 IiwgIEJJVCgyKSwgQklUKDYpLCAgZmFsc2UpLAo+ID4gLSAgICAgICBbUkszNTY4X1BEX1JLVkRF Q10gICAgICA9IERPTUFJTl9SSzM1NjgoInZkZWMiLCBCSVQoNCksIEJJVCg4KSwgIGZhbHNlKSwK PiA+IC0gICAgICAgW1JLMzU2OF9QRF9SS1ZFTkNdICAgICAgPSBET01BSU5fUkszNTY4KCJ2ZW5j IiwgQklUKDMpLCBCSVQoNyksICBmYWxzZSksCj4gPiAtICAgICAgIFtSSzM1NjhfUERfUElQRV0g ICAgICAgID0gRE9NQUlOX1JLMzU2OCgicGlwZSIsIEJJVCg4KSwgQklUKDExKSwgZmFsc2UpLAo+ ID4gKyAgICAgICBbUkszNTY4X1BEX05QVV0gICAgICAgICA9IERPTUFJTl9SSzM1NjgoIm5wdSIs ICBCSVQoMSksIEJJVCgyKSwgIGZhbHNlLCB0cnVlKSwKPiA+ICsgICAgICAgW1JLMzU2OF9QRF9H UFVdICAgICAgICAgPSBET01BSU5fUkszNTY4KCJncHUiLCAgQklUKDApLCBCSVQoMSksICBmYWxz ZSwgZmFsc2UpLAo+ID4gKyAgICAgICBbUkszNTY4X1BEX1ZJXSAgICAgICAgICA9IERPTUFJTl9S SzM1NjgoInZpIiwgICBCSVQoNiksIEJJVCgzKSwgIGZhbHNlLCBmYWxzZSksCj4gPiArICAgICAg IFtSSzM1NjhfUERfVk9dICAgICAgICAgID0gRE9NQUlOX1JLMzU2OCgidm8iLCAgIEJJVCg3KSwg QklUKDQpLCAgZmFsc2UsIGZhbHNlKSwKPiA+ICsgICAgICAgW1JLMzU2OF9QRF9SR0FdICAgICAg ICAgPSBET01BSU5fUkszNTY4KCJyZ2EiLCAgQklUKDUpLCBCSVQoNSksICBmYWxzZSwgZmFsc2Up LAo+ID4gKyAgICAgICBbUkszNTY4X1BEX1ZQVV0gICAgICAgICA9IERPTUFJTl9SSzM1NjgoInZw dSIsICBCSVQoMiksIEJJVCg2KSwgIGZhbHNlLCBmYWxzZSksCj4gPiArICAgICAgIFtSSzM1Njhf UERfUktWREVDXSAgICAgID0gRE9NQUlOX1JLMzU2OCgidmRlYyIsIEJJVCg0KSwgQklUKDgpLCAg ZmFsc2UsIGZhbHNlKSwKPiA+ICsgICAgICAgW1JLMzU2OF9QRF9SS1ZFTkNdICAgICAgPSBET01B SU5fUkszNTY4KCJ2ZW5jIiwgQklUKDMpLCBCSVQoNyksICBmYWxzZSwgZmFsc2UpLAo+ID4gKyAg ICAgICBbUkszNTY4X1BEX1BJUEVdICAgICAgICA9IERPTUFJTl9SSzM1NjgoInBpcGUiLCBCSVQo OCksIEJJVCgxMSksIGZhbHNlLCBmYWxzZSksCj4gPiAgfTsKPiA+Cj4gPiAgc3RhdGljIGNvbnN0 IHN0cnVjdCByb2NrY2hpcF9kb21haW5faW5mbyByazM1NzZfcG1fZG9tYWluc1tdID0gewo+ID4g LS0KPiA+IDIuMzkuNQo+ID4KPiA+Cj4gPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwo+ID4gTGludXgtcm9ja2NoaXAgbWFpbGluZyBsaXN0Cj4gPiBMaW51 eC1yb2NrY2hpcEBsaXN0cy5pbmZyYWRlYWQub3JnCj4gPiBodHRwOi8vbGlzdHMuaW5mcmFkZWFk Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LXJvY2tjaGlwCj4gCgoKCgoKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTGludXgtcm9ja2NoaXAgbWFpbGlu ZyBsaXN0CkxpbnV4LXJvY2tjaGlwQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmlu ZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1yb2NrY2hpcAo=