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 31179C77B61 for ; Tue, 25 Apr 2023 08:40:54 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233544AbjDYIkw (ORCPT ); Tue, 25 Apr 2023 04:40:52 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:57748 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234005AbjDYIkB (ORCPT ); Tue, 25 Apr 2023 04:40:01 -0400 Received: from mail-ed1-x52b.google.com (mail-ed1-x52b.google.com [IPv6:2a00:1450:4864:20::52b]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A2D86146DF for ; Tue, 25 Apr 2023 01:38:09 -0700 (PDT) Received: by mail-ed1-x52b.google.com with SMTP id 4fb4d7f45d1cf-506bdf29712so40988249a12.0 for ; Tue, 25 Apr 2023 01:38:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre-com.20221208.gappssmtp.com; s=20221208; t=1682411837; x=1685003837; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=pJCGkPHoGSFZY63Jqk/nlt1gBwH2vblI+IkzLVWvpyw=; b=qwfqHUkBa7MLPI/9HCXNiZc76W0GkP5Ath0jV1H3+r0utDr49cmvw5UBWdJ69LgKbI kQAEOU9N2BqTGmrCaEK/vo0+T2JHyTap65Pq9oze1UpbpGCFnftJil9yx/8njN5kiEbS 2raHHC5Ci+xvifegJ4Syjenb6nDAyBcRf6fmloy9SGRJxifER74ESVUGSoWIpG65im6w jV4TwQDS+0Kjl6VkVvcV5v48L3ufniarmCglJzgwvS2qUkPUC3pk6xZkn7eyc6w5vfhh 9ttyNT8VXpKD+/vNpQmAWEcvpBd3hq2oWqHDW8GxTuOLilBbBEvdAIYMmqXhQLvGRmOP IfdA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1682411837; x=1685003837; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=pJCGkPHoGSFZY63Jqk/nlt1gBwH2vblI+IkzLVWvpyw=; b=igg/uaUGc8aaMXd1/PNapf8Gd9ChChygjKFUFqIkeN4m7AqYfjAV8jt02kCsvp77W3 PHy2JPuE2yrLaw7/Gq/LRw4Xiv1oOzqcobF0pOhd5Fy107JWo+6W3ZFlqhbjyNCAFAP/ H9y4Exk+DULv8wnkC2j2b2ii1TwtgpE4H2R0eVy7c84RqscN+fpa2z18Z47Zzl0aqdbO krX70d4Rei1HfJbNn3TPFKGYCTxlyQ8YMl82KaZXBwzhQn83L9VIwlfEeohjCglUpIY6 gWvcl8swGgy7zxude9Y/MjYcLRm9/VQt96Obzr0rYngddojJTIYyy+s7rKlrX+DINZQm puHQ== X-Gm-Message-State: AAQBX9cAouN+IcfQtjvzHUYRqaOoe3OXIy8FAI+1jdRwPsSQVuNSU3tD crFldOSgHZ7BWKSlRNtRZxTwXdZ/0YxQqs9bCjLCXA== X-Google-Smtp-Source: AKy350ZzCimN5VBMy4odr40aNaphS9WPL5s1QsFomwpin6cX6Jv2A3zwror5ZbdEtmZc6/prsBRh7o0cC4Z0CxnVDwY= X-Received: by 2002:aa7:c84d:0:b0:504:b11e:8cfb with SMTP id g13-20020aa7c84d000000b00504b11e8cfbmr15104412edt.13.1682411837571; Tue, 25 Apr 2023 01:37:17 -0700 (PDT) MIME-Version: 1.0 References: <20230307163413.143334-1-bchihi@baylibre.com> In-Reply-To: From: Balsam CHIHI Date: Tue, 25 Apr 2023 10:36:41 +0200 Message-ID: Subject: Re: [PATCH 0/4] Add LVTS support for mt8192 To: =?UTF-8?B?TsOtY29sYXMgRi4gUi4gQS4gUHJhZG8=?= Cc: Chen-Yu Tsai , daniel.lezcano@linaro.org, angelogioacchino.delregno@collabora.com, rafael@kernel.org, amitk@kernel.org, rui.zhang@intel.com, matthias.bgg@gmail.com, robh+dt@kernel.org, krzysztof.kozlowski+dt@linaro.org, rdunlap@infradead.org, ye.xingchen@zte.com.cn, p.zabel@pengutronix.de, linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, devicetree@vger.kernel.org, khilman@baylibre.com, james.lo@mediatek.com, rex-bc.chen@mediatek.com 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 Tue, Apr 25, 2023 at 12:21=E2=80=AFAM N=C3=ADcolas F. R. A. Prado wrote: > > On Tue, Mar 28, 2023 at 02:20:24AM +0200, Balsam CHIHI wrote: > > On Sat, Mar 25, 2023 at 5:33=E2=80=AFAM Chen-Yu Tsai wrote: > > > > > > On Wed, Mar 22, 2023 at 8:48=E2=80=AFPM Balsam CHIHI wrote: > > > > > > > > Hi Chen-Yu, > > > > > > > > I suspect the bug comes from incorrect calibration data offsets for= AP > > > > Domain because you confirm that MCU Domain probe runs without issue= s. > > > > Is it possible to test something for us to confirm this theory (i > > > > don't have an mt8192 board on hand now), when you have the time of > > > > course? > > > > We would like to test AP Domain's calibration data offsets with a > > > > working one, for example : > > > > > > > > static const struct lvts_ctrl_data mt8192_lvts_ap_data_ctrl[] =3D = { > > > > { > > > > - .cal_offset =3D { 0x25, 0x28 }, > > > > + .cal_offset =3D { 0x04, 0x04 }, > > > > .lvts_sensor =3D { > > > > { .dt_id =3D MT8192_AP_VPU0 }, > > > > { .dt_id =3D MT8192_AP_VPU1 } > > > > @@ -1336,7 +1336,7 @@ static const struct lvts_ctrl_data > [..] > > > > > > > > This example is tested and works for mt8195, > > > > (all sensors use the same calibration data offset for testing purpo= ses). > > > > > > > > Thank you in advance for your help. > > > > > > The MCU ones are still tripping though. If I change all of them to 0x= 04, > > > then nothing trips. There's also a bug in the interrupt handling code > > > that needs to be dealt with. > > > > > > AFAICT the calibration data is stored differently. If you look at Chr= omeOS's > > > downstream v5.10 driver, you'll see mt6873_efuse_to_cal_data() for MT= 8192, > > > and mt8195_efuse_to_cal_data() for MT8195. The difference sums up to: > > > MT8195 has all data sequentially stored, while MT8192 has most data s= tored > > > in lower 24 bits of each 32-bit word, and the highest 8 bits are then= used > > > to pack data for the remaining sensors. > > > > > > Regards > > > ChenYu > > > > Hi Chen-Yu Tsai, > > > > Thank you very much for helping me testing this suggestion. > > > > Indeed, calibration data is stored differently in the mt8192 compared t= o mt8195. > > So, the mt8192's support will be delayed for now, to allow further debu= gging. > > > > In the mean time, we will only continue to upstream the remaining > > mt8195's source code, so it will get full LVTS support. > > A new series will be submitted soon. > > Hi Balsam, > > like Chen-Yu mentioned, the calibration data is stored with 4 byte alignm= ent for > MT8192, but the data that is split between non-contiguous bytes is for th= e > thermal controllers (called Resistor-Capacitor Calibration downstream) no= t the > sensors. The controller calibration isn't currently handled in this drive= r (and > downstream it also isn't used, since a current value is read from the con= troller > instead), so we can just ignore those. > > The patch below adjusts the addresseses for the sensors and gives me reas= onable > reads, so the machine no longer reboots. Can you integrate it into your s= eries? > > Thanks, > N=C3=ADcolas > Hello N=C3=ADcolas, Thank you very much for your help! I really appreciate it. Yes, of course I will integrate your fix to the series immediately. Best regards, Balsam > From 4506f03b806f3eeb89887bac2c1c86d61da97281 Mon Sep 17 00:00:00 2001 > From: =3D?UTF-8?q?N=3DC3=3DADcolas=3D20F=3D2E=3D20R=3D2E=3D20A=3D2E=3D20P= rado?=3D > > Date: Mon, 24 Apr 2023 17:42:42 -0400 > Subject: [PATCH] thermal/drivers/mediatek/lvts_thermal: Fix calibration > offsets for MT8192 > MIME-Version: 1.0 > Content-Type: text/plain; charset=3DUTF-8 > Content-Transfer-Encoding: 8bit > > Signed-off-by: N=C3=ADcolas F. R. A. Prado > --- > drivers/thermal/mediatek/lvts_thermal.c | 14 +++++++------- > 1 file changed, 7 insertions(+), 7 deletions(-) > > diff --git a/drivers/thermal/mediatek/lvts_thermal.c b/drivers/thermal/me= diatek/lvts_thermal.c > index b6956c89d557..f8afbc2ac190 100644 > --- a/drivers/thermal/mediatek/lvts_thermal.c > +++ b/drivers/thermal/mediatek/lvts_thermal.c > @@ -1261,7 +1261,7 @@ static const struct lvts_ctrl_data mt8195_lvts_ap_d= ata_ctrl[] =3D { > > static const struct lvts_ctrl_data mt8192_lvts_mcu_data_ctrl[] =3D { > { > - .cal_offset =3D { 0x04, 0x07 }, > + .cal_offset =3D { 0x04, 0x08 }, > .lvts_sensor =3D { > { .dt_id =3D MT8192_MCU_BIG_CPU0 }, > { .dt_id =3D MT8192_MCU_BIG_CPU1 } > @@ -1271,7 +1271,7 @@ static const struct lvts_ctrl_data mt8192_lvts_mcu_= data_ctrl[] =3D { > .hw_tshut_temp =3D LVTS_HW_SHUTDOWN_MT8192, > }, > { > - .cal_offset =3D { 0x0d, 0x10 }, > + .cal_offset =3D { 0x0c, 0x10 }, > .lvts_sensor =3D { > { .dt_id =3D MT8192_MCU_BIG_CPU2 }, > { .dt_id =3D MT8192_MCU_BIG_CPU3 } > @@ -1281,7 +1281,7 @@ static const struct lvts_ctrl_data mt8192_lvts_mcu_= data_ctrl[] =3D { > .hw_tshut_temp =3D LVTS_HW_SHUTDOWN_MT8192, > }, > { > - .cal_offset =3D { 0x16, 0x19, 0x1c, 0x1f }, > + .cal_offset =3D { 0x14, 0x18, 0x1c, 0x20 }, > .lvts_sensor =3D { > { .dt_id =3D MT8192_MCU_LITTLE_CPU0 }, > { .dt_id =3D MT8192_MCU_LITTLE_CPU1 }, > @@ -1296,7 +1296,7 @@ static const struct lvts_ctrl_data mt8192_lvts_mcu_= data_ctrl[] =3D { > > static const struct lvts_ctrl_data mt8192_lvts_ap_data_ctrl[] =3D { > { > - .cal_offset =3D { 0x25, 0x28 }, > + .cal_offset =3D { 0x24, 0x28 }, > .lvts_sensor =3D { > { .dt_id =3D MT8192_AP_VPU0 }, > { .dt_id =3D MT8192_AP_VPU1 } > @@ -1306,7 +1306,7 @@ static const struct lvts_ctrl_data mt8192_lvts_ap_d= ata_ctrl[] =3D { > .hw_tshut_temp =3D LVTS_HW_SHUTDOWN_MT8192, > }, > { > - .cal_offset =3D { 0x2e, 0x31 }, > + .cal_offset =3D { 0x2c, 0x30 }, > .lvts_sensor =3D { > { .dt_id =3D MT8192_AP_GPU0 }, > { .dt_id =3D MT8192_AP_GPU1 } > @@ -1316,7 +1316,7 @@ static const struct lvts_ctrl_data mt8192_lvts_ap_d= ata_ctrl[] =3D { > .hw_tshut_temp =3D LVTS_HW_SHUTDOWN_MT8192, > }, > { > - .cal_offset =3D { 0x37, 0x3a }, > + .cal_offset =3D { 0x34, 0x38 }, > .lvts_sensor =3D { > { .dt_id =3D MT8192_AP_INFRA }, > { .dt_id =3D MT8192_AP_CAM }, > @@ -1326,7 +1326,7 @@ static const struct lvts_ctrl_data mt8192_lvts_ap_d= ata_ctrl[] =3D { > .hw_tshut_temp =3D LVTS_HW_SHUTDOWN_MT8192, > }, > { > - .cal_offset =3D { 0x40, 0x43, 0x46 }, > + .cal_offset =3D { 0x3c, 0x40, 0x44 }, > .lvts_sensor =3D { > { .dt_id =3D MT8192_AP_MD0 }, > { .dt_id =3D MT8192_AP_MD1 }, > -- > 2.40.0 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 37E64C6FD18 for ; Tue, 25 Apr 2023 08:38:19 +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-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=KOZg0XMGLJSvFG2vmEhUchRr9J49jpcELmyctILWy+Q=; b=YickLKsc+DzGqB EosLZzRpZ7XKlgW0fDJupWGeDfjEyd+TRQDtpwYHWZdM00qFSCppWZ+FsQqKX7L6rB/+/z3pFeu8H Z3wlVrtQOaMaAH5uejEafHBAJZuFJ+TW3Pbjtd9wvATnhUPFoVjKedCVohqa+BdYHCQBBSqQfOxNU 2ZGkRv9xl4j3DsylprUKUPrYNEegovIrQN+KnWG9rzZ95m8vm80tbDBwYQdEMyk8jg7S9t570I+e8 60MWvPAO8s3FZtAI582yMxyKopXPnRmT4GraeXN5ndrPGeg8F6OR8Up0X5GoQo0q3fjEenrpkqT6K STnIV185Z54yL9xqLgVw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1prEAv-000Z9N-0o; Tue, 25 Apr 2023 08:37:25 +0000 Received: from mail-ed1-x536.google.com ([2a00:1450:4864:20::536]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1prEAp-000Z7P-2K for linux-arm-kernel@lists.infradead.org; Tue, 25 Apr 2023 08:37:22 +0000 Received: by mail-ed1-x536.google.com with SMTP id 4fb4d7f45d1cf-504eb1155d3so40910512a12.1 for ; Tue, 25 Apr 2023 01:37:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre-com.20221208.gappssmtp.com; s=20221208; t=1682411837; x=1685003837; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=pJCGkPHoGSFZY63Jqk/nlt1gBwH2vblI+IkzLVWvpyw=; b=qwfqHUkBa7MLPI/9HCXNiZc76W0GkP5Ath0jV1H3+r0utDr49cmvw5UBWdJ69LgKbI kQAEOU9N2BqTGmrCaEK/vo0+T2JHyTap65Pq9oze1UpbpGCFnftJil9yx/8njN5kiEbS 2raHHC5Ci+xvifegJ4Syjenb6nDAyBcRf6fmloy9SGRJxifER74ESVUGSoWIpG65im6w jV4TwQDS+0Kjl6VkVvcV5v48L3ufniarmCglJzgwvS2qUkPUC3pk6xZkn7eyc6w5vfhh 9ttyNT8VXpKD+/vNpQmAWEcvpBd3hq2oWqHDW8GxTuOLilBbBEvdAIYMmqXhQLvGRmOP IfdA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1682411837; x=1685003837; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=pJCGkPHoGSFZY63Jqk/nlt1gBwH2vblI+IkzLVWvpyw=; b=YGzxYVzfL3ZKA00CUb7hi1bcGSxF/KxSC6D4O3zUJhrTkmZ7TYWaP/7VBmZaddkzql MQVtb7Cvm5KdYjDMFtF5ch0vOqxqGQk+SgE0XOcgkAuQNVzdXwe53sT46iKGLxsuYPT5 ZgfPqNFMjEEC6PBqAC50hSZmHk3AcbpxdJuHl+Sc79mv1SyaRFhbQCYvftpzrX/3b/Fd c+Cya/MhCo+jW8KAkY8TS7AQNjmKCuxG/FjElhRwGgB4WKVZgd0ZXB3H5sYlBGgRq6di WvRUn8VupBbkhIdNHWkc7JhWY15ne54xuvj01r2CvBnjkAoXWRlfPU4EKRPMlj8Zlk+g C+Vw== X-Gm-Message-State: AAQBX9f5ewGm53zaetfkt8JgRNfwrHFWl3jp9DMURDyFKFiO6I6A70RE nz5UZ2M/CeIbbndazUbCdYKGhBKg14DrpmO2iprbNA== X-Google-Smtp-Source: AKy350ZzCimN5VBMy4odr40aNaphS9WPL5s1QsFomwpin6cX6Jv2A3zwror5ZbdEtmZc6/prsBRh7o0cC4Z0CxnVDwY= X-Received: by 2002:aa7:c84d:0:b0:504:b11e:8cfb with SMTP id g13-20020aa7c84d000000b00504b11e8cfbmr15104412edt.13.1682411837571; Tue, 25 Apr 2023 01:37:17 -0700 (PDT) MIME-Version: 1.0 References: <20230307163413.143334-1-bchihi@baylibre.com> In-Reply-To: From: Balsam CHIHI Date: Tue, 25 Apr 2023 10:36:41 +0200 Message-ID: Subject: Re: [PATCH 0/4] Add LVTS support for mt8192 To: =?UTF-8?B?TsOtY29sYXMgRi4gUi4gQS4gUHJhZG8=?= Cc: Chen-Yu Tsai , daniel.lezcano@linaro.org, angelogioacchino.delregno@collabora.com, rafael@kernel.org, amitk@kernel.org, rui.zhang@intel.com, matthias.bgg@gmail.com, robh+dt@kernel.org, krzysztof.kozlowski+dt@linaro.org, rdunlap@infradead.org, ye.xingchen@zte.com.cn, p.zabel@pengutronix.de, linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, devicetree@vger.kernel.org, khilman@baylibre.com, james.lo@mediatek.com, rex-bc.chen@mediatek.com X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230425_013719_979282_F423857C X-CRM114-Status: GOOD ( 44.34 ) 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 T24gVHVlLCBBcHIgMjUsIDIwMjMgYXQgMTI6MjHigK9BTSBOw61jb2xhcyBGLiBSLiBBLiBQcmFk bwo8bmZyYXByYWRvQGNvbGxhYm9yYS5jb20+IHdyb3RlOgo+Cj4gT24gVHVlLCBNYXIgMjgsIDIw MjMgYXQgMDI6MjA6MjRBTSArMDIwMCwgQmFsc2FtIENISUhJIHdyb3RlOgo+ID4gT24gU2F0LCBN YXIgMjUsIDIwMjMgYXQgNTozM+KAr0FNIENoZW4tWXUgVHNhaSA8d2Vuc3RAY2hyb21pdW0ub3Jn PiB3cm90ZToKPiA+ID4KPiA+ID4gT24gV2VkLCBNYXIgMjIsIDIwMjMgYXQgODo0OOKAr1BNIEJh bHNhbSBDSElISSA8YmNoaWhpQGJheWxpYnJlLmNvbT4gd3JvdGU6Cj4gPiA+ID4KPiA+ID4gPiBI aSBDaGVuLVl1LAo+ID4gPiA+Cj4gPiA+ID4gSSBzdXNwZWN0IHRoZSBidWcgY29tZXMgZnJvbSBp bmNvcnJlY3QgY2FsaWJyYXRpb24gZGF0YSBvZmZzZXRzIGZvciBBUAo+ID4gPiA+IERvbWFpbiBi ZWNhdXNlIHlvdSBjb25maXJtIHRoYXQgTUNVIERvbWFpbiBwcm9iZSBydW5zIHdpdGhvdXQgaXNz dWVzLgo+ID4gPiA+IElzIGl0IHBvc3NpYmxlIHRvIHRlc3Qgc29tZXRoaW5nIGZvciB1cyB0byBj b25maXJtIHRoaXMgdGhlb3J5IChpCj4gPiA+ID4gZG9uJ3QgaGF2ZSBhbiBtdDgxOTIgYm9hcmQg b24gaGFuZCBub3cpLCB3aGVuIHlvdSBoYXZlIHRoZSB0aW1lIG9mCj4gPiA+ID4gY291cnNlPwo+ ID4gPiA+IFdlIHdvdWxkIGxpa2UgdG8gdGVzdCBBUCBEb21haW4ncyBjYWxpYnJhdGlvbiBkYXRh IG9mZnNldHMgd2l0aCBhCj4gPiA+ID4gd29ya2luZyBvbmUsIGZvciBleGFtcGxlIDoKPiA+ID4g Pgo+ID4gPiA+ICBzdGF0aWMgY29uc3Qgc3RydWN0IGx2dHNfY3RybF9kYXRhIG10ODE5Ml9sdnRz X2FwX2RhdGFfY3RybFtdID0gewo+ID4gPiA+ICAgICAgICAgICAgICAgICB7Cj4gPiA+ID4gLSAg ICAgICAgICAgICAgIC5jYWxfb2Zmc2V0ID0geyAweDI1LCAweDI4IH0sCj4gPiA+ID4gKyAgICAg ICAgICAgICAgIC5jYWxfb2Zmc2V0ID0geyAweDA0LCAweDA0IH0sCj4gPiA+ID4gICAgICAgICAg ICAgICAgIC5sdnRzX3NlbnNvciA9IHsKPiA+ID4gPiAgICAgICAgICAgICAgICAgICAgICAgICB7 IC5kdF9pZCA9IE1UODE5Ml9BUF9WUFUwIH0sCj4gPiA+ID4gICAgICAgICAgICAgICAgICAgICAg ICAgeyAuZHRfaWQgPSBNVDgxOTJfQVBfVlBVMSB9Cj4gPiA+ID4gQEAgLTEzMzYsNyArMTMzNiw3 IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgbHZ0c19jdHJsX2RhdGEKPiBbLi5dCj4gPiA+ID4KPiA+ ID4gPiBUaGlzIGV4YW1wbGUgaXMgdGVzdGVkIGFuZCB3b3JrcyBmb3IgbXQ4MTk1LAo+ID4gPiA+ IChhbGwgc2Vuc29ycyB1c2UgdGhlIHNhbWUgY2FsaWJyYXRpb24gZGF0YSBvZmZzZXQgZm9yIHRl c3RpbmcgcHVycG9zZXMpLgo+ID4gPiA+Cj4gPiA+ID4gVGhhbmsgeW91IGluIGFkdmFuY2UgZm9y IHlvdXIgaGVscC4KPiA+ID4KPiA+ID4gVGhlIE1DVSBvbmVzIGFyZSBzdGlsbCB0cmlwcGluZyB0 aG91Z2guIElmIEkgY2hhbmdlIGFsbCBvZiB0aGVtIHRvIDB4MDQsCj4gPiA+IHRoZW4gbm90aGlu ZyB0cmlwcy4gVGhlcmUncyBhbHNvIGEgYnVnIGluIHRoZSBpbnRlcnJ1cHQgaGFuZGxpbmcgY29k ZQo+ID4gPiB0aGF0IG5lZWRzIHRvIGJlIGRlYWx0IHdpdGguCj4gPiA+Cj4gPiA+IEFGQUlDVCB0 aGUgY2FsaWJyYXRpb24gZGF0YSBpcyBzdG9yZWQgZGlmZmVyZW50bHkuIElmIHlvdSBsb29rIGF0 IENocm9tZU9TJ3MKPiA+ID4gZG93bnN0cmVhbSB2NS4xMCBkcml2ZXIsIHlvdSdsbCBzZWUgbXQ2 ODczX2VmdXNlX3RvX2NhbF9kYXRhKCkgZm9yIE1UODE5MiwKPiA+ID4gYW5kIG10ODE5NV9lZnVz ZV90b19jYWxfZGF0YSgpIGZvciBNVDgxOTUuIFRoZSBkaWZmZXJlbmNlIHN1bXMgdXAgdG86Cj4g PiA+IE1UODE5NSBoYXMgYWxsIGRhdGEgc2VxdWVudGlhbGx5IHN0b3JlZCwgd2hpbGUgTVQ4MTky IGhhcyBtb3N0IGRhdGEgc3RvcmVkCj4gPiA+IGluIGxvd2VyIDI0IGJpdHMgb2YgZWFjaCAzMi1i aXQgd29yZCwgYW5kIHRoZSBoaWdoZXN0IDggYml0cyBhcmUgdGhlbiB1c2VkCj4gPiA+IHRvIHBh Y2sgZGF0YSBmb3IgdGhlIHJlbWFpbmluZyBzZW5zb3JzLgo+ID4gPgo+ID4gPiBSZWdhcmRzCj4g PiA+IENoZW5ZdQo+ID4KPiA+IEhpIENoZW4tWXUgVHNhaSwKPiA+Cj4gPiBUaGFuayB5b3UgdmVy eSBtdWNoIGZvciBoZWxwaW5nIG1lIHRlc3RpbmcgdGhpcyBzdWdnZXN0aW9uLgo+ID4KPiA+IElu ZGVlZCwgY2FsaWJyYXRpb24gZGF0YSBpcyBzdG9yZWQgZGlmZmVyZW50bHkgaW4gdGhlIG10ODE5 MiBjb21wYXJlZCB0byBtdDgxOTUuCj4gPiBTbywgdGhlIG10ODE5MidzIHN1cHBvcnQgd2lsbCBi ZSBkZWxheWVkIGZvciBub3csIHRvIGFsbG93IGZ1cnRoZXIgZGVidWdnaW5nLgo+ID4KPiA+IElu IHRoZSBtZWFuIHRpbWUsIHdlIHdpbGwgb25seSBjb250aW51ZSB0byB1cHN0cmVhbSB0aGUgcmVt YWluaW5nCj4gPiBtdDgxOTUncyBzb3VyY2UgY29kZSwgc28gaXQgd2lsbCBnZXQgZnVsbCBMVlRT IHN1cHBvcnQuCj4gPiBBIG5ldyBzZXJpZXMgd2lsbCBiZSBzdWJtaXR0ZWQgc29vbi4KPgo+IEhp IEJhbHNhbSwKPgo+IGxpa2UgQ2hlbi1ZdSBtZW50aW9uZWQsIHRoZSBjYWxpYnJhdGlvbiBkYXRh IGlzIHN0b3JlZCB3aXRoIDQgYnl0ZSBhbGlnbm1lbnQgZm9yCj4gTVQ4MTkyLCBidXQgdGhlIGRh dGEgdGhhdCBpcyBzcGxpdCBiZXR3ZWVuIG5vbi1jb250aWd1b3VzIGJ5dGVzIGlzIGZvciB0aGUK PiB0aGVybWFsIGNvbnRyb2xsZXJzIChjYWxsZWQgUmVzaXN0b3ItQ2FwYWNpdG9yIENhbGlicmF0 aW9uIGRvd25zdHJlYW0pIG5vdCB0aGUKPiBzZW5zb3JzLiBUaGUgY29udHJvbGxlciBjYWxpYnJh dGlvbiBpc24ndCBjdXJyZW50bHkgaGFuZGxlZCBpbiB0aGlzIGRyaXZlciAoYW5kCj4gZG93bnN0 cmVhbSBpdCBhbHNvIGlzbid0IHVzZWQsIHNpbmNlIGEgY3VycmVudCB2YWx1ZSBpcyByZWFkIGZy b20gdGhlIGNvbnRyb2xsZXIKPiBpbnN0ZWFkKSwgc28gd2UgY2FuIGp1c3QgaWdub3JlIHRob3Nl Lgo+Cj4gVGhlIHBhdGNoIGJlbG93IGFkanVzdHMgdGhlIGFkZHJlc3Nlc2VzIGZvciB0aGUgc2Vu c29ycyBhbmQgZ2l2ZXMgbWUgcmVhc29uYWJsZQo+IHJlYWRzLCBzbyB0aGUgbWFjaGluZSBubyBs b25nZXIgcmVib290cy4gQ2FuIHlvdSBpbnRlZ3JhdGUgaXQgaW50byB5b3VyIHNlcmllcz8KPgo+ IFRoYW5rcywKPiBOw61jb2xhcwo+CgpIZWxsbyBOw61jb2xhcywKClRoYW5rIHlvdSB2ZXJ5IG11 Y2ggZm9yIHlvdXIgaGVscCEKSSByZWFsbHkgYXBwcmVjaWF0ZSBpdC4KWWVzLCBvZiBjb3Vyc2Ug SSB3aWxsIGludGVncmF0ZSB5b3VyIGZpeCB0byB0aGUgc2VyaWVzIGltbWVkaWF0ZWx5LgoKQmVz dCByZWdhcmRzLApCYWxzYW0KCj4gRnJvbSA0NTA2ZjAzYjgwNmYzZWViODk4ODdiYWMyYzFjODZk NjFkYTk3MjgxIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQo+IEZyb206ID0/VVRGLTg/cT9OPUMz PUFEY29sYXM9MjBGPTJFPTIwUj0yRT0yMEE9MkU9MjBQcmFkbz89Cj4gIDxuZnJhcHJhZG9AY29s bGFib3JhLmNvbT4KPiBEYXRlOiBNb24sIDI0IEFwciAyMDIzIDE3OjQyOjQyIC0wNDAwCj4gU3Vi amVjdDogW1BBVENIXSB0aGVybWFsL2RyaXZlcnMvbWVkaWF0ZWsvbHZ0c190aGVybWFsOiBGaXgg Y2FsaWJyYXRpb24KPiAgb2Zmc2V0cyBmb3IgTVQ4MTkyCj4gTUlNRS1WZXJzaW9uOiAxLjAKPiBD b250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKPiBDb250ZW50LVRyYW5zZmVy LUVuY29kaW5nOiA4Yml0Cj4KPiBTaWduZWQtb2ZmLWJ5OiBOw61jb2xhcyBGLiBSLiBBLiBQcmFk byA8bmZyYXByYWRvQGNvbGxhYm9yYS5jb20+Cj4gLS0tCj4gIGRyaXZlcnMvdGhlcm1hbC9tZWRp YXRlay9sdnRzX3RoZXJtYWwuYyB8IDE0ICsrKysrKystLS0tLS0tCj4gIDEgZmlsZSBjaGFuZ2Vk LCA3IGluc2VydGlvbnMoKyksIDcgZGVsZXRpb25zKC0pCj4KPiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy90aGVybWFsL21lZGlhdGVrL2x2dHNfdGhlcm1hbC5jIGIvZHJpdmVycy90aGVybWFsL21lZGlh dGVrL2x2dHNfdGhlcm1hbC5jCj4gaW5kZXggYjY5NTZjODlkNTU3Li5mOGFmYmMyYWMxOTAgMTAw NjQ0Cj4gLS0tIGEvZHJpdmVycy90aGVybWFsL21lZGlhdGVrL2x2dHNfdGhlcm1hbC5jCj4gKysr IGIvZHJpdmVycy90aGVybWFsL21lZGlhdGVrL2x2dHNfdGhlcm1hbC5jCj4gQEAgLTEyNjEsNyAr MTI2MSw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgbHZ0c19jdHJsX2RhdGEgbXQ4MTk1X2x2dHNf YXBfZGF0YV9jdHJsW10gPSB7Cj4KPiAgc3RhdGljIGNvbnN0IHN0cnVjdCBsdnRzX2N0cmxfZGF0 YSBtdDgxOTJfbHZ0c19tY3VfZGF0YV9jdHJsW10gPSB7Cj4gICAgICAgICB7Cj4gLSAgICAgICAg ICAgICAgIC5jYWxfb2Zmc2V0ID0geyAweDA0LCAweDA3IH0sCj4gKyAgICAgICAgICAgICAgIC5j YWxfb2Zmc2V0ID0geyAweDA0LCAweDA4IH0sCj4gICAgICAgICAgICAgICAgIC5sdnRzX3NlbnNv ciA9IHsKPiAgICAgICAgICAgICAgICAgICAgICAgICB7IC5kdF9pZCA9IE1UODE5Ml9NQ1VfQklH X0NQVTAgfSwKPiAgICAgICAgICAgICAgICAgICAgICAgICB7IC5kdF9pZCA9IE1UODE5Ml9NQ1Vf QklHX0NQVTEgfQo+IEBAIC0xMjcxLDcgKzEyNzEsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGx2 dHNfY3RybF9kYXRhIG10ODE5Ml9sdnRzX21jdV9kYXRhX2N0cmxbXSA9IHsKPiAgICAgICAgICAg ICAgICAgLmh3X3RzaHV0X3RlbXAgPSBMVlRTX0hXX1NIVVRET1dOX01UODE5MiwKPiAgICAgICAg IH0sCj4gICAgICAgICB7Cj4gLSAgICAgICAgICAgICAgIC5jYWxfb2Zmc2V0ID0geyAweDBkLCAw eDEwIH0sCj4gKyAgICAgICAgICAgICAgIC5jYWxfb2Zmc2V0ID0geyAweDBjLCAweDEwIH0sCj4g ICAgICAgICAgICAgICAgIC5sdnRzX3NlbnNvciA9IHsKPiAgICAgICAgICAgICAgICAgICAgICAg ICB7IC5kdF9pZCA9IE1UODE5Ml9NQ1VfQklHX0NQVTIgfSwKPiAgICAgICAgICAgICAgICAgICAg ICAgICB7IC5kdF9pZCA9IE1UODE5Ml9NQ1VfQklHX0NQVTMgfQo+IEBAIC0xMjgxLDcgKzEyODEs NyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGx2dHNfY3RybF9kYXRhIG10ODE5Ml9sdnRzX21jdV9k YXRhX2N0cmxbXSA9IHsKPiAgICAgICAgICAgICAgICAgLmh3X3RzaHV0X3RlbXAgPSBMVlRTX0hX X1NIVVRET1dOX01UODE5MiwKPiAgICAgICAgIH0sCj4gICAgICAgICB7Cj4gLSAgICAgICAgICAg ICAgIC5jYWxfb2Zmc2V0ID0geyAweDE2LCAweDE5LCAweDFjLCAweDFmIH0sCj4gKyAgICAgICAg ICAgICAgIC5jYWxfb2Zmc2V0ID0geyAweDE0LCAweDE4LCAweDFjLCAweDIwIH0sCj4gICAgICAg ICAgICAgICAgIC5sdnRzX3NlbnNvciA9IHsKPiAgICAgICAgICAgICAgICAgICAgICAgICB7IC5k dF9pZCA9IE1UODE5Ml9NQ1VfTElUVExFX0NQVTAgfSwKPiAgICAgICAgICAgICAgICAgICAgICAg ICB7IC5kdF9pZCA9IE1UODE5Ml9NQ1VfTElUVExFX0NQVTEgfSwKPiBAQCAtMTI5Niw3ICsxMjk2 LDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBsdnRzX2N0cmxfZGF0YSBtdDgxOTJfbHZ0c19tY3Vf ZGF0YV9jdHJsW10gPSB7Cj4KPiAgc3RhdGljIGNvbnN0IHN0cnVjdCBsdnRzX2N0cmxfZGF0YSBt dDgxOTJfbHZ0c19hcF9kYXRhX2N0cmxbXSA9IHsKPiAgICAgICAgICAgICAgICAgewo+IC0gICAg ICAgICAgICAgICAuY2FsX29mZnNldCA9IHsgMHgyNSwgMHgyOCB9LAo+ICsgICAgICAgICAgICAg ICAuY2FsX29mZnNldCA9IHsgMHgyNCwgMHgyOCB9LAo+ICAgICAgICAgICAgICAgICAubHZ0c19z ZW5zb3IgPSB7Cj4gICAgICAgICAgICAgICAgICAgICAgICAgeyAuZHRfaWQgPSBNVDgxOTJfQVBf VlBVMCB9LAo+ICAgICAgICAgICAgICAgICAgICAgICAgIHsgLmR0X2lkID0gTVQ4MTkyX0FQX1ZQ VTEgfQo+IEBAIC0xMzA2LDcgKzEzMDYsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGx2dHNfY3Ry bF9kYXRhIG10ODE5Ml9sdnRzX2FwX2RhdGFfY3RybFtdID0gewo+ICAgICAgICAgICAgICAgICAu aHdfdHNodXRfdGVtcCA9IExWVFNfSFdfU0hVVERPV05fTVQ4MTkyLAo+ICAgICAgICAgfSwKPiAg ICAgICAgIHsKPiAtICAgICAgICAgICAgICAgLmNhbF9vZmZzZXQgPSB7IDB4MmUsIDB4MzEgfSwK PiArICAgICAgICAgICAgICAgLmNhbF9vZmZzZXQgPSB7IDB4MmMsIDB4MzAgfSwKPiAgICAgICAg ICAgICAgICAgLmx2dHNfc2Vuc29yID0gewo+ICAgICAgICAgICAgICAgICAgICAgICAgIHsgLmR0 X2lkID0gTVQ4MTkyX0FQX0dQVTAgfSwKPiAgICAgICAgICAgICAgICAgICAgICAgICB7IC5kdF9p ZCA9IE1UODE5Ml9BUF9HUFUxIH0KPiBAQCAtMTMxNiw3ICsxMzE2LDcgQEAgc3RhdGljIGNvbnN0 IHN0cnVjdCBsdnRzX2N0cmxfZGF0YSBtdDgxOTJfbHZ0c19hcF9kYXRhX2N0cmxbXSA9IHsKPiAg ICAgICAgICAgICAgICAgLmh3X3RzaHV0X3RlbXAgPSBMVlRTX0hXX1NIVVRET1dOX01UODE5MiwK PiAgICAgICAgIH0sCj4gICAgICAgICB7Cj4gLSAgICAgICAgICAgICAgIC5jYWxfb2Zmc2V0ID0g eyAweDM3LCAweDNhIH0sCj4gKyAgICAgICAgICAgICAgIC5jYWxfb2Zmc2V0ID0geyAweDM0LCAw eDM4IH0sCj4gICAgICAgICAgICAgICAgIC5sdnRzX3NlbnNvciA9IHsKPiAgICAgICAgICAgICAg ICAgICAgICAgICB7IC5kdF9pZCA9IE1UODE5Ml9BUF9JTkZSQSB9LAo+ICAgICAgICAgICAgICAg ICAgICAgICAgIHsgLmR0X2lkID0gTVQ4MTkyX0FQX0NBTSB9LAo+IEBAIC0xMzI2LDcgKzEzMjYs NyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGx2dHNfY3RybF9kYXRhIG10ODE5Ml9sdnRzX2FwX2Rh dGFfY3RybFtdID0gewo+ICAgICAgICAgICAgICAgICAuaHdfdHNodXRfdGVtcCA9IExWVFNfSFdf U0hVVERPV05fTVQ4MTkyLAo+ICAgICAgICAgfSwKPiAgICAgICAgIHsKPiAtICAgICAgICAgICAg ICAgLmNhbF9vZmZzZXQgPSB7IDB4NDAsIDB4NDMsIDB4NDYgfSwKPiArICAgICAgICAgICAgICAg LmNhbF9vZmZzZXQgPSB7IDB4M2MsIDB4NDAsIDB4NDQgfSwKPiAgICAgICAgICAgICAgICAgLmx2 dHNfc2Vuc29yID0gewo+ICAgICAgICAgICAgICAgICAgICAgICAgIHsgLmR0X2lkID0gTVQ4MTky X0FQX01EMCB9LAo+ICAgICAgICAgICAgICAgICAgICAgICAgIHsgLmR0X2lkID0gTVQ4MTkyX0FQ X01EMSB9LAo+IC0tCj4gMi40MC4wCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpsaW51eC1hcm0ta2VybmVsIG1haWxpbmcgbGlzdApsaW51eC1hcm0ta2Vy bmVsQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1h bi9saXN0aW5mby9saW51eC1hcm0ta2VybmVsCg==