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=-3.8 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_PASS, URIBL_BLOCKED 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 AE04EC10F0E for ; Mon, 15 Apr 2019 13:02:24 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 7F6D12064A for ; Mon, 15 Apr 2019 13:02:24 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="bDWXaf84" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727555AbfDONCX (ORCPT ); Mon, 15 Apr 2019 09:02:23 -0400 Received: from mail-io1-f67.google.com ([209.85.166.67]:34009 "EHLO mail-io1-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727214AbfDONCX (ORCPT ); Mon, 15 Apr 2019 09:02:23 -0400 Received: by mail-io1-f67.google.com with SMTP id n11so14467586ioh.1; Mon, 15 Apr 2019 06:02:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=sFM+qsI5/6bYFnc1EZQHLAcVqYKJhjMvjztdQS7uHX4=; b=bDWXaf84R7HM51lgL5G0BQmAqV2KC689QZDuAPxEvG2MqltsthqE8lpy68zMHFqjvw B64C19wY4vPo+r8gziWGnhvnwMujTihoOw43luhSgleBIkN9+0xtYep8TdnRN478Pj9p Q0HWaoRa6Lw4AWVOzQm4kweQ+DBEUVbt92A/Q74XKCbwm6v+0m5KewhM+XYdyVVAMGRR Xi6+IOEmBhnwuJSNSxV07w+6SRYoNy5xw11Sp3TmN/oi7pO32/7qNXPB5F8W7hzTvs73 /yRKdjOuf6xjipYIjQ0rcRCjhafgIZ08KLlwTgWYJj1IxgoSBC4yi7HGRjcyAJ0Xkd6i 54QQ== 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=sFM+qsI5/6bYFnc1EZQHLAcVqYKJhjMvjztdQS7uHX4=; b=PiGA+iL28W5DJ6O2ng+ICbGFZjyfSLkMWPgJoFgLTTc+ek2OZjkmS/nIQp5h7UOaCM BSgcKthkhnzA0Rlp8gLpZQLSXtntTr49DwEbdqr/G0Hv1+zMZF14jzJkEEqQvdO7osY4 xZLupTfzxAiOmUceO4Tkn2PnHqa3Cmfee0uQsvVXEw1PQWRqhxoFh1TfPVgbFvaM8fjW mSriKwuHjt5IR04c/VWkU1DyTshuu7CrF8blpqk6OigebZy6Y/lVk7SGcZej2XMdCtOI QTIp+I31rWAHu1A99bB+Vxg7JSPv+ExoSnIMUwhTCfadTTGqHFNYYd5GHDvPLigpWaGJ j7Ug== X-Gm-Message-State: APjAAAV4bxvHDpur+pLKyNwLyNjLEBErjax3WoedZm+e2wULbKJM/DeV AQBRl3DdsqmfPaz6x7eNWIUDolSM48crWY76nh8= X-Google-Smtp-Source: APXvYqx8VYoGqiD59hm30siuS9kEuOHoJrweWaziiY253mPCKX9WKVxVds99pDJkyehuVA32rGh1xZlGLzvT3HKdyKk= X-Received: by 2002:a6b:e61a:: with SMTP id g26mr48126044ioh.105.1555333341766; Mon, 15 Apr 2019 06:02:21 -0700 (PDT) MIME-Version: 1.0 References: <20190408075924.2284-1-brgl@bgdev.pl> <20190408075924.2284-2-brgl@bgdev.pl> <5f72a26b-428a-c50e-cb6a-7c888ea22329@ti.com> <3f6c906b-53b0-8284-bf4d-9b404f341e7b@ti.com> <6ff5711c-b607-1f3a-e362-709b53762179@ti.com> In-Reply-To: From: Adam Ford Date: Mon, 15 Apr 2019 08:02:10 -0500 Message-ID: Subject: Re: [PATCH v3 1/3] ARM: dts: da850: add cpu node and operating points to DT To: Bartosz Golaszewski Cc: Sekhar Nori , Bartosz Golaszewski , Kevin Hilman , Rob Herring , Mark Rutland , David Lechner , Linux ARM , devicetree , Linux Kernel Mailing List Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, Apr 15, 2019 at 6:55 AM Bartosz Golaszewski wrote: > > pon., 15 kwi 2019 o 12:21 Sekhar Nori napisa=C5=82(a): > > > > On 12/04/19 9:01 PM, Bartosz Golaszewski wrote: > > > pt., 12 kwi 2019 o 15:53 Sekhar Nori napisa=C5=82(a)= : > > >> > > >> On 12/04/19 5:41 PM, Bartosz Golaszewski wrote: > > >>> pt., 12 kwi 2019 o 13:26 Sekhar Nori napisa=C5=82(= a): > > >>>> > > >>>> Hi Bartosz, > > >>>> > > >>>> On 08/04/19 1:29 PM, Bartosz Golaszewski wrote: > > >>>>> From: David Lechner > > >>>>> > > >>>>> This adds a cpu node and operating points to the common da850.dts= i file. > > >>>>> > > >>>>> Additionally, a regulator is added to the LEGO EV3 board along wi= th > > >>>>> some board-specific CPU configuration. > > >>>>> > > >>>>> Regulators need to be hooked up on other boards to get them worki= ng. > > >>>>> > > >>>>> Signed-off-by: David Lechner > > >>>>> Signed-off-by: Bartosz Golaszewski > > >>>> > > >>>> I remember you mentioning about some problems using OCHI and cpufr= eq > > >>>> together. Are those resolved now? CPU PLL on DA850 can affect othe= r > > >>>> peripheral clock frequencies too. So enabling it should really be = a > > >>>> per-board decision. > > >>>> > > >>> > > >>> The problems are still there. I've never been able to find the > > >>> culprit, but it also occurs on TI BSP in the same way (a couple > > >>> cpufreq transitions will make the controller unresponsive). > > >> > > >> Is that on LCDK as well? As I recall cpufreq was never enabled on LC= DK > > >> in TI BSP. > > >> > > > > > > Yes, I just verified that the bug occurs on LCDK with patches from th= is series. > > > > > >> If the OHCI problem is present on LCDK, then there is a user visible > > >> regression on mainline after this patch. Lets enable cpufreq in LCDK > > >> only if all working peripherals keep working afterwards. > > >> > > > > > > The OHCI driver doesn't register any cpufreq transition notifier > > > callbacks. I can't really find anything in the datasheet, but I'm > > > wondering if we shouldn't do something similar to what the driver for > > > davinci i2c controller does. I'll try a couple things tomorrow. > > > > Even if OHCI issue is fixed, with a fixed regulator like on LCDK, I am > > not sure the benefits of just frequency scaling will be justifiable eno= ugh. > > > > Fixing the OHCI issue may help in other boards like da850-evm use it > > though. So that will be a good thing. > > > > How do you feel about keeping all OPPs disabled by default in da850.dts= i > > and enabling only the ones that make sense for a board in .dts? > > > > Empty OPP table is illegal, so this does mean that every board must > > enable at least one OPP. > > > > I guess in that case we'd need to make 300 MHz the default for > da850-evm, but on da850-lcdk I'd go for 456 MHz (due to the regulator > being fixed anyway). Based on what I've seen of your V4 patch, I think it's fine to let the da850-evm run at 375. I am not sure why it would need to be default to 300. I agree that the cpu-supply is correctly referencing vdcdc3_reg, and it's currently setup to handle .95 to 1.35V, which I think is OK based on what I've seen and the OPP's look right from what I can tell. adam > > Bart 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=-3.7 required=3.0 tests=DKIM_ADSP_CUSTOM_MED, DKIM_SIGNED,DKIM_VALID,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_PASS, URIBL_BLOCKED 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 8ED5DC10F0E for ; Mon, 15 Apr 2019 13:02:41 +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 610A720818 for ; Mon, 15 Apr 2019 13:02:41 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="fF+3AAEZ"; dkim=fail reason="signature verification failed" (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="bDWXaf84" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 610A720818 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: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=2M/7ujpQSaV/I+TV67s44ArfB/0r3yV4glThKMjeWDE=; b=fF+3AAEZvHy+ng svDjNEzf0kGB1n2DMfucteGL7t0qT9aHe52JNw3YtOMY4zTjvT43+OBwnOjgRvUFEbdaAsQXz2rVN 5xeUmoSVkXqaQ3XLFA9JUegPJWSdpNncw7ytSpaShfH1wIOH75hq1EALb3a3QAfpOyD17KLhRRzjM FuJ5Laz5ltA/piGn/nBHlah1Z7vJQISECTeS+c0MqXHwGuiQzuCmzPByqaDxJLKCjinAZ4gNOJTH/ 1mOEYfqy+OK+XzAywn4QBsAWYRub742GEBHlN+cJx7BUzdho2QhQwJKmQPdPJdKXmyBPe39YNUzhG gd9ftWViJAPKVPwGp43A==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux)) id 1hG1Fq-00036X-PZ; Mon, 15 Apr 2019 13:02:34 +0000 Received: from mail-io1-xd42.google.com ([2607:f8b0:4864:20::d42]) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1hG1Ff-000348-BQ for linux-arm-kernel@lists.infradead.org; Mon, 15 Apr 2019 13:02:29 +0000 Received: by mail-io1-xd42.google.com with SMTP id f6so14466439iop.3 for ; Mon, 15 Apr 2019 06:02:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=sFM+qsI5/6bYFnc1EZQHLAcVqYKJhjMvjztdQS7uHX4=; b=bDWXaf84R7HM51lgL5G0BQmAqV2KC689QZDuAPxEvG2MqltsthqE8lpy68zMHFqjvw B64C19wY4vPo+r8gziWGnhvnwMujTihoOw43luhSgleBIkN9+0xtYep8TdnRN478Pj9p Q0HWaoRa6Lw4AWVOzQm4kweQ+DBEUVbt92A/Q74XKCbwm6v+0m5KewhM+XYdyVVAMGRR Xi6+IOEmBhnwuJSNSxV07w+6SRYoNy5xw11Sp3TmN/oi7pO32/7qNXPB5F8W7hzTvs73 /yRKdjOuf6xjipYIjQ0rcRCjhafgIZ08KLlwTgWYJj1IxgoSBC4yi7HGRjcyAJ0Xkd6i 54QQ== 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=sFM+qsI5/6bYFnc1EZQHLAcVqYKJhjMvjztdQS7uHX4=; b=VfOMfOckX5bXEB0cYU/YY+GBXIrRCRcL/X0fOBXSOmpsdlChWkJ1PpeBirPV9S5gNm goj7Osk6XDn0U4TS5g2/adNvEUTVsDYKmnNXXDkguF312awP5Mp1GRMMCIdMz/urRU74 PuxZk/vjdmYRwpR7n/Fu3QuT+6cvlgpWDhb1oMeTnEEC9aiE2NVcZf+EWHmiftZMaU7n MLPmksB0eDAdq/DiKVPXlA8cNqu2gik3lSAyIsvifOL6aqiTr5ZQYMq5xygZL32vNT4G S+qh8CM5f4r9PTNSwLYLnIOnGGrdUiqByL3Q+GUfKleSYNQuThVqU+IifBQbn54Fralj D7Jg== X-Gm-Message-State: APjAAAUZPqducYWhsNO79pxY4UypNW+hJxxemoIydcpODe70T7AQ4ALO Mtxavi/rMFB5fDnRMFXkBo1ou3jIk+rFwYxUh64= X-Google-Smtp-Source: APXvYqx8VYoGqiD59hm30siuS9kEuOHoJrweWaziiY253mPCKX9WKVxVds99pDJkyehuVA32rGh1xZlGLzvT3HKdyKk= X-Received: by 2002:a6b:e61a:: with SMTP id g26mr48126044ioh.105.1555333341766; Mon, 15 Apr 2019 06:02:21 -0700 (PDT) MIME-Version: 1.0 References: <20190408075924.2284-1-brgl@bgdev.pl> <20190408075924.2284-2-brgl@bgdev.pl> <5f72a26b-428a-c50e-cb6a-7c888ea22329@ti.com> <3f6c906b-53b0-8284-bf4d-9b404f341e7b@ti.com> <6ff5711c-b607-1f3a-e362-709b53762179@ti.com> In-Reply-To: From: Adam Ford Date: Mon, 15 Apr 2019 08:02:10 -0500 Message-ID: Subject: Re: [PATCH v3 1/3] ARM: dts: da850: add cpu node and operating points to DT To: Bartosz Golaszewski X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20190415_060223_514326_465E562E X-CRM114-Status: GOOD ( 30.56 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Mark Rutland , devicetree , David Lechner , Kevin Hilman , Bartosz Golaszewski , Sekhar Nori , Linux Kernel Mailing List , Rob Herring , Linux ARM 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 T24gTW9uLCBBcHIgMTUsIDIwMTkgYXQgNjo1NSBBTSBCYXJ0b3N6IEdvbGFzemV3c2tpCjxiZ29s YXN6ZXdza2lAYmF5bGlicmUuY29tPiB3cm90ZToKPgo+IHBvbi4sIDE1IGt3aSAyMDE5IG8gMTI6 MjEgU2VraGFyIE5vcmkgPG5zZWtoYXJAdGkuY29tPiBuYXBpc2HFgihhKToKPiA+Cj4gPiBPbiAx Mi8wNC8xOSA5OjAxIFBNLCBCYXJ0b3N6IEdvbGFzemV3c2tpIHdyb3RlOgo+ID4gPiBwdC4sIDEy IGt3aSAyMDE5IG8gMTU6NTMgU2VraGFyIE5vcmkgPG5zZWtoYXJAdGkuY29tPiBuYXBpc2HFgihh KToKPiA+ID4+Cj4gPiA+PiBPbiAxMi8wNC8xOSA1OjQxIFBNLCBCYXJ0b3N6IEdvbGFzemV3c2tp IHdyb3RlOgo+ID4gPj4+IHB0LiwgMTIga3dpIDIwMTkgbyAxMzoyNiBTZWtoYXIgTm9yaSA8bnNl a2hhckB0aS5jb20+IG5hcGlzYcWCKGEpOgo+ID4gPj4+Pgo+ID4gPj4+PiBIaSBCYXJ0b3N6LAo+ ID4gPj4+Pgo+ID4gPj4+PiBPbiAwOC8wNC8xOSAxOjI5IFBNLCBCYXJ0b3N6IEdvbGFzemV3c2tp IHdyb3RlOgo+ID4gPj4+Pj4gRnJvbTogRGF2aWQgTGVjaG5lciA8ZGF2aWRAbGVjaG5vbG9neS5j b20+Cj4gPiA+Pj4+Pgo+ID4gPj4+Pj4gVGhpcyBhZGRzIGEgY3B1IG5vZGUgYW5kIG9wZXJhdGlu ZyBwb2ludHMgdG8gdGhlIGNvbW1vbiBkYTg1MC5kdHNpIGZpbGUuCj4gPiA+Pj4+Pgo+ID4gPj4+ Pj4gQWRkaXRpb25hbGx5LCBhIHJlZ3VsYXRvciBpcyBhZGRlZCB0byB0aGUgTEVHTyBFVjMgYm9h cmQgYWxvbmcgd2l0aAo+ID4gPj4+Pj4gc29tZSBib2FyZC1zcGVjaWZpYyBDUFUgY29uZmlndXJh dGlvbi4KPiA+ID4+Pj4+Cj4gPiA+Pj4+PiBSZWd1bGF0b3JzIG5lZWQgdG8gYmUgaG9va2VkIHVw IG9uIG90aGVyIGJvYXJkcyB0byBnZXQgdGhlbSB3b3JraW5nLgo+ID4gPj4+Pj4KPiA+ID4+Pj4+ IFNpZ25lZC1vZmYtYnk6IERhdmlkIExlY2huZXIgPGRhdmlkQGxlY2hub2xvZ3kuY29tPgo+ID4g Pj4+Pj4gU2lnbmVkLW9mZi1ieTogQmFydG9zeiBHb2xhc3pld3NraSA8YmdvbGFzemV3c2tpQGJh eWxpYnJlLmNvbT4KPiA+ID4+Pj4KPiA+ID4+Pj4gSSByZW1lbWJlciB5b3UgbWVudGlvbmluZyBh Ym91dCBzb21lIHByb2JsZW1zIHVzaW5nIE9DSEkgYW5kIGNwdWZyZXEKPiA+ID4+Pj4gdG9nZXRo ZXIuIEFyZSB0aG9zZSByZXNvbHZlZCBub3c/IENQVSBQTEwgb24gREE4NTAgY2FuIGFmZmVjdCBv dGhlcgo+ID4gPj4+PiBwZXJpcGhlcmFsIGNsb2NrIGZyZXF1ZW5jaWVzIHRvby4gU28gZW5hYmxp bmcgaXQgc2hvdWxkIHJlYWxseSBiZSBhCj4gPiA+Pj4+IHBlci1ib2FyZCBkZWNpc2lvbi4KPiA+ ID4+Pj4KPiA+ID4+Pgo+ID4gPj4+IFRoZSBwcm9ibGVtcyBhcmUgc3RpbGwgdGhlcmUuIEkndmUg bmV2ZXIgYmVlbiBhYmxlIHRvIGZpbmQgdGhlCj4gPiA+Pj4gY3VscHJpdCwgYnV0IGl0IGFsc28g b2NjdXJzIG9uIFRJIEJTUCBpbiB0aGUgc2FtZSB3YXkgKGEgY291cGxlCj4gPiA+Pj4gY3B1ZnJl cSB0cmFuc2l0aW9ucyB3aWxsIG1ha2UgdGhlIGNvbnRyb2xsZXIgdW5yZXNwb25zaXZlKS4KPiA+ ID4+Cj4gPiA+PiBJcyB0aGF0IG9uIExDREsgYXMgd2VsbD8gQXMgSSByZWNhbGwgY3B1ZnJlcSB3 YXMgbmV2ZXIgZW5hYmxlZCBvbiBMQ0RLCj4gPiA+PiBpbiBUSSBCU1AuCj4gPiA+Pgo+ID4gPgo+ ID4gPiBZZXMsIEkganVzdCB2ZXJpZmllZCB0aGF0IHRoZSBidWcgb2NjdXJzIG9uIExDREsgd2l0 aCBwYXRjaGVzIGZyb20gdGhpcyBzZXJpZXMuCj4gPiA+Cj4gPiA+PiBJZiB0aGUgT0hDSSBwcm9i bGVtIGlzIHByZXNlbnQgb24gTENESywgdGhlbiB0aGVyZSBpcyBhIHVzZXIgdmlzaWJsZQo+ID4g Pj4gcmVncmVzc2lvbiBvbiBtYWlubGluZSBhZnRlciB0aGlzIHBhdGNoLiBMZXRzIGVuYWJsZSBj cHVmcmVxIGluIExDREsKPiA+ID4+IG9ubHkgaWYgYWxsIHdvcmtpbmcgcGVyaXBoZXJhbHMga2Vl cCB3b3JraW5nIGFmdGVyd2FyZHMuCj4gPiA+Pgo+ID4gPgo+ID4gPiBUaGUgT0hDSSBkcml2ZXIg ZG9lc24ndCByZWdpc3RlciBhbnkgY3B1ZnJlcSB0cmFuc2l0aW9uIG5vdGlmaWVyCj4gPiA+IGNh bGxiYWNrcy4gSSBjYW4ndCByZWFsbHkgZmluZCBhbnl0aGluZyBpbiB0aGUgZGF0YXNoZWV0LCBi dXQgSSdtCj4gPiA+IHdvbmRlcmluZyBpZiB3ZSBzaG91bGRuJ3QgZG8gc29tZXRoaW5nIHNpbWls YXIgdG8gd2hhdCB0aGUgZHJpdmVyIGZvcgo+ID4gPiBkYXZpbmNpIGkyYyBjb250cm9sbGVyIGRv ZXMuIEknbGwgdHJ5IGEgY291cGxlIHRoaW5ncyB0b21vcnJvdy4KPiA+Cj4gPiBFdmVuIGlmIE9I Q0kgaXNzdWUgaXMgZml4ZWQsIHdpdGggYSBmaXhlZCByZWd1bGF0b3IgbGlrZSBvbiBMQ0RLLCBJ IGFtCj4gPiBub3Qgc3VyZSB0aGUgYmVuZWZpdHMgb2YganVzdCBmcmVxdWVuY3kgc2NhbGluZyB3 aWxsIGJlIGp1c3RpZmlhYmxlIGVub3VnaC4KPiA+Cj4gPiBGaXhpbmcgdGhlIE9IQ0kgaXNzdWUg bWF5IGhlbHAgaW4gb3RoZXIgYm9hcmRzIGxpa2UgZGE4NTAtZXZtIHVzZSBpdAo+ID4gdGhvdWdo LiBTbyB0aGF0IHdpbGwgYmUgYSBnb29kIHRoaW5nLgo+ID4KPiA+IEhvdyBkbyB5b3UgZmVlbCBh Ym91dCBrZWVwaW5nIGFsbCBPUFBzIGRpc2FibGVkIGJ5IGRlZmF1bHQgaW4gZGE4NTAuZHRzaQo+ ID4gYW5kIGVuYWJsaW5nIG9ubHkgdGhlIG9uZXMgdGhhdCBtYWtlIHNlbnNlIGZvciBhIGJvYXJk IGluIDxib2FyZD4uZHRzPwo+ID4KPiA+IEVtcHR5IE9QUCB0YWJsZSBpcyBpbGxlZ2FsLCBzbyB0 aGlzIGRvZXMgbWVhbiB0aGF0IGV2ZXJ5IGJvYXJkIG11c3QKPiA+IGVuYWJsZSBhdCBsZWFzdCBv bmUgT1BQLgo+ID4KPgo+IEkgZ3Vlc3MgaW4gdGhhdCBjYXNlIHdlJ2QgbmVlZCB0byBtYWtlIDMw MCBNSHogdGhlIGRlZmF1bHQgZm9yCj4gZGE4NTAtZXZtLCBidXQgb24gZGE4NTAtbGNkayBJJ2Qg Z28gZm9yIDQ1NiBNSHogKGR1ZSB0byB0aGUgcmVndWxhdG9yCj4gYmVpbmcgZml4ZWQgYW55d2F5 KS4KCkJhc2VkIG9uIHdoYXQgSSd2ZSBzZWVuIG9mIHlvdXIgVjQgcGF0Y2gsIEkgdGhpbmsgaXQn cyBmaW5lIHRvIGxldCB0aGUKZGE4NTAtZXZtIHJ1biBhdCAzNzUuICBJIGFtIG5vdCBzdXJlIHdo eSBpdCB3b3VsZCBuZWVkIHRvIGJlIGRlZmF1bHQKdG8gMzAwLgpJIGFncmVlIHRoYXQgdGhlIGNw dS1zdXBwbHkgaXMgY29ycmVjdGx5IHJlZmVyZW5jaW5nIHZkY2RjM19yZWcsIGFuZAppdCdzIGN1 cnJlbnRseSBzZXR1cCB0byBoYW5kbGUgLjk1IHRvIDEuMzVWLCB3aGljaCBJIHRoaW5rIGlzIE9L IGJhc2VkCm9uIHdoYXQgSSd2ZSBzZWVuIGFuZCB0aGUgT1BQJ3MgbG9vayByaWdodCBmcm9tIHdo YXQgSSBjYW4gdGVsbC4KCmFkYW0KPgo+IEJhcnQKCl9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fCmxpbnV4LWFybS1rZXJuZWwgbWFpbGluZyBsaXN0CmxpbnV4 LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9y Zy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFybS1rZXJuZWwK