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 X-Spam-Level: X-Spam-Status: No, score=-5.8 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id D2BC5C433FE for ; Fri, 3 Sep 2021 14:04:38 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id A3C8D600EF for ; Fri, 3 Sep 2021 14:04:38 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1348605AbhICOFh (ORCPT ); Fri, 3 Sep 2021 10:05:37 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:60882 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S243643AbhICOFf (ORCPT ); Fri, 3 Sep 2021 10:05:35 -0400 Received: from mail-lf1-x129.google.com (mail-lf1-x129.google.com [IPv6:2a00:1450:4864:20::129]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A7298C061575 for ; Fri, 3 Sep 2021 07:04:35 -0700 (PDT) Received: by mail-lf1-x129.google.com with SMTP id m28so11991865lfj.6 for ; Fri, 03 Sep 2021 07:04:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=sSgMe6jO7xnpGx2tRPpBBTj9lsn9JwdSXq1ZWNG03/M=; b=rvDoigY4cruxeRTZs+bhQzHXKT3VjFr4e/H7h+cD0NLeK/FeRpzslf5ZAmDeXOg7Mq AshatvKefj52y10+jKbCXd/91DGeT8RiJPL1xj5Wtfpk33fHYOLkDwgu9pRI6lug61AV fZ/L8xdAMXW3+klI27chBrjkdd1/vFbtbfmrqzINMqIDhe9wqUWC0Li5rAb8Rjbc2u7f a9Wnvaw89HHUL9bniTze4k82ZG+qOLrk+KmNTLc7UZ55I5M2l9vZRsIL2VCtmf/hJiU+ FS8D0SDahwDWYwTKd0Co345S5WPe2mE6y8xwI7xKAGDjruPgiWsYxNwfggUSDJc7EeUd jd8Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=sSgMe6jO7xnpGx2tRPpBBTj9lsn9JwdSXq1ZWNG03/M=; b=Ac6nmaabC2sWPqTZkW2COpGnW452BM7qxvGxHPRXLYh19lPf0Sm+bPFkywf5dyZw4R v7GeYBPUUPoheLolkIvVvo0E+SQlLHQbtgP3WfOIfJrUeatVmfQsy4099v/xvC9Zn7iw kqYLPwmLrIG/LS16GmBMj0Pk7UjEV2c+Gce82dKMDYwlFAQyDwqEGivKyCLkTz2uRpS3 qKqtdfnGkSha5Z22kiUr0hsDceQPwN84U6ujeDzdb7vJ/zvXmpt+e6PtX3V6EosezBFz 3nZHtfeU7lr+zDpYzOGvKWxBJqixKu67G9Dfd5MjzTmlfhg6QfmaYYAmGfJBvlWOh4JR uxrg== X-Gm-Message-State: AOAM530CqzfXl6wut1hkBeWuzwoWZQtkptiIChPHFAL7sTMCB2CKaPfZ boELiOkifLl4VnkkkxSlpLhjif8AD1j6xedbMv1UZw== X-Google-Smtp-Source: ABdhPJwLX1bWYt8jcuZqjDpgjcYrm0IuHl4c8OMxpt1GGMcSijXKANRPJNpt4cJRX1gNjfc9oLeX0gjQzvqQxLFdz80= X-Received: by 2002:a19:ac42:: with SMTP id r2mr2840448lfc.167.1630677873121; Fri, 03 Sep 2021 07:04:33 -0700 (PDT) MIME-Version: 1.0 References: <20210902101634.827187-1-ulf.hansson@linaro.org> <20210902101634.827187-2-ulf.hansson@linaro.org> <08335cd4-7dc8-3b8b-d63f-374585ffa373@gmail.com> In-Reply-To: From: Ulf Hansson Date: Fri, 3 Sep 2021 16:03:56 +0200 Message-ID: Subject: Re: [PATCH 1/3] PM: domains: Drop the performance state vote for a device at detach To: Dmitry Osipenko Cc: "Rafael J . Wysocki" , Viresh Kumar , Linux PM , Dmitry Baryshkov , Jonathan Hunter , Thierry Reding , Rajendra Nayak , Stephan Gerhold , Bjorn Andersson , Linux ARM , Linux Kernel Mailing List Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, 3 Sept 2021 at 11:58, Dmitry Osipenko wrote: > > 03.09.2021 11:22, Ulf Hansson =D0=BF=D0=B8=D1=88=D0=B5=D1=82: > > On Fri, 3 Sept 2021 at 08:01, Dmitry Osipenko wrote: > >> > >> 02.09.2021 13:16, Ulf Hansson =D0=BF=D0=B8=D1=88=D0=B5=D1=82: > >>> When a device is detached from its genpd, genpd loses track of the de= vice, > >>> including its performance state vote that may have been requested for= it. > >>> > >>> Rather than relying on the consumer driver to drop the performance st= ate > >>> vote for its device, let's do it internally in genpd when the device = is > >>> getting detached. In this way, we makes sure that the aggregation of = the > >>> votes in genpd becomes correct. > >> > >> This is a dangerous behaviour in a case where performance state > >> represents voltage. If hardware is kept active on detachment, say it's > >> always-on, then it may be a disaster to drop the voltage for the activ= e > >> hardware. > >> > >> It's safe to drop performance state only if you assume that there is a > >> firmware behind kernel which has its own layer of performance manageme= nt > >> and it will prevent the disaster by saying 'nope, I'm not doing this'. > >> > >> The performance state should be persistent for a device and it should = be > >> controlled in a conjunction with runtime PM. If platform wants to drop > >> performance state to zero on detachment, then this behaviour should be > >> specific to that platform. > > > > I understand your concern, but at this point, genpd can't help to fix t= his. > > > > Genpd has no information about the device, unless it's attached to it. > > For now and for these always on HWs, we simply need to make sure the > > device stays attached, in one way or the other. > > This indeed requires to redesign GENPD to make it more coupled with a > device, but this is not a real problem for any of the current API users > AFAIK. Ideally the state should be persistent to make API more universal. Right. In fact this has been discussed in the past. In principle, the idea was to attach to genpd at device registration, rather than at driver probe. Although, this is not very easy to implement - and it seems like the churns to do, have not been really worth it. At least so far. > > Since for today we assume that device should be suspended at the time of > the detachment (if the default OPP state isn't used), it may be better > to add a noisy warning message if pstate!=3D0, keeping the state untouche= d > if it's not zero. That would just be very silly in my opinion. When the device is detached (suspended or not), it may cause it's PM domain to be powered off - and there is really nothing we can do about that from the genpd point of view. As stated, the only current short term solution is to avoid detaching the device. Anything else, would just be papering of the issue. Kind regards Uffe 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 X-Spam-Level: X-Spam-Status: No, score=-4.1 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id D2077C433EF for ; Fri, 3 Sep 2021 14:07:14 +0000 (UTC) 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 mail.kernel.org (Postfix) with ESMTPS id A036960EE3 for ; Fri, 3 Sep 2021 14:07:14 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org A036960EE3 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linaro.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=lists.infradead.org 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:Cc:To:Subject:Message-ID:Date:From: In-Reply-To:References:MIME-Version:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=sTd8GXxAqq7AFjdI7hYwcPD1u/yXrPX44dkiwHVFs5Y=; b=Dz0f73d1BOfWJ1 BTPNjP8AamC1AHJKXoOixsBT3kcDzmw3tVoRP+LV/bo3X3how50oMfweCJ4Fo9UFJf4AEhmf/Ze1Z KprgOk0X+0gQ5Hl9fwLrdhT9ht8Fq+i/psiml8c6sFjn7C9lHojEC6aN0hrnDiJ8hrRPG7zOhspsq aQYmthtcUi+XvJIZZjOkUR20llxs/cS+vgI6Pz3o+oltQ0ViZ8prL2G/8+Qnu2FMSVem4iXlfsJfY 7jUZb3fGVLYVeZ078iDeFtqNsrUhHYTQ5Xc932QUmZVgAmSxq6xNkf2pUDVpGMn4+eZkG/21Nfthi FRwPtX7Gi6bVYL5ThPcA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1mM9oA-00C6rV-Ff; Fri, 03 Sep 2021 14:04:42 +0000 Received: from mail-lf1-x12e.google.com ([2a00:1450:4864:20::12e]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1mM9o5-00C6pt-5B for linux-arm-kernel@lists.infradead.org; Fri, 03 Sep 2021 14:04:38 +0000 Received: by mail-lf1-x12e.google.com with SMTP id h16so9114101lfk.10 for ; Fri, 03 Sep 2021 07:04:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=sSgMe6jO7xnpGx2tRPpBBTj9lsn9JwdSXq1ZWNG03/M=; b=rvDoigY4cruxeRTZs+bhQzHXKT3VjFr4e/H7h+cD0NLeK/FeRpzslf5ZAmDeXOg7Mq AshatvKefj52y10+jKbCXd/91DGeT8RiJPL1xj5Wtfpk33fHYOLkDwgu9pRI6lug61AV fZ/L8xdAMXW3+klI27chBrjkdd1/vFbtbfmrqzINMqIDhe9wqUWC0Li5rAb8Rjbc2u7f a9Wnvaw89HHUL9bniTze4k82ZG+qOLrk+KmNTLc7UZ55I5M2l9vZRsIL2VCtmf/hJiU+ FS8D0SDahwDWYwTKd0Co345S5WPe2mE6y8xwI7xKAGDjruPgiWsYxNwfggUSDJc7EeUd jd8Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=sSgMe6jO7xnpGx2tRPpBBTj9lsn9JwdSXq1ZWNG03/M=; b=Ed52DEDcHdfHQY6M4planhn/skc6oJB4+77kTyVRRJPv99OKmB1dPiVPj/1dmadhZg OCIqGa2ZhxIkOTT+QihAQlsM9/qulffDLttk9EL0ISM+YMbGnglhIm7gZIUsSL91i0lE TEnpelSKvHcW5aiCshqyCyy+PMJX0OUFlFP9spQ0HYK0iJTPA0WFRNe7Km2PQ/fUKSu4 5+5EFJVoIBf9Gc2odl6mRwcgYKG4h6KQ44DrQY2Hl5OlpxVXmT9QgnnfZWujBgJheb3S Pc8wYF1JfFYS0JCUx+gzio6d57nyrFtLm9RSvByPQOtNEBXjl/yNznnM9JHhqA5EW5c4 h34Q== X-Gm-Message-State: AOAM530tsLw98YAyFAZded1a+FEnb/mLPjpiJgGINn/PT096KfME36/F BZbAiKirR/+2D8D+5u59uR95PXg5rRdExZWPjSbGtA== X-Google-Smtp-Source: ABdhPJwLX1bWYt8jcuZqjDpgjcYrm0IuHl4c8OMxpt1GGMcSijXKANRPJNpt4cJRX1gNjfc9oLeX0gjQzvqQxLFdz80= X-Received: by 2002:a19:ac42:: with SMTP id r2mr2840448lfc.167.1630677873121; Fri, 03 Sep 2021 07:04:33 -0700 (PDT) MIME-Version: 1.0 References: <20210902101634.827187-1-ulf.hansson@linaro.org> <20210902101634.827187-2-ulf.hansson@linaro.org> <08335cd4-7dc8-3b8b-d63f-374585ffa373@gmail.com> In-Reply-To: From: Ulf Hansson Date: Fri, 3 Sep 2021 16:03:56 +0200 Message-ID: Subject: Re: [PATCH 1/3] PM: domains: Drop the performance state vote for a device at detach To: Dmitry Osipenko Cc: "Rafael J . Wysocki" , Viresh Kumar , Linux PM , Dmitry Baryshkov , Jonathan Hunter , Thierry Reding , Rajendra Nayak , Stephan Gerhold , Bjorn Andersson , Linux ARM , Linux Kernel Mailing List X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210903_070437_280413_2F57AB0C X-CRM114-Status: GOOD ( 32.04 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org T24gRnJpLCAzIFNlcHQgMjAyMSBhdCAxMTo1OCwgRG1pdHJ5IE9zaXBlbmtvIDxkaWdldHhAZ21h aWwuY29tPiB3cm90ZToKPgo+IDAzLjA5LjIwMjEgMTE6MjIsIFVsZiBIYW5zc29uINC/0LjRiNC1 0YI6Cj4gPiBPbiBGcmksIDMgU2VwdCAyMDIxIGF0IDA4OjAxLCBEbWl0cnkgT3NpcGVua28gPGRp Z2V0eEBnbWFpbC5jb20+IHdyb3RlOgo+ID4+Cj4gPj4gMDIuMDkuMjAyMSAxMzoxNiwgVWxmIEhh bnNzb24g0L/QuNGI0LXRgjoKPiA+Pj4gV2hlbiBhIGRldmljZSBpcyBkZXRhY2hlZCBmcm9tIGl0 cyBnZW5wZCwgZ2VucGQgbG9zZXMgdHJhY2sgb2YgdGhlIGRldmljZSwKPiA+Pj4gaW5jbHVkaW5n IGl0cyBwZXJmb3JtYW5jZSBzdGF0ZSB2b3RlIHRoYXQgbWF5IGhhdmUgYmVlbiByZXF1ZXN0ZWQg Zm9yIGl0Lgo+ID4+Pgo+ID4+PiBSYXRoZXIgdGhhbiByZWx5aW5nIG9uIHRoZSBjb25zdW1lciBk cml2ZXIgdG8gZHJvcCB0aGUgcGVyZm9ybWFuY2Ugc3RhdGUKPiA+Pj4gdm90ZSBmb3IgaXRzIGRl dmljZSwgbGV0J3MgZG8gaXQgaW50ZXJuYWxseSBpbiBnZW5wZCB3aGVuIHRoZSBkZXZpY2UgaXMK PiA+Pj4gZ2V0dGluZyBkZXRhY2hlZC4gSW4gdGhpcyB3YXksIHdlIG1ha2VzIHN1cmUgdGhhdCB0 aGUgYWdncmVnYXRpb24gb2YgdGhlCj4gPj4+IHZvdGVzIGluIGdlbnBkIGJlY29tZXMgY29ycmVj dC4KPiA+Pgo+ID4+IFRoaXMgaXMgYSBkYW5nZXJvdXMgYmVoYXZpb3VyIGluIGEgY2FzZSB3aGVy ZSBwZXJmb3JtYW5jZSBzdGF0ZQo+ID4+IHJlcHJlc2VudHMgdm9sdGFnZS4gSWYgaGFyZHdhcmUg aXMga2VwdCBhY3RpdmUgb24gZGV0YWNobWVudCwgc2F5IGl0J3MKPiA+PiBhbHdheXMtb24sIHRo ZW4gaXQgbWF5IGJlIGEgZGlzYXN0ZXIgdG8gZHJvcCB0aGUgdm9sdGFnZSBmb3IgdGhlIGFjdGl2 ZQo+ID4+IGhhcmR3YXJlLgo+ID4+Cj4gPj4gSXQncyBzYWZlIHRvIGRyb3AgcGVyZm9ybWFuY2Ug c3RhdGUgb25seSBpZiB5b3UgYXNzdW1lIHRoYXQgdGhlcmUgaXMgYQo+ID4+IGZpcm13YXJlIGJl aGluZCBrZXJuZWwgd2hpY2ggaGFzIGl0cyBvd24gbGF5ZXIgb2YgcGVyZm9ybWFuY2UgbWFuYWdl bWVudAo+ID4+IGFuZCBpdCB3aWxsIHByZXZlbnQgdGhlIGRpc2FzdGVyIGJ5IHNheWluZyAnbm9w ZSwgSSdtIG5vdCBkb2luZyB0aGlzJy4KPiA+Pgo+ID4+IFRoZSBwZXJmb3JtYW5jZSBzdGF0ZSBz aG91bGQgYmUgcGVyc2lzdGVudCBmb3IgYSBkZXZpY2UgYW5kIGl0IHNob3VsZCBiZQo+ID4+IGNv bnRyb2xsZWQgaW4gYSBjb25qdW5jdGlvbiB3aXRoIHJ1bnRpbWUgUE0uIElmIHBsYXRmb3JtIHdh bnRzIHRvIGRyb3AKPiA+PiBwZXJmb3JtYW5jZSBzdGF0ZSB0byB6ZXJvIG9uIGRldGFjaG1lbnQs IHRoZW4gdGhpcyBiZWhhdmlvdXIgc2hvdWxkIGJlCj4gPj4gc3BlY2lmaWMgdG8gdGhhdCBwbGF0 Zm9ybS4KPiA+Cj4gPiBJIHVuZGVyc3RhbmQgeW91ciBjb25jZXJuLCBidXQgYXQgdGhpcyBwb2lu dCwgZ2VucGQgY2FuJ3QgaGVscCB0byBmaXggdGhpcy4KPiA+Cj4gPiBHZW5wZCBoYXMgbm8gaW5m b3JtYXRpb24gYWJvdXQgdGhlIGRldmljZSwgdW5sZXNzIGl0J3MgYXR0YWNoZWQgdG8gaXQuCj4g PiBGb3Igbm93IGFuZCBmb3IgdGhlc2UgYWx3YXlzIG9uIEhXcywgd2Ugc2ltcGx5IG5lZWQgdG8g bWFrZSBzdXJlIHRoZQo+ID4gZGV2aWNlIHN0YXlzIGF0dGFjaGVkLCBpbiBvbmUgd2F5IG9yIHRo ZSBvdGhlci4KPgo+IFRoaXMgaW5kZWVkIHJlcXVpcmVzIHRvIHJlZGVzaWduIEdFTlBEIHRvIG1h a2UgaXQgbW9yZSBjb3VwbGVkIHdpdGggYQo+IGRldmljZSwgYnV0IHRoaXMgaXMgbm90IGEgcmVh bCBwcm9ibGVtIGZvciBhbnkgb2YgdGhlIGN1cnJlbnQgQVBJIHVzZXJzCj4gQUZBSUsuIElkZWFs bHkgdGhlIHN0YXRlIHNob3VsZCBiZSBwZXJzaXN0ZW50IHRvIG1ha2UgQVBJIG1vcmUgdW5pdmVy c2FsLgoKUmlnaHQuIEluIGZhY3QgdGhpcyBoYXMgYmVlbiBkaXNjdXNzZWQgaW4gdGhlIHBhc3Qu IEluIHByaW5jaXBsZSwgdGhlCmlkZWEgd2FzIHRvIGF0dGFjaCB0byBnZW5wZCBhdCBkZXZpY2Ug cmVnaXN0cmF0aW9uLCByYXRoZXIgdGhhbiBhdApkcml2ZXIgcHJvYmUuCgpBbHRob3VnaCwgdGhp cyBpcyBub3QgdmVyeSBlYXN5IHRvIGltcGxlbWVudCAtIGFuZCBpdCBzZWVtcyBsaWtlIHRoZQpj aHVybnMgdG8gZG8sIGhhdmUgbm90IGJlZW4gcmVhbGx5IHdvcnRoIGl0LiBBdCBsZWFzdCBzbyBm YXIuCgo+Cj4gU2luY2UgZm9yIHRvZGF5IHdlIGFzc3VtZSB0aGF0IGRldmljZSBzaG91bGQgYmUg c3VzcGVuZGVkIGF0IHRoZSB0aW1lIG9mCj4gdGhlIGRldGFjaG1lbnQgKGlmIHRoZSBkZWZhdWx0 IE9QUCBzdGF0ZSBpc24ndCB1c2VkKSwgaXQgbWF5IGJlIGJldHRlcgo+IHRvIGFkZCBhIG5vaXN5 IHdhcm5pbmcgbWVzc2FnZSBpZiBwc3RhdGUhPTAsIGtlZXBpbmcgdGhlIHN0YXRlIHVudG91Y2hl ZAo+IGlmIGl0J3Mgbm90IHplcm8uCgpUaGF0IHdvdWxkIGp1c3QgYmUgdmVyeSBzaWxseSBpbiBt eSBvcGluaW9uLgoKV2hlbiB0aGUgZGV2aWNlIGlzIGRldGFjaGVkIChzdXNwZW5kZWQgb3Igbm90 KSwgaXQgbWF5IGNhdXNlIGl0J3MgUE0KZG9tYWluIHRvIGJlIHBvd2VyZWQgb2ZmIC0gYW5kIHRo ZXJlIGlzIHJlYWxseSBub3RoaW5nIHdlIGNhbiBkbyBhYm91dAp0aGF0IGZyb20gdGhlIGdlbnBk IHBvaW50IG9mIHZpZXcuCgpBcyBzdGF0ZWQsIHRoZSBvbmx5IGN1cnJlbnQgc2hvcnQgdGVybSBz b2x1dGlvbiBpcyB0byBhdm9pZCBkZXRhY2hpbmcKdGhlIGRldmljZS4gQW55dGhpbmcgZWxzZSwg d291bGQganVzdCBiZSBwYXBlcmluZyBvZiB0aGUgaXNzdWUuCgpLaW5kIHJlZ2FyZHMKVWZmZQoK X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGludXgtYXJt LWtlcm5lbCBtYWlsaW5nIGxpc3QKbGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3Jn Cmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtYXJtLWtl cm5lbAo=