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=-9.2 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,MAILING_LIST_MULTI, NICE_REPLY_A,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_SANE_1 autolearn=ham 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 8A681C433DB for ; Thu, 21 Jan 2021 20:28:04 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 4C26223A56 for ; Thu, 21 Jan 2021 20:28:04 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727147AbhAUU1w (ORCPT ); Thu, 21 Jan 2021 15:27:52 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45132 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726672AbhAUU11 (ORCPT ); Thu, 21 Jan 2021 15:27:27 -0500 Received: from mail-lj1-x233.google.com (mail-lj1-x233.google.com [IPv6:2a00:1450:4864:20::233]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 0CC3EC061756; Thu, 21 Jan 2021 12:26:47 -0800 (PST) Received: by mail-lj1-x233.google.com with SMTP id p13so4033712ljg.2; Thu, 21 Jan 2021 12:26:46 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=/HRTfbG4emabSLFelmlx+vEEglKRLfy1gL/MezAi/ZM=; b=Wmpj3uR+B0oz7EbHGBH0A/9/umuq3HtC70vKmknXE/bVji4YOs7D1DVYHD5yuI0mcI rhxEp0Yr0sg5kAIEbnC2sQ6MFHGa77WLAIQUTBLVaAXTgfG3RMHgoAH9brIk0RlVFIZi kBQwEl/lTlkkRiJqbRwZC1NSLZO8lLKnAMfio+iQrD+6GBEHDX0ToT6qUCCuCIrT6sy9 IIsBCKprxdFHSTsB4zVRt+YXOQ7N6hO1HT3vHdrjZ40Kh2UdL/5oKL2SUe6Cfj8irMNL cjDWbZGfdpZX/BkGISTFxt1MrKPB8u+lZlFV4V7Oty91HcIUt6yDLfBuY07u70csd96Y w6DQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=/HRTfbG4emabSLFelmlx+vEEglKRLfy1gL/MezAi/ZM=; b=P5IDwIbrXRgMqOCWtU4tWIiujMAEjEhZbuaYvdHKM87oAetkMOOvPOSAfqbh8lYis7 q4mFU/I+VRtbSY3zY2sKZW2psTEmUi59qaV7DLzuKuW3r0oc80XM+OsPOuQHV3wR/LQ/ L2TGIMtUuBkch1UaEcEOf7c/g2FOkaFJHK24iQ9b2tBDZxU+gjjyi2X9fJU05DRfYVNA NQD5ePctxv/jzcMAXaCGDMj8ORWcNcNS5jaH8CMIr2Bbn5zJ4/YP0JtjGB8KulSu+Fg6 aMQ0RLM/eyZHe+FjNJrNXBaahI9UultYqhFNVndYwymLQkEzUxoSYR03HIEYaacdUZxj kHbA== X-Gm-Message-State: AOAM531dvnof7Dbuo8YJ9G79hQVODMIaFQUqULLBBMP2XCAfbfN8eVAs g46+TuNSgJcahSZZ/8+DXg/cRMCOrLc= X-Google-Smtp-Source: ABdhPJztFRGAPddrobgjhvcdhiqrWAqsLj6Hf8+fRw2jY6qn6Z2O41UhIeIZis2JIksLu/TG8DVIKA== X-Received: by 2002:a2e:8350:: with SMTP id l16mr538281ljh.403.1611260805366; Thu, 21 Jan 2021 12:26:45 -0800 (PST) Received: from [192.168.2.145] (109-252-192-57.dynamic.spd-mgts.ru. [109.252.192.57]) by smtp.googlemail.com with ESMTPSA id m25sm633354lfb.144.2021.01.21.12.26.44 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 21 Jan 2021 12:26:44 -0800 (PST) Subject: Re: [PATCH 07/13] opp: Allow _generic_set_opp_clk_only() to work for non-freq devices To: Viresh Kumar , Viresh Kumar , Nishanth Menon , Stephen Boyd Cc: linux-pm@vger.kernel.org, Vincent Guittot , Rafael Wysocki , Sibi Sankar , linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, "linux-tegra@vger.kernel.org" References: <1585f6c21ea8aee64fe4da0bf72b36ea4d74a779.1611227342.git.viresh.kumar@linaro.org> From: Dmitry Osipenko Message-ID: <9b2638e6-b842-8737-e5a0-aeeb84927fce@gmail.com> Date: Thu, 21 Jan 2021 23:26:43 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.4.2 MIME-Version: 1.0 In-Reply-To: <1585f6c21ea8aee64fe4da0bf72b36ea4d74a779.1611227342.git.viresh.kumar@linaro.org> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-tegra@vger.kernel.org 21.01.2021 14:17, Viresh Kumar пишет: > In order to avoid conditional statements at the caller site, this patch > updates _generic_set_opp_clk_only() to work for devices that don't > change frequency (like power domains, etc.). Return 0 if the clk pointer > passed to this routine is not valid. > > Signed-off-by: Viresh Kumar > --- ... Hello Viresh, Thank you very much for yours effort! I gave a quick test to this series and instantly found one small issue in this patch. > + /* We may reach here for devices which don't change frequency */ > + if (unlikely(!clk)) I replaced dev_pm_opp_set_voltage() with dev_pm_opp_set_opp() in the Tegra PD driver and got a crash, which happens because the above line should be: if (IS_ERR(clk)) The opp_table->clk is initialized to ERR_PTR(-ENOENT) if device doesn't have a clock, like a power domain device in my case. Everything works good after fixing this patch. I'll keep testing and will be taking a closer look at the rest of the patches over this weekend. For the record, here is a backtrace of the crash: Unable to handle kernel NULL pointer dereference at virtual address 00000016 ... (clk_set_rate) from (_set_opp) (_set_opp) from (dev_pm_opp_set_opp) (dev_pm_opp_set_opp) from (tegra_genpd_set_performance_state) (tegra_genpd_set_performance_state) from (_genpd_set_performance_state) (_genpd_set_performance_state) from (dev_pm_genpd_set_performance_state) (dev_pm_genpd_set_performance_state) from (_set_required_opp) (_set_required_opp) from (_set_opp) (_set_opp) from (dev_pm_opp_set_rate) (dev_pm_opp_set_rate) from (host1x_runtime_resume) (host1x_runtime_resume) from (genpd_runtime_resume) (genpd_runtime_resume) from (__rpm_callback) (__rpm_callback) from (rpm_callback) (rpm_callback) from (rpm_resume) (rpm_resume) from (__pm_runtime_resume) (__pm_runtime_resume) from (host1x_probe) (host1x_probe) from (platform_probe) (platform_probe) from (really_probe) (really_probe) from (driver_probe_device) (driver_probe_device) from (device_driver_attach) (device_driver_attach) from (__driver_attach) (__driver_attach) from (bus_for_each_dev) (bus_for_each_dev) from (bus_add_driver) (bus_add_driver) from (driver_register) (driver_register) from (__platform_register_drivers) (__platform_register_drivers) from (host1x_module_init) (host1x_module_init) from (do_one_initcall) (do_one_initcall) from (kernel_init_freeable) (kernel_init_freeable) from (kernel_init) 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=-7.2 required=3.0 tests=BAYES_00,DKIM_ADSP_CUSTOM_MED, DKIM_SIGNED,DKIM_VALID,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,MAILING_LIST_MULTI, NICE_REPLY_A,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_SANE_1 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 D72EEC433DB for ; Thu, 21 Jan 2021 20:28:39 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (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 8F72123A56 for ; Thu, 21 Jan 2021 20:28:39 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 8F72123A56 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:Date:Message-ID:From: References:To:Subject:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=3TtvlGtDP3f+TxxRbk8Ycf4EFgET1+glNdargbVyUd4=; b=cqiCT1MUciJAObcl0bOXwiXTH TMXQQK2Wzhrzv7WTu0OJje5L+5FgsHy4dpgWiPn58egSQpZS35dKryHZEtmS/pp8RZmhIGseBlB7S Pan6N85yzv26TXE4EXYsyWky7Vf4PkrvjxCewADbs12bz87bJgKRj9uz/bOu7XAvNOUk+lr7fGO1m 5wif6GhLwDn/tyI2wbVzHyIJzylwjtm9IQ0qTKyybJKtTHEHwwLB9ZJgXHuCheXWfZtPGZ8qcnv2+ o8Wef77luEAhILusOjZrCJkVz5It0O3QnOEShCp6U5pYwNk3AfzwvD+qvO0nH3uEPb8sdOJrebvb4 Mk3b43mxQ==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1l2gXa-0004U9-Vj; Thu, 21 Jan 2021 20:26:51 +0000 Received: from mail-lj1-x22e.google.com ([2a00:1450:4864:20::22e]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1l2gXY-0004Tp-Iy for linux-arm-kernel@lists.infradead.org; Thu, 21 Jan 2021 20:26:49 +0000 Received: by mail-lj1-x22e.google.com with SMTP id 3so4023583ljc.4 for ; Thu, 21 Jan 2021 12:26:46 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=/HRTfbG4emabSLFelmlx+vEEglKRLfy1gL/MezAi/ZM=; b=Wmpj3uR+B0oz7EbHGBH0A/9/umuq3HtC70vKmknXE/bVji4YOs7D1DVYHD5yuI0mcI rhxEp0Yr0sg5kAIEbnC2sQ6MFHGa77WLAIQUTBLVaAXTgfG3RMHgoAH9brIk0RlVFIZi kBQwEl/lTlkkRiJqbRwZC1NSLZO8lLKnAMfio+iQrD+6GBEHDX0ToT6qUCCuCIrT6sy9 IIsBCKprxdFHSTsB4zVRt+YXOQ7N6hO1HT3vHdrjZ40Kh2UdL/5oKL2SUe6Cfj8irMNL cjDWbZGfdpZX/BkGISTFxt1MrKPB8u+lZlFV4V7Oty91HcIUt6yDLfBuY07u70csd96Y w6DQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=/HRTfbG4emabSLFelmlx+vEEglKRLfy1gL/MezAi/ZM=; b=K1lhUrWKwhE+N+QjJOwEgaXWrrglRPFQP6NCH1ZwBxtg2nM8WqX4Hl0bBMU71adyW8 pBM3kHxYcuPmiWEa7DhUaqK4OaKva+oRqEyd77X4Yeh7Yvrkq2vCY0gXCBAvZskBpJlD Xkp8tyYseF7IAyNRx4892DuAYn9O/BXOffO17fIoZxCHZ8LbOPBzk+CJrKdLydFmdTbp Q5QDyi2stqcaUKuWOg9wqeVnmi544q7QEK2fxVcaJN+PZtS1+0X/W/PweAsg6TZbh3rR 9dEhsNkfohOGPmHV6qgkcNyrfJPDQ+nI6IpCK5uW/hSqloRTG/cuEY09PpSeheY96LDq o4/A== X-Gm-Message-State: AOAM532pOioPialQJSf+pUrPA3Os4h/jU+xFleXklLYPLP5mhAmfYlrQ O5c1zgbdWgazyFBdFDPtiSQ= X-Google-Smtp-Source: ABdhPJztFRGAPddrobgjhvcdhiqrWAqsLj6Hf8+fRw2jY6qn6Z2O41UhIeIZis2JIksLu/TG8DVIKA== X-Received: by 2002:a2e:8350:: with SMTP id l16mr538281ljh.403.1611260805366; Thu, 21 Jan 2021 12:26:45 -0800 (PST) Received: from [192.168.2.145] (109-252-192-57.dynamic.spd-mgts.ru. [109.252.192.57]) by smtp.googlemail.com with ESMTPSA id m25sm633354lfb.144.2021.01.21.12.26.44 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 21 Jan 2021 12:26:44 -0800 (PST) Subject: Re: [PATCH 07/13] opp: Allow _generic_set_opp_clk_only() to work for non-freq devices To: Viresh Kumar , Viresh Kumar , Nishanth Menon , Stephen Boyd References: <1585f6c21ea8aee64fe4da0bf72b36ea4d74a779.1611227342.git.viresh.kumar@linaro.org> From: Dmitry Osipenko Message-ID: <9b2638e6-b842-8737-e5a0-aeeb84927fce@gmail.com> Date: Thu, 21 Jan 2021 23:26:43 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.4.2 MIME-Version: 1.0 In-Reply-To: <1585f6c21ea8aee64fe4da0bf72b36ea4d74a779.1611227342.git.viresh.kumar@linaro.org> Content-Language: en-US X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210121_152648_671440_F68E213E X-CRM114-Status: GOOD ( 19.33 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Vincent Guittot , linux-pm@vger.kernel.org, Rafael Wysocki , linux-kernel@vger.kernel.org, Sibi Sankar , "linux-tegra@vger.kernel.org" , linux-arm-kernel@lists.infradead.org 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 MjEuMDEuMjAyMSAxNDoxNywgVmlyZXNoIEt1bWFyINC/0LjRiNC10YI6Cj4gSW4gb3JkZXIgdG8g YXZvaWQgY29uZGl0aW9uYWwgc3RhdGVtZW50cyBhdCB0aGUgY2FsbGVyIHNpdGUsIHRoaXMgcGF0 Y2gKPiB1cGRhdGVzIF9nZW5lcmljX3NldF9vcHBfY2xrX29ubHkoKSB0byB3b3JrIGZvciBkZXZp Y2VzIHRoYXQgZG9uJ3QKPiBjaGFuZ2UgZnJlcXVlbmN5IChsaWtlIHBvd2VyIGRvbWFpbnMsIGV0 Yy4pLiBSZXR1cm4gMCBpZiB0aGUgY2xrIHBvaW50ZXIKPiBwYXNzZWQgdG8gdGhpcyByb3V0aW5l IGlzIG5vdCB2YWxpZC4KPiAKPiBTaWduZWQtb2ZmLWJ5OiBWaXJlc2ggS3VtYXIgPHZpcmVzaC5r dW1hckBsaW5hcm8ub3JnPgo+IC0tLQouLi4KCkhlbGxvIFZpcmVzaCwKClRoYW5rIHlvdSB2ZXJ5 IG11Y2ggZm9yIHlvdXJzIGVmZm9ydCEgSSBnYXZlIGEgcXVpY2sgdGVzdCB0byB0aGlzIHNlcmll cwphbmQgaW5zdGFudGx5IGZvdW5kIG9uZSBzbWFsbCBpc3N1ZSBpbiB0aGlzIHBhdGNoLgoKPiAr CS8qIFdlIG1heSByZWFjaCBoZXJlIGZvciBkZXZpY2VzIHdoaWNoIGRvbid0IGNoYW5nZSBmcmVx dWVuY3kgKi8KPiArCWlmICh1bmxpa2VseSghY2xrKSkKCkkgcmVwbGFjZWQgZGV2X3BtX29wcF9z ZXRfdm9sdGFnZSgpIHdpdGggZGV2X3BtX29wcF9zZXRfb3BwKCkgaW4gdGhlClRlZ3JhIFBEIGRy aXZlciBhbmQgZ290IGEgY3Jhc2gsIHdoaWNoIGhhcHBlbnMgYmVjYXVzZSB0aGUgYWJvdmUgbGlu ZQpzaG91bGQgYmU6CgoJaWYgKElTX0VSUihjbGspKQoKVGhlIG9wcF90YWJsZS0+Y2xrIGlzIGlu aXRpYWxpemVkIHRvIEVSUl9QVFIoLUVOT0VOVCkgaWYgZGV2aWNlIGRvZXNuJ3QKaGF2ZSBhIGNs b2NrLCBsaWtlIGEgcG93ZXIgZG9tYWluIGRldmljZSBpbiBteSBjYXNlLgoKRXZlcnl0aGluZyB3 b3JrcyBnb29kIGFmdGVyIGZpeGluZyB0aGlzIHBhdGNoLiBJJ2xsIGtlZXAgdGVzdGluZyBhbmQK d2lsbCBiZSB0YWtpbmcgYSBjbG9zZXIgbG9vayBhdCB0aGUgcmVzdCBvZiB0aGUgcGF0Y2hlcyBv dmVyIHRoaXMgd2Vla2VuZC4KCkZvciB0aGUgcmVjb3JkLCBoZXJlIGlzIGEgYmFja3RyYWNlIG9m IHRoZSBjcmFzaDoKClVuYWJsZSB0byBoYW5kbGUga2VybmVsIE5VTEwgcG9pbnRlciBkZXJlZmVy ZW5jZSBhdCB2aXJ0dWFsIGFkZHJlc3MgMDAwMDAwMTYKLi4uCihjbGtfc2V0X3JhdGUpIGZyb20g KF9zZXRfb3BwKQooX3NldF9vcHApIGZyb20gKGRldl9wbV9vcHBfc2V0X29wcCkKKGRldl9wbV9v cHBfc2V0X29wcCkgZnJvbSAodGVncmFfZ2VucGRfc2V0X3BlcmZvcm1hbmNlX3N0YXRlKQoodGVn cmFfZ2VucGRfc2V0X3BlcmZvcm1hbmNlX3N0YXRlKSBmcm9tIChfZ2VucGRfc2V0X3BlcmZvcm1h bmNlX3N0YXRlKQooX2dlbnBkX3NldF9wZXJmb3JtYW5jZV9zdGF0ZSkgZnJvbSAoZGV2X3BtX2dl bnBkX3NldF9wZXJmb3JtYW5jZV9zdGF0ZSkKKGRldl9wbV9nZW5wZF9zZXRfcGVyZm9ybWFuY2Vf c3RhdGUpIGZyb20gKF9zZXRfcmVxdWlyZWRfb3BwKQooX3NldF9yZXF1aXJlZF9vcHApIGZyb20g KF9zZXRfb3BwKQooX3NldF9vcHApIGZyb20gKGRldl9wbV9vcHBfc2V0X3JhdGUpCihkZXZfcG1f b3BwX3NldF9yYXRlKSBmcm9tIChob3N0MXhfcnVudGltZV9yZXN1bWUpCihob3N0MXhfcnVudGlt ZV9yZXN1bWUpIGZyb20gKGdlbnBkX3J1bnRpbWVfcmVzdW1lKQooZ2VucGRfcnVudGltZV9yZXN1 bWUpIGZyb20gKF9fcnBtX2NhbGxiYWNrKQooX19ycG1fY2FsbGJhY2spIGZyb20gKHJwbV9jYWxs YmFjaykKKHJwbV9jYWxsYmFjaykgZnJvbSAocnBtX3Jlc3VtZSkKKHJwbV9yZXN1bWUpIGZyb20g KF9fcG1fcnVudGltZV9yZXN1bWUpCihfX3BtX3J1bnRpbWVfcmVzdW1lKSBmcm9tIChob3N0MXhf cHJvYmUpCihob3N0MXhfcHJvYmUpIGZyb20gKHBsYXRmb3JtX3Byb2JlKQoocGxhdGZvcm1fcHJv YmUpIGZyb20gKHJlYWxseV9wcm9iZSkKKHJlYWxseV9wcm9iZSkgZnJvbSAoZHJpdmVyX3Byb2Jl X2RldmljZSkKKGRyaXZlcl9wcm9iZV9kZXZpY2UpIGZyb20gKGRldmljZV9kcml2ZXJfYXR0YWNo KQooZGV2aWNlX2RyaXZlcl9hdHRhY2gpIGZyb20gKF9fZHJpdmVyX2F0dGFjaCkKKF9fZHJpdmVy X2F0dGFjaCkgZnJvbSAoYnVzX2Zvcl9lYWNoX2RldikKKGJ1c19mb3JfZWFjaF9kZXYpIGZyb20g KGJ1c19hZGRfZHJpdmVyKQooYnVzX2FkZF9kcml2ZXIpIGZyb20gKGRyaXZlcl9yZWdpc3RlcikK KGRyaXZlcl9yZWdpc3RlcikgZnJvbSAoX19wbGF0Zm9ybV9yZWdpc3Rlcl9kcml2ZXJzKQooX19w bGF0Zm9ybV9yZWdpc3Rlcl9kcml2ZXJzKSBmcm9tIChob3N0MXhfbW9kdWxlX2luaXQpCihob3N0 MXhfbW9kdWxlX2luaXQpIGZyb20gKGRvX29uZV9pbml0Y2FsbCkKKGRvX29uZV9pbml0Y2FsbCkg ZnJvbSAoa2VybmVsX2luaXRfZnJlZWFibGUpCihrZXJuZWxfaW5pdF9mcmVlYWJsZSkgZnJvbSAo a2VybmVsX2luaXQpCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwpsaW51eC1hcm0ta2VybmVsIG1haWxpbmcgbGlzdApsaW51eC1hcm0ta2VybmVsQGxpc3Rz LmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5m by9saW51eC1hcm0ta2VybmVsCg==