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=-2.1 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS, 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 EB8B6C352BE for ; Tue, 14 Apr 2020 20:46:31 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id CBEED2076C for ; Tue, 14 Apr 2020 20:46:31 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="qDR+lQnp" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2633362AbgDNUqZ (ORCPT ); Tue, 14 Apr 2020 16:46:25 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:43290 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S2633360AbgDNUqV (ORCPT ); Tue, 14 Apr 2020 16:46:21 -0400 Received: from mail-lj1-x242.google.com (mail-lj1-x242.google.com [IPv6:2a00:1450:4864:20::242]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 63ABCC061A0C; Tue, 14 Apr 2020 13:46:21 -0700 (PDT) Received: by mail-lj1-x242.google.com with SMTP id y4so1311500ljn.7; Tue, 14 Apr 2020 13:46:21 -0700 (PDT) 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=askKkkxXJk/7B022tFBDjGnyvpKGiBG8K0FTOjs5euA=; b=qDR+lQnp8GZU6clIRqeNTpS4EcIwSRn+r50cmd9pOX8dPjUM29BwMm7N2pZP6ElXNs yIF4LVjVNZ/vdB9FY7js5QNVltWXH4WZoBiBSyY8SpIVyJzRwZWQfuyxb5IOeBvgSXo+ 23JpPYKXdJ2N82F25cSVkBc1nPQfn1C2QmDQUrqJNXOyRAoCpxti/7C2jW2yFz4QLYFl 9wq/d/rTyUHbDlig1os6oOE8nD9ZK5KTQU4Yyjuo69IiDI4j7xeDvm96mzsfHfEfHNCB 4Dfznn9gOn7lAiW/3LGHZLCJEEevZdfYBpUMRKkgZ6tDTgLIN7sZfuL3I1Z0joCd/ftW j0jw== 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=askKkkxXJk/7B022tFBDjGnyvpKGiBG8K0FTOjs5euA=; b=KiFyNP+un49M77mYA9uYNBizG7b8qOz8VJf2zy1hMP1cJaniQ8OPG6ncIUcbQIPQlw wpXBR08S3r94KWHi+g143T6Mfe1/Q3fvDVrW9l4xwFTmqaJ+2kMx9EVmwoS3T4jYv1ul r+FELQrEkGpxq1awNlgsbIw1dvhdcESZllJ2gF42njtG1wRqoJ02rfB/91gqF+JHpK2h qY1gPP8TwckXwpoL1I01LU0yCdmWngzykYMcyoQAVbIGDzllTVCrHzxbdWV/5uEDhdVJ 1an4AwKA0r5JefOGOnlgfo03lPlOuk6HXRO5v1BQ6dzXi9zR9QtixCjFhLL7bzgmW5Pc IFoA== X-Gm-Message-State: AGi0PuZbJjtiOnXVjYBNDNbxG2xZg1QxEdedxt0MNC50v1BRenNh53wz UEY65AYzlv9iQTd1uvHTXPc= X-Google-Smtp-Source: APiQypLKpY4Oh1/l6cd1fcyRF3hTmivo0FLa1hS+/dsEpVS65cvkmTQCd7ECNd+sOb4FZlV1oqmO/w== X-Received: by 2002:a05:651c:28a:: with SMTP id b10mr1189106ljo.223.1586897179914; Tue, 14 Apr 2020 13:46:19 -0700 (PDT) Received: from [192.168.2.145] (ppp91-78-208-152.pppoe.mtu-net.ru. [91.78.208.152]) by smtp.googlemail.com with ESMTPSA id n9sm9637458ljo.89.2020.04.14.13.46.18 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 14 Apr 2020 13:46:19 -0700 (PDT) Subject: Re: [PATCH v6 09/14] memory: tegra: Add EMC scaling support code for Tegra210 To: Thierry Reding Cc: Rob Herring , Jon Hunter , Michael Turquette , Stephen Boyd , Joseph Lo , linux-tegra@vger.kernel.org, devicetree@vger.kernel.org, linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org References: <20200409175238.3586487-1-thierry.reding@gmail.com> <20200409175238.3586487-10-thierry.reding@gmail.com> From: Dmitry Osipenko Message-ID: <5616bbe7-d185-1a6a-1fc5-e4ee5d2f65e6@gmail.com> Date: Tue, 14 Apr 2020 23:46:18 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.7.0 MIME-Version: 1.0 In-Reply-To: <20200409175238.3586487-10-thierry.reding@gmail.com> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 8bit Sender: linux-clk-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-clk@vger.kernel.org 09.04.2020 20:52, Thierry Reding пишет: ... > +static void tegra210_change_dll_src(struct tegra210_emc *emc, > + u32 clksrc) > +{ > + u32 dll_setting = emc->next->dll_clk_src; > + u32 emc_clk_src; > + u32 emc_clk_div; > + > + emc_clk_src = (clksrc & EMC_CLK_EMC_2X_CLK_SRC_MASK) >> > + EMC_CLK_EMC_2X_CLK_SRC_SHIFT; > + emc_clk_div = (clksrc & EMC_CLK_EMC_2X_CLK_DIVISOR_MASK) >> > + EMC_CLK_EMC_2X_CLK_DIVISOR_SHIFT; > + > + dll_setting &= ~(DLL_CLK_EMC_DLL_CLK_SRC_MASK | > + DLL_CLK_EMC_DLL_CLK_DIVISOR_MASK); > + dll_setting |= emc_clk_src << DLL_CLK_EMC_DLL_CLK_SRC_SHIFT; > + dll_setting |= emc_clk_div << DLL_CLK_EMC_DLL_CLK_DIVISOR_SHIFT; > + > + dll_setting &= ~DLL_CLK_EMC_DLL_DDLL_CLK_SEL_MASK; > + if (emc_clk_src == EMC_CLK_SOURCE_PLLMB_LJ) > + dll_setting |= (PLLM_VCOB << > + DLL_CLK_EMC_DLL_DDLL_CLK_SEL_SHIFT); > + else if (emc_clk_src == EMC_CLK_SOURCE_PLLM_LJ) > + dll_setting |= (PLLM_VCOA << > + DLL_CLK_EMC_DLL_DDLL_CLK_SEL_SHIFT); > + else > + dll_setting |= (EMC_DLL_SWITCH_OUT << > + DLL_CLK_EMC_DLL_DDLL_CLK_SEL_SHIFT); > + > + tegra210_clk_emc_dll_update_setting(dll_setting); > + > + if (emc->next->clk_out_enb_x_0_clk_enb_emc_dll) > + tegra210_clk_emc_dll_enable(true); > + else > + tegra210_clk_emc_dll_enable(false); Isn't something like fence_udelay(1) needed after touching clk registers? From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dmitry Osipenko Subject: Re: [PATCH v6 09/14] memory: tegra: Add EMC scaling support code for Tegra210 Date: Tue, 14 Apr 2020 23:46:18 +0300 Message-ID: <5616bbe7-d185-1a6a-1fc5-e4ee5d2f65e6@gmail.com> References: <20200409175238.3586487-1-thierry.reding@gmail.com> <20200409175238.3586487-10-thierry.reding@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Return-path: In-Reply-To: <20200409175238.3586487-10-thierry.reding-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> Content-Language: en-US Sender: linux-tegra-owner-u79uwXL29TY76Z2rM5mHXA@public.gmane.org To: Thierry Reding Cc: Rob Herring , Jon Hunter , Michael Turquette , Stephen Boyd , Joseph Lo , linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-clk-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org List-Id: linux-tegra@vger.kernel.org 09.04.2020 20:52, Thierry Reding пишет: ... > +static void tegra210_change_dll_src(struct tegra210_emc *emc, > + u32 clksrc) > +{ > + u32 dll_setting = emc->next->dll_clk_src; > + u32 emc_clk_src; > + u32 emc_clk_div; > + > + emc_clk_src = (clksrc & EMC_CLK_EMC_2X_CLK_SRC_MASK) >> > + EMC_CLK_EMC_2X_CLK_SRC_SHIFT; > + emc_clk_div = (clksrc & EMC_CLK_EMC_2X_CLK_DIVISOR_MASK) >> > + EMC_CLK_EMC_2X_CLK_DIVISOR_SHIFT; > + > + dll_setting &= ~(DLL_CLK_EMC_DLL_CLK_SRC_MASK | > + DLL_CLK_EMC_DLL_CLK_DIVISOR_MASK); > + dll_setting |= emc_clk_src << DLL_CLK_EMC_DLL_CLK_SRC_SHIFT; > + dll_setting |= emc_clk_div << DLL_CLK_EMC_DLL_CLK_DIVISOR_SHIFT; > + > + dll_setting &= ~DLL_CLK_EMC_DLL_DDLL_CLK_SEL_MASK; > + if (emc_clk_src == EMC_CLK_SOURCE_PLLMB_LJ) > + dll_setting |= (PLLM_VCOB << > + DLL_CLK_EMC_DLL_DDLL_CLK_SEL_SHIFT); > + else if (emc_clk_src == EMC_CLK_SOURCE_PLLM_LJ) > + dll_setting |= (PLLM_VCOA << > + DLL_CLK_EMC_DLL_DDLL_CLK_SEL_SHIFT); > + else > + dll_setting |= (EMC_DLL_SWITCH_OUT << > + DLL_CLK_EMC_DLL_DDLL_CLK_SEL_SHIFT); > + > + tegra210_clk_emc_dll_update_setting(dll_setting); > + > + if (emc->next->clk_out_enb_x_0_clk_enb_emc_dll) > + tegra210_clk_emc_dll_enable(true); > + else > + tegra210_clk_emc_dll_enable(false); Isn't something like fence_udelay(1) needed after touching clk registers? 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=-2.0 required=3.0 tests=DKIM_ADSP_CUSTOM_MED, DKIM_SIGNED,DKIM_VALID,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,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 83739C2BB1D for ; Tue, 14 Apr 2020 20:46:26 +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 3FE632064A for ; Tue, 14 Apr 2020 20:46:26 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="YXUy/n8L"; dkim=fail reason="signature verification failed" (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="qDR+lQnp" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 3FE632064A 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+infradead-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=bombadil.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=mqwlB/+AsgkEPn9WQO4eEANMu0uEYtW5ZLDH2JQz7nM=; b=YXUy/n8L9VNp2D aI7xpoOERpDhkAd9cGIuoovt27+obd8G3vW8A4jYxOXRnj1Sra+YPmramZknLRJExUa0KUyVOgUWT MEw/0EvA43rRluyFZkbU1F5tN4UWZTDBVJd5fk26ldIrgz+Oz7DZkNUrfLf68FxATx5cD7VDINiUf EryICSGE1k78l+KPSqIAqK+24uiiia9+O88v5XHtlNzjoN3UxJF70jkK/lW9qvrYpdbIJ79+yo+sd thY0KevzV7+tDLTQlwWF+faM43Tmw6c97UfwF6+OBg56V0ONEecvfX4xpdAI58eK0HlpHiJ180+JB gVkFP9HwEtVrq61RZQ4A==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1jOSRt-0005A7-1F; Tue, 14 Apr 2020 20:46:25 +0000 Received: from mail-lj1-x244.google.com ([2a00:1450:4864:20::244]) by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1jOSRq-00059X-4u for linux-arm-kernel@lists.infradead.org; Tue, 14 Apr 2020 20:46:23 +0000 Received: by mail-lj1-x244.google.com with SMTP id r24so1330671ljd.4 for ; Tue, 14 Apr 2020 13:46:21 -0700 (PDT) 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=askKkkxXJk/7B022tFBDjGnyvpKGiBG8K0FTOjs5euA=; b=qDR+lQnp8GZU6clIRqeNTpS4EcIwSRn+r50cmd9pOX8dPjUM29BwMm7N2pZP6ElXNs yIF4LVjVNZ/vdB9FY7js5QNVltWXH4WZoBiBSyY8SpIVyJzRwZWQfuyxb5IOeBvgSXo+ 23JpPYKXdJ2N82F25cSVkBc1nPQfn1C2QmDQUrqJNXOyRAoCpxti/7C2jW2yFz4QLYFl 9wq/d/rTyUHbDlig1os6oOE8nD9ZK5KTQU4Yyjuo69IiDI4j7xeDvm96mzsfHfEfHNCB 4Dfznn9gOn7lAiW/3LGHZLCJEEevZdfYBpUMRKkgZ6tDTgLIN7sZfuL3I1Z0joCd/ftW j0jw== 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=askKkkxXJk/7B022tFBDjGnyvpKGiBG8K0FTOjs5euA=; b=VHoh0T6OO0s76KN1OgvP/+WBu17Bn2aSecRlAt/KUJqrsGjPJICv5JuLuAeu9thi0S NLsxQJiaj0X0w1yqKsw2Yi08ofU1lXxId4Igg5Uk/9UvV1TLylc7+3LcAOH79UtbNMiO GL4nCewgmbfKcTBDgTgzqnAF+8nfjJpYINBDg5fi4mzo4MnU0zphxH/TgbVpoqpiStmv q/MwEK8flskDMj5FKg2pNw1+uIHfFIlpaSg9aXHH+9WwElnEYghlBFQ4N+C+GkzoR8E+ xnNfndLZfTV6Zx4mbOOdtQUf3FQEB42tI8odnJ5BfWQaTF0HUo/QgvNJ/MGx/WGfa70y JKJQ== X-Gm-Message-State: AGi0PubkVggUR3ilpIs0qz+H83hoxtRyuQwHJzxZMjOnl+VjNl0PoPLd C+WKLt3E/BguWMO1Cu+UVIH/Fn4O X-Google-Smtp-Source: APiQypLKpY4Oh1/l6cd1fcyRF3hTmivo0FLa1hS+/dsEpVS65cvkmTQCd7ECNd+sOb4FZlV1oqmO/w== X-Received: by 2002:a05:651c:28a:: with SMTP id b10mr1189106ljo.223.1586897179914; Tue, 14 Apr 2020 13:46:19 -0700 (PDT) Received: from [192.168.2.145] (ppp91-78-208-152.pppoe.mtu-net.ru. [91.78.208.152]) by smtp.googlemail.com with ESMTPSA id n9sm9637458ljo.89.2020.04.14.13.46.18 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 14 Apr 2020 13:46:19 -0700 (PDT) Subject: Re: [PATCH v6 09/14] memory: tegra: Add EMC scaling support code for Tegra210 To: Thierry Reding References: <20200409175238.3586487-1-thierry.reding@gmail.com> <20200409175238.3586487-10-thierry.reding@gmail.com> From: Dmitry Osipenko Message-ID: <5616bbe7-d185-1a6a-1fc5-e4ee5d2f65e6@gmail.com> Date: Tue, 14 Apr 2020 23:46:18 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.7.0 MIME-Version: 1.0 In-Reply-To: <20200409175238.3586487-10-thierry.reding@gmail.com> Content-Language: en-US X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20200414_134622_213460_1740DCA5 X-CRM114-Status: GOOD ( 11.64 ) 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: devicetree@vger.kernel.org, Stephen Boyd , Michael Turquette , Jon Hunter , Rob Herring , Joseph Lo , linux-tegra@vger.kernel.org, linux-clk@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+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org MDkuMDQuMjAyMCAyMDo1MiwgVGhpZXJyeSBSZWRpbmcg0L/QuNGI0LXRgjoKLi4uCj4gK3N0YXRp YyB2b2lkIHRlZ3JhMjEwX2NoYW5nZV9kbGxfc3JjKHN0cnVjdCB0ZWdyYTIxMF9lbWMgKmVtYywK PiArCQkJCSAgICB1MzIgY2xrc3JjKQo+ICt7Cj4gKwl1MzIgZGxsX3NldHRpbmcgPSBlbWMtPm5l eHQtPmRsbF9jbGtfc3JjOwo+ICsJdTMyIGVtY19jbGtfc3JjOwo+ICsJdTMyIGVtY19jbGtfZGl2 Owo+ICsKPiArCWVtY19jbGtfc3JjID0gKGNsa3NyYyAmIEVNQ19DTEtfRU1DXzJYX0NMS19TUkNf TUFTSykgPj4KPiArCQkgICAgICAgRU1DX0NMS19FTUNfMlhfQ0xLX1NSQ19TSElGVDsKPiArCWVt Y19jbGtfZGl2ID0gKGNsa3NyYyAmIEVNQ19DTEtfRU1DXzJYX0NMS19ESVZJU09SX01BU0spID4+ Cj4gKwkJICAgICAgIEVNQ19DTEtfRU1DXzJYX0NMS19ESVZJU09SX1NISUZUOwo+ICsKPiArCWRs bF9zZXR0aW5nICY9IH4oRExMX0NMS19FTUNfRExMX0NMS19TUkNfTUFTSyB8Cj4gKwkJCSBETExf Q0xLX0VNQ19ETExfQ0xLX0RJVklTT1JfTUFTSyk7Cj4gKwlkbGxfc2V0dGluZyB8PSBlbWNfY2xr X3NyYyA8PCBETExfQ0xLX0VNQ19ETExfQ0xLX1NSQ19TSElGVDsKPiArCWRsbF9zZXR0aW5nIHw9 IGVtY19jbGtfZGl2IDw8IERMTF9DTEtfRU1DX0RMTF9DTEtfRElWSVNPUl9TSElGVDsKPiArCj4g KwlkbGxfc2V0dGluZyAmPSB+RExMX0NMS19FTUNfRExMX0RETExfQ0xLX1NFTF9NQVNLOwo+ICsJ aWYgKGVtY19jbGtfc3JjID09IEVNQ19DTEtfU09VUkNFX1BMTE1CX0xKKQo+ICsJCWRsbF9zZXR0 aW5nIHw9IChQTExNX1ZDT0IgPDwKPiArCQkJCURMTF9DTEtfRU1DX0RMTF9ERExMX0NMS19TRUxf U0hJRlQpOwo+ICsJZWxzZSBpZiAoZW1jX2Nsa19zcmMgPT0gRU1DX0NMS19TT1VSQ0VfUExMTV9M SikKPiArCQlkbGxfc2V0dGluZyB8PSAoUExMTV9WQ09BIDw8Cj4gKwkJCQlETExfQ0xLX0VNQ19E TExfRERMTF9DTEtfU0VMX1NISUZUKTsKPiArCWVsc2UKPiArCQlkbGxfc2V0dGluZyB8PSAoRU1D X0RMTF9TV0lUQ0hfT1VUIDw8Cj4gKwkJCQlETExfQ0xLX0VNQ19ETExfRERMTF9DTEtfU0VMX1NI SUZUKTsKPiArCj4gKwl0ZWdyYTIxMF9jbGtfZW1jX2RsbF91cGRhdGVfc2V0dGluZyhkbGxfc2V0 dGluZyk7Cj4gKwo+ICsJaWYgKGVtYy0+bmV4dC0+Y2xrX291dF9lbmJfeF8wX2Nsa19lbmJfZW1j X2RsbCkKPiArCQl0ZWdyYTIxMF9jbGtfZW1jX2RsbF9lbmFibGUodHJ1ZSk7Cj4gKwllbHNlCj4g KwkJdGVncmEyMTBfY2xrX2VtY19kbGxfZW5hYmxlKGZhbHNlKTsKCklzbid0IHNvbWV0aGluZyBs aWtlIGZlbmNlX3VkZWxheSgxKSBuZWVkZWQgYWZ0ZXIgdG91Y2hpbmcgY2xrIHJlZ2lzdGVycz8K Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmxpbnV4LWFy bS1rZXJuZWwgbWFpbGluZyBsaXN0CmxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9y ZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFybS1r ZXJuZWwK