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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id BFE20C433EF for ; Tue, 5 Jul 2022 09:25:11 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229906AbiGEJZI (ORCPT ); Tue, 5 Jul 2022 05:25:08 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50204 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229457AbiGEJZH (ORCPT ); Tue, 5 Jul 2022 05:25:07 -0400 Received: from mail-wr1-x42c.google.com (mail-wr1-x42c.google.com [IPv6:2a00:1450:4864:20::42c]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 5AEA829D for ; Tue, 5 Jul 2022 02:25:05 -0700 (PDT) Received: by mail-wr1-x42c.google.com with SMTP id q9so16636968wrd.8 for ; Tue, 05 Jul 2022 02:25:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=message-id:date:mime-version:user-agent:subject:content-language:to :cc:references:from:in-reply-to:content-transfer-encoding; bh=ZW5lLkL4JDDf9YU7h/GJGKjkCyTulUg7IkJ5X2M8OE0=; b=CpNzyFgqsQd/DD8PMyj/53gIhGninW9JqnA2U3FFJTOPqE5SM3EkDrAdhwn+7ncT5v wKjohAnLgdC+n8Y+UXvJHDf7RYG5VaTRCd4Fc+uRINtx5aikqTNMbIqtV1nzjCPlk6nj D/0sZ0VLfEaIsUm3UnmE+bpDGWNXeaH/Lyw8ggXAyVBXoijGMVpfJlbrX4rfqEKD3bb6 uhQFDW/Q7u7w3Yq0l4IgTZkgzhb28Gyrzno9rxTV0SenCO9ZTDV5UPfBNTAsvX9nsPC0 qcyL9P/sBnSoRnd8AnS0YlfRh+Al/8plbYVUFILSlTeSfZmrUb+nZ0vZd+kObtXtFkp7 viYQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:date:mime-version:user-agent:subject :content-language:to:cc:references:from:in-reply-to :content-transfer-encoding; bh=ZW5lLkL4JDDf9YU7h/GJGKjkCyTulUg7IkJ5X2M8OE0=; b=KJui6j+DT2q6bbJGfK9OMFlwQEbC3i2iY9JSRvwG4pPXZXxgfHDx8tfiD+DyOTTx1w KMHCrNJ+NB04/XYAFSy8ZwZg5tQuGi0IeU/B5fbHc6eUZqE4yfktlt+WsIDdM4p7Jfc1 btOjgfKO1ZmCoOc6XaJGasJ3sk2n8VHrpUBe40oTFuZbmKndDxZBSWHo6lnxPh5N+VPL BDaiAAM7tQSQjIg5+7MjOMwzmLl6Vl6xqVIa2gHOtT5tOGZc/pI/OuP9aBFONY9UVrl1 G/FO7dUMeOGcbjJUFQ2ImQMLG2QnWSCXsLqEh9vHwsK+foQhAOJsfXvW/XuOkQB+5Y0N T1pg== X-Gm-Message-State: AJIora/aCJV5ac2V05uGa2WWXRg2n0c5/XFjj3Py4LDX8DGBwhD+8Aue 5ffXqEHEaJMV+Fh43EiXAlBy2Q== X-Google-Smtp-Source: AGRyM1ulejTrozItdDe8gUaSa6g97LeECzQY32rA9ATM/klopckLROa1qgzi/UICUNSR8vmGdeg9yQ== X-Received: by 2002:a5d:4f0b:0:b0:21d:705c:caf with SMTP id c11-20020a5d4f0b000000b0021d705c0cafmr3189291wru.55.1657013103855; Tue, 05 Jul 2022 02:25:03 -0700 (PDT) Received: from [192.168.10.46] (146725694.box.freepro.com. [130.180.211.218]) by smtp.googlemail.com with ESMTPSA id q7-20020a05600000c700b0021d76985929sm484157wrx.80.2022.07.05.02.25.02 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 05 Jul 2022 02:25:03 -0700 (PDT) Message-ID: <653f63e5-c794-27fb-115a-7b051850991b@linaro.org> Date: Tue, 5 Jul 2022 11:25:01 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.9.1 Subject: Re: [PATCH 4/4] cpufreq: scmi: Support the power scale in micro-Watts in SCMI v3.1 Content-Language: en-US To: Lukasz Luba , linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org Cc: amitk@kernel.org, rui.zhang@intel.com, viresh.kumar@linaro.org, rafael@kernel.org, dietmar.eggemann@arm.com, nm@ti.com, sboyd@kernel.org, sudeep.holla@arm.com, cristian.marussi@arm.com, matthias.bgg@gmail.com, linux-mediatek@lists.infradead.org, linux-arm-kernel@lists.infradead.org References: <20220622145802.13032-1-lukasz.luba@arm.com> <20220622145802.13032-5-lukasz.luba@arm.com> From: Daniel Lezcano In-Reply-To: <20220622145802.13032-5-lukasz.luba@arm.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 22/06/2022 16:58, Lukasz Luba wrote: > The SCMI v3.1 adds support for power values in micro-Watts. They are not > always in milli-Watts anymore (ignoring the bogo-Watts). Thus, the power > must be converted conditionally before sending to Energy Model. Add the > logic which handles the needed checks and conversions. > > Signed-off-by: Lukasz Luba > --- > drivers/cpufreq/scmi-cpufreq.c | 15 ++++++++++----- > 1 file changed, 10 insertions(+), 5 deletions(-) > > diff --git a/drivers/cpufreq/scmi-cpufreq.c b/drivers/cpufreq/scmi-cpufreq.c > index bfd35583d653..513a071845c2 100644 > --- a/drivers/cpufreq/scmi-cpufreq.c > +++ b/drivers/cpufreq/scmi-cpufreq.c > @@ -100,7 +100,7 @@ static int __maybe_unused > scmi_get_cpu_power(struct device *cpu_dev, unsigned long *power, > unsigned long *KHz) > { > - bool power_scale_mw = perf_ops->power_scale_mw_get(ph); > + enum scmi_power_scale power_scale = perf_ops->power_scale_get(ph); > unsigned long Hz; > int ret, domain; > > @@ -114,8 +114,8 @@ scmi_get_cpu_power(struct device *cpu_dev, unsigned long *power, > if (ret) > return ret; > > - /* Provide bigger resolution power to the Energy Model */ > - if (power_scale_mw) > + /* Convert the power to uW if it is mW (ignore bogoW) */ > + if (power_scale == SCMI_POWER_MILLIWATTS) > *power *= MICROWATT_PER_MILLIWATT; > > /* The EM framework specifies the frequency in KHz. */ > @@ -255,8 +255,9 @@ static int scmi_cpufreq_exit(struct cpufreq_policy *policy) > static void scmi_cpufreq_register_em(struct cpufreq_policy *policy) > { > struct em_data_callback em_cb = EM_DATA_CB(scmi_get_cpu_power); > - bool power_scale_mw = perf_ops->power_scale_mw_get(ph); > + enum scmi_power_scale power_scale = perf_ops->power_scale_get(ph); > struct scmi_data *priv = policy->driver_data; > + bool em_power_scale = false; Just pass 'false' to em_dev_register_perf_domain() > /* > * This callback will be called for each policy, but we don't need to > @@ -268,9 +269,13 @@ static void scmi_cpufreq_register_em(struct cpufreq_policy *policy) > if (!priv->nr_opp) > return; > > + if (power_scale == SCMI_POWER_MILLIWATTS > + || power_scale == SCMI_POWER_MICROWATTS) > + em_power_scale = true; > + > em_dev_register_perf_domain(get_cpu_device(policy->cpu), priv->nr_opp, > &em_cb, priv->opp_shared_cpus, > - power_scale_mw); > + em_power_scale); > } > > static struct cpufreq_driver scmi_cpufreq_driver = { -- Linaro.org │ Open source software for ARM SoCs Follow Linaro: Facebook | Twitter | Blog 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 A65AEC433EF for ; Tue, 5 Jul 2022 09:26:13 +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-Type: Content-Transfer-Encoding:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:From:References:Cc:To:Subject: MIME-Version:Date:Message-ID:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=X47XtYD/x/CW8VArRZhg/uCO8BPHy4LLD7BHwZA69B8=; b=n3Ad+qazmQg5J6 JZgT0e1NbSg5OQmd2ov/JJ+8EqoUdpUIUf737hJTUZ7AylcOh7zLKzS7sTwDEEWA5Kkew8Xgb6nUU 2wCKtO2sGGx6lEQhmV6QQb/HlS0SvSRIQIscRKXMvPCEIyBYz3IDnjId93GAPRfkKIsMhQbh/wfA/ NXGpOdwS1o0aE/gzDP+codjCYwyrg+MYDfJZdflxOcqdOKYEp4HPKKGUu0oa8OCqr2rmGwb+qvhZk C/BJnWhg2BFjAIlbf/mDnXuifyJnr5CeWTiVY/0jt6y32xauO/ub93kfaqGXKMYA9HZUAXB7CXj/s D0lM9zFLRWvlHMyhiAmw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1o8enu-00GfcA-Li; Tue, 05 Jul 2022 09:25:10 +0000 Received: from mail-wr1-x436.google.com ([2a00:1450:4864:20::436]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1o8enq-00GfZa-Ac for linux-arm-kernel@lists.infradead.org; Tue, 05 Jul 2022 09:25:07 +0000 Received: by mail-wr1-x436.google.com with SMTP id b26so16667578wrc.2 for ; Tue, 05 Jul 2022 02:25:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=message-id:date:mime-version:user-agent:subject:content-language:to :cc:references:from:in-reply-to:content-transfer-encoding; bh=ZW5lLkL4JDDf9YU7h/GJGKjkCyTulUg7IkJ5X2M8OE0=; b=CpNzyFgqsQd/DD8PMyj/53gIhGninW9JqnA2U3FFJTOPqE5SM3EkDrAdhwn+7ncT5v wKjohAnLgdC+n8Y+UXvJHDf7RYG5VaTRCd4Fc+uRINtx5aikqTNMbIqtV1nzjCPlk6nj D/0sZ0VLfEaIsUm3UnmE+bpDGWNXeaH/Lyw8ggXAyVBXoijGMVpfJlbrX4rfqEKD3bb6 uhQFDW/Q7u7w3Yq0l4IgTZkgzhb28Gyrzno9rxTV0SenCO9ZTDV5UPfBNTAsvX9nsPC0 qcyL9P/sBnSoRnd8AnS0YlfRh+Al/8plbYVUFILSlTeSfZmrUb+nZ0vZd+kObtXtFkp7 viYQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:date:mime-version:user-agent:subject :content-language:to:cc:references:from:in-reply-to :content-transfer-encoding; bh=ZW5lLkL4JDDf9YU7h/GJGKjkCyTulUg7IkJ5X2M8OE0=; b=3nyk5zxmjMn7o++kPxY6arefRt/4prdMmIb2nkN5sVaPveF3X36L4Z9fBH0XEq6pOg LM6oISvCBriJhqMVXBBexuFgUUfueiHstYsAl2z/mDqs6WaqXwbC4IzDWkTBSxyR1u26 B9uI5tvEDRenGQ2UrIVZ9UFdV8jq452LCHU92xlpV9frTzUeH9/V4pxJnSu7pDDYfvS5 uQVbqkx1UCHvCI2C7rwiR86Xwm/J9uNcoaTBVG8Z2SwlJlMMAPwO5fnNNVA8T2LKtJfg SbWtZS7/EMD/2h+qgs8R7dLr1tXttQ1mj8+dEpwo8BwOioZQBDDnzTeiVLHA1g8Nlh6m ewXQ== X-Gm-Message-State: AJIora+Eqo+hHIZC012dMBaXXVsIQdUU0686rRn/AJM49fB7tewiwylC P3bs+YpbwMKQ2mgtx/7Kr2X39A== X-Google-Smtp-Source: AGRyM1ulejTrozItdDe8gUaSa6g97LeECzQY32rA9ATM/klopckLROa1qgzi/UICUNSR8vmGdeg9yQ== X-Received: by 2002:a5d:4f0b:0:b0:21d:705c:caf with SMTP id c11-20020a5d4f0b000000b0021d705c0cafmr3189291wru.55.1657013103855; Tue, 05 Jul 2022 02:25:03 -0700 (PDT) Received: from [192.168.10.46] (146725694.box.freepro.com. [130.180.211.218]) by smtp.googlemail.com with ESMTPSA id q7-20020a05600000c700b0021d76985929sm484157wrx.80.2022.07.05.02.25.02 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 05 Jul 2022 02:25:03 -0700 (PDT) Message-ID: <653f63e5-c794-27fb-115a-7b051850991b@linaro.org> Date: Tue, 5 Jul 2022 11:25:01 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.9.1 Subject: Re: [PATCH 4/4] cpufreq: scmi: Support the power scale in micro-Watts in SCMI v3.1 Content-Language: en-US To: Lukasz Luba , linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org Cc: amitk@kernel.org, rui.zhang@intel.com, viresh.kumar@linaro.org, rafael@kernel.org, dietmar.eggemann@arm.com, nm@ti.com, sboyd@kernel.org, sudeep.holla@arm.com, cristian.marussi@arm.com, matthias.bgg@gmail.com, linux-mediatek@lists.infradead.org, linux-arm-kernel@lists.infradead.org References: <20220622145802.13032-1-lukasz.luba@arm.com> <20220622145802.13032-5-lukasz.luba@arm.com> From: Daniel Lezcano In-Reply-To: <20220622145802.13032-5-lukasz.luba@arm.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220705_022506_410685_5832E9EF X-CRM114-Status: GOOD ( 21.58 ) 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-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org T24gMjIvMDYvMjAyMiAxNjo1OCwgTHVrYXN6IEx1YmEgd3JvdGU6Cj4gVGhlIFNDTUkgdjMuMSBh ZGRzIHN1cHBvcnQgZm9yIHBvd2VyIHZhbHVlcyBpbiBtaWNyby1XYXR0cy4gVGhleSBhcmUgbm90 Cj4gYWx3YXlzIGluIG1pbGxpLVdhdHRzIGFueW1vcmUgKGlnbm9yaW5nIHRoZSBib2dvLVdhdHRz KS4gVGh1cywgdGhlIHBvd2VyCj4gbXVzdCBiZSBjb252ZXJ0ZWQgY29uZGl0aW9uYWxseSBiZWZv cmUgc2VuZGluZyB0byBFbmVyZ3kgTW9kZWwuIEFkZCB0aGUKPiBsb2dpYyB3aGljaCBoYW5kbGVz IHRoZSBuZWVkZWQgY2hlY2tzIGFuZCBjb252ZXJzaW9ucy4KPiAKPiBTaWduZWQtb2ZmLWJ5OiBM dWthc3ogTHViYSA8bHVrYXN6Lmx1YmFAYXJtLmNvbT4KPiAtLS0KPiAgIGRyaXZlcnMvY3B1ZnJl cS9zY21pLWNwdWZyZXEuYyB8IDE1ICsrKysrKysrKystLS0tLQo+ICAgMSBmaWxlIGNoYW5nZWQs IDEwIGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvY3B1ZnJlcS9zY21pLWNwdWZyZXEuYyBiL2RyaXZlcnMvY3B1ZnJlcS9zY21pLWNwdWZyZXEu Ywo+IGluZGV4IGJmZDM1NTgzZDY1My4uNTEzYTA3MTg0NWMyIDEwMDY0NAo+IC0tLSBhL2RyaXZl cnMvY3B1ZnJlcS9zY21pLWNwdWZyZXEuYwo+ICsrKyBiL2RyaXZlcnMvY3B1ZnJlcS9zY21pLWNw dWZyZXEuYwo+IEBAIC0xMDAsNyArMTAwLDcgQEAgc3RhdGljIGludCBfX21heWJlX3VudXNlZAo+ ICAgc2NtaV9nZXRfY3B1X3Bvd2VyKHN0cnVjdCBkZXZpY2UgKmNwdV9kZXYsIHVuc2lnbmVkIGxv bmcgKnBvd2VyLAo+ICAgCQkgICB1bnNpZ25lZCBsb25nICpLSHopCj4gICB7Cj4gLQlib29sIHBv d2VyX3NjYWxlX213ID0gcGVyZl9vcHMtPnBvd2VyX3NjYWxlX213X2dldChwaCk7Cj4gKwllbnVt IHNjbWlfcG93ZXJfc2NhbGUgcG93ZXJfc2NhbGUgPSBwZXJmX29wcy0+cG93ZXJfc2NhbGVfZ2V0 KHBoKTsKPiAgIAl1bnNpZ25lZCBsb25nIEh6Owo+ICAgCWludCByZXQsIGRvbWFpbjsKPiAgIAo+ IEBAIC0xMTQsOCArMTE0LDggQEAgc2NtaV9nZXRfY3B1X3Bvd2VyKHN0cnVjdCBkZXZpY2UgKmNw dV9kZXYsIHVuc2lnbmVkIGxvbmcgKnBvd2VyLAo+ICAgCWlmIChyZXQpCj4gICAJCXJldHVybiBy ZXQ7Cj4gICAKPiAtCS8qIFByb3ZpZGUgYmlnZ2VyIHJlc29sdXRpb24gcG93ZXIgdG8gdGhlIEVu ZXJneSBNb2RlbCAqLwo+IC0JaWYgKHBvd2VyX3NjYWxlX213KQo+ICsJLyogQ29udmVydCB0aGUg cG93ZXIgdG8gdVcgaWYgaXQgaXMgbVcgKGlnbm9yZSBib2dvVykgKi8KPiArCWlmIChwb3dlcl9z Y2FsZSA9PSBTQ01JX1BPV0VSX01JTExJV0FUVFMpCj4gICAJCSpwb3dlciAqPSBNSUNST1dBVFRf UEVSX01JTExJV0FUVDsKPiAgIAo+ICAgCS8qIFRoZSBFTSBmcmFtZXdvcmsgc3BlY2lmaWVzIHRo ZSBmcmVxdWVuY3kgaW4gS0h6LiAqLwo+IEBAIC0yNTUsOCArMjU1LDkgQEAgc3RhdGljIGludCBz Y21pX2NwdWZyZXFfZXhpdChzdHJ1Y3QgY3B1ZnJlcV9wb2xpY3kgKnBvbGljeSkKPiAgIHN0YXRp YyB2b2lkIHNjbWlfY3B1ZnJlcV9yZWdpc3Rlcl9lbShzdHJ1Y3QgY3B1ZnJlcV9wb2xpY3kgKnBv bGljeSkKPiAgIHsKPiAgIAlzdHJ1Y3QgZW1fZGF0YV9jYWxsYmFjayBlbV9jYiA9IEVNX0RBVEFf Q0Ioc2NtaV9nZXRfY3B1X3Bvd2VyKTsKPiAtCWJvb2wgcG93ZXJfc2NhbGVfbXcgPSBwZXJmX29w cy0+cG93ZXJfc2NhbGVfbXdfZ2V0KHBoKTsKPiArCWVudW0gc2NtaV9wb3dlcl9zY2FsZSBwb3dl cl9zY2FsZSA9IHBlcmZfb3BzLT5wb3dlcl9zY2FsZV9nZXQocGgpOwo+ICAgCXN0cnVjdCBzY21p X2RhdGEgKnByaXYgPSBwb2xpY3ktPmRyaXZlcl9kYXRhOwo+ICsJYm9vbCBlbV9wb3dlcl9zY2Fs ZSA9IGZhbHNlOwoKSnVzdCBwYXNzICdmYWxzZScgdG8gZW1fZGV2X3JlZ2lzdGVyX3BlcmZfZG9t YWluKCkKCj4gICAJLyoKPiAgIAkgKiBUaGlzIGNhbGxiYWNrIHdpbGwgYmUgY2FsbGVkIGZvciBl YWNoIHBvbGljeSwgYnV0IHdlIGRvbid0IG5lZWQgdG8KPiBAQCAtMjY4LDkgKzI2OSwxMyBAQCBz dGF0aWMgdm9pZCBzY21pX2NwdWZyZXFfcmVnaXN0ZXJfZW0oc3RydWN0IGNwdWZyZXFfcG9saWN5 ICpwb2xpY3kpCj4gICAJaWYgKCFwcml2LT5ucl9vcHApCj4gICAJCXJldHVybjsKPiAgIAo+ICsJ aWYgKHBvd2VyX3NjYWxlID09IFNDTUlfUE9XRVJfTUlMTElXQVRUUwo+ICsJICAgIHx8IHBvd2Vy X3NjYWxlID09IFNDTUlfUE9XRVJfTUlDUk9XQVRUUykKPiArCQllbV9wb3dlcl9zY2FsZSA9IHRy dWU7Cj4gKwo+ICAgCWVtX2Rldl9yZWdpc3Rlcl9wZXJmX2RvbWFpbihnZXRfY3B1X2RldmljZShw b2xpY3ktPmNwdSksIHByaXYtPm5yX29wcCwKPiAgIAkJCQkgICAgJmVtX2NiLCBwcml2LT5vcHBf c2hhcmVkX2NwdXMsCj4gLQkJCQkgICAgcG93ZXJfc2NhbGVfbXcpOwo+ICsJCQkJICAgIGVtX3Bv d2VyX3NjYWxlKTsKPiAgIH0KPiAgIAo+ICAgc3RhdGljIHN0cnVjdCBjcHVmcmVxX2RyaXZlciBz Y21pX2NwdWZyZXFfZHJpdmVyID0gewoKCi0tIAo8aHR0cDovL3d3dy5saW5hcm8ub3JnLz4gTGlu YXJvLm9yZyDilIIgT3BlbiBzb3VyY2Ugc29mdHdhcmUgZm9yIEFSTSBTb0NzCgpGb2xsb3cgTGlu YXJvOiAgPGh0dHA6Ly93d3cuZmFjZWJvb2suY29tL3BhZ2VzL0xpbmFybz4gRmFjZWJvb2sgfAo8 aHR0cDovL3R3aXR0ZXIuY29tLyMhL2xpbmFyb29yZz4gVHdpdHRlciB8CjxodHRwOi8vd3d3Lmxp bmFyby5vcmcvbGluYXJvLWJsb2cvPiBCbG9nCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwpsaW51eC1hcm0ta2VybmVsIG1haWxpbmcgbGlzdApsaW51eC1h cm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcv bWFpbG1hbi9saXN0aW5mby9saW51eC1hcm0ta2VybmVsCg==