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 AEFE4C433F5 for ; Thu, 10 Mar 2022 03:54:08 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S239353AbiCJDzH (ORCPT ); Wed, 9 Mar 2022 22:55:07 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38956 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234822AbiCJDzG (ORCPT ); Wed, 9 Mar 2022 22:55:06 -0500 Received: from mail-vs1-xe30.google.com (mail-vs1-xe30.google.com [IPv6:2607:f8b0:4864:20::e30]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 5139CD884A for ; Wed, 9 Mar 2022 19:54:05 -0800 (PST) Received: by mail-vs1-xe30.google.com with SMTP id a186so4641013vsc.3 for ; Wed, 09 Mar 2022 19:54:05 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=g02VUi9lshGZqdo5/cYz41hUNMH+xzDGxn419kRsSDM=; b=AYw+oqeYvhX8+fR3qZ+SBNAQ94dLDTiQJCgtCnnyNYe9OsEd9rQhku9ryCoJ+oQnYu wChUwbZ9MI/D1Elro+3Y/6In02ApdqcE0JVL1a2Cx9Y+NiN91Q8w7vp+jol87kzx9Mkz L108U0YzcM0PkD4zNPuhqO9LvWwZzeL54U3+o= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=g02VUi9lshGZqdo5/cYz41hUNMH+xzDGxn419kRsSDM=; b=iLtYT77mtKfV+toZcEM5AKqMlbykwLuH09YrQj/X3uZs1Bw0R4bkNra9YB9Or++ZGS suiiIvvXsnL/8vgASlAHe2WH5wHjgWF2YbEEI4A88Vxzf0YoQbvHU7+D+sRgPCmmxmYv sL3k6lCxeyYlOcLhrX05NTddHx4RiWO7R3WWBmdXxDdHbrGctZZjUEF4pbexLUuoXyc4 3wPaXH+/AOq/uTGx9ahSTcLYdDA4oZXAmEarGuG0zCsp2ASU89wunWKMzoqvASVgkQAA U/mHOCgvVMO2kwZlgl8/jdb3YnrDYCYS6bHAVVuEy77CQtIGPEFzuGV2c4M55LO4kdbP c1bA== X-Gm-Message-State: AOAM533fLmXN1K1w7tKXQI65qLvUiez0utoukJdGqdeUD2Nses4rK3C1 XsGxAO3jo25MEw2HilmJHNwpS9ryjvbgj2dY6W4Ybw== X-Google-Smtp-Source: ABdhPJx1BC9Et7WCgqRCFdi4vzEYXi4wWKs8q5rB+Ji944RNhXlD8m+JZ4yYI5RSJ76rEehH33845dCCumLNCWeLegk= X-Received: by 2002:a67:df98:0:b0:320:8446:7c6d with SMTP id x24-20020a67df98000000b0032084467c6dmr1276863vsk.16.1646884444142; Wed, 09 Mar 2022 19:54:04 -0800 (PST) MIME-Version: 1.0 References: <1646388956-8033-1-git-send-email-xinlei.lee@mediatek.com> <90f28179a3cffcaf28640066079391e31783a9f7.camel@mediatek.com> In-Reply-To: <90f28179a3cffcaf28640066079391e31783a9f7.camel@mediatek.com> From: Hsin-Yi Wang Date: Thu, 10 Mar 2022 11:53:37 +0800 Message-ID: Subject: Re: [PATCH v2, 0/4] Cooperate with DSI RX devices to modify dsi funcs and delay mipi high to cooperate with panel sequence To: "xinlei.lee" Cc: Benjamin Gaignard , chunkuang.hu@kernel.org, p.zabel@pengutronix.de, airlied@linux.ie, daniel@ffwll.ch, matthias.bgg@gmail.com, dri-devel@lists.freedesktop.org, linux-mediatek@lists.infradead.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Project_Global_Chrome_Upstream_Group@mediatek.com, jitao.shi@mediatek.com, allen-kh.cheng@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 Thu, Mar 10, 2022 at 11:33 AM xinlei.lee wrote= : > > On Tue, 2022-03-08 at 11:00 +0100, Benjamin Gaignard wrote: > > Le 08/03/2022 =C3=A0 10:12, Hsin-Yi Wang a =C3=A9crit : > > > On Fri, Mar 4, 2022 at 7:25 PM Benjamin Gaignard > > > wrote: > > > > > > > > Le 04/03/2022 =C3=A0 11:15, xinlei.lee@mediatek.com a =C3=A9crit : > > > > > From: Xinlei Lee > > > > > > > > > > In upstream-v5.8, dsi_enable will operate panel_enable, but > > > > > this > > > > > modification has been moved in v5.9. In order to ensure the > > > > > timing of > > > > > dsi_power_on/off and the timing of pulling up/down the MIPI > > > > > signal, > > > > > the modification of v5.9 is synchronized in this series of > > > > > patches. > > > > > > > > Hello, > > > > > > > > I'm trying to debug an issue on mt8183 kukui krane sku176 device. > > > > The problem is that boe-tv101wum-nl6 panel isn't working. > > > > At boot time I can see these logs: > > > > panel-boe-tv101wum-nl6 14014000.dsi.0: failed to write command 1 > > > > panel-boe-tv101wum-nl6 14014000.dsi.0: failed to init panel: -62 > > > > and a DSI interrupt time out. > > > > > > > > Since I believe the problem is link to DSI/panel enabling > > > > sequence > > > > I have try this series but that doesn't solve the issue. > > > > I notice that when going out of deep sleep mode panel is > > > > functional. > > > > > > > > May you have any idea to debug/solve this problem ? > > > > > > > > > > Hi Benjamin, > > > > > > I think this might not be related to this series. Which kernel are > > > you using? > > > I tried the krane sku176 with linux-next 5.17-rc6 > > > (519dd6c19986696f59847ff8bf930436ccffd9a1 (tag: next-20220307, > > > linux-next/master) with or without this series, both can get the > > > display on. > > > > > > dsi related message: > > > [ 0.206330] mediatek-drm mediatek-drm.1.auto: Adding component > > > match for /soc/dsi@14014000 > > > [ 4.567577] panel-boe-tv101wum-nl6 14014000.dsi.0: supply pp3300 > > > not found, using dummy regulator > > > [ 4.567732] panel-boe-tv101wum-nl6 14014000.dsi.0: GPIO lookup > > > for > > > consumer enable > > > [ 4.567738] panel-boe-tv101wum-nl6 14014000.dsi.0: using device > > > tree for GPIO lookup > > > [ 4.567757] of_get_named_gpiod_flags: parsed 'enable-gpios' > > > property of node '/soc/dsi@14014000/panel@0[0]' - status (0) > > > [ 4.585884] panel-boe-tv101wum-nl6 14014000.dsi.0: supply pp3300 > > > not found, using dummy regulator > > > [ 4.586037] panel-boe-tv101wum-nl6 14014000.dsi.0: GPIO lookup > > > for > > > consumer enable > > > [ 4.586042] panel-boe-tv101wum-nl6 14014000.dsi.0: using device > > > tree for GPIO lookup > > > [ 4.586059] of_get_named_gpiod_flags: parsed 'enable-gpios' > > > property of node '/soc/dsi@14014000/panel@0[0]' - status (0) > > > [ 4.587430] mediatek-drm mediatek-drm.1.auto: bound 14014000.dsi > > > (ops 0xffffffd369a752b8) > > > > > > > > > Maybe some config is not enabled? > > > > I using 5.17.0-rc1-next-20220127 kernel tag. > > The configs look similar. > > > > I have the follow log at boot time: > > > > [ 1.533384] phy phy-11e50000.dsi-phy.2: Looking up phy-supply from > > device tree > > [ 1.533402] phy phy-11e50000.dsi-phy.2: Looking up phy-supply > > property in node /soc/dsi-phy@11e50000 failed > > [ 3.173068] mediatek-drm mediatek-drm.1.auto: Adding component > > match for /soc/dsi@14014000 > > [ 4.671806] panel-boe-tv101wum-nl6 14014000.dsi.0: Looking up > > avdd-supply from device tree > > [ 4.680348] panel-boe-tv101wum-nl6 14014000.dsi.0: Looking up > > avee-supply from device tree > > [ 4.688784] panel-boe-tv101wum-nl6 14014000.dsi.0: Looking up > > pp3300-supply from device tree > > [ 4.697816] panel-boe-tv101wum-nl6 14014000.dsi.0: Looking up > > pp1800-supply from device tree > > [ 4.842346] panel-boe-tv101wum-nl6 14014000.dsi.0: Looking up > > avdd-supply from device tree > > [ 4.854573] panel-boe-tv101wum-nl6 14014000.dsi.0: Looking up > > avee-supply from device tree > > [ 4.862976] panel-boe-tv101wum-nl6 14014000.dsi.0: Looking up > > pp3300-supply from device tree > > [ 4.871568] panel-boe-tv101wum-nl6 14014000.dsi.0: Looking up > > pp1800-supply from device tree > > [ 4.964021] mediatek-drm mediatek-drm.1.auto: bound 14014000.dsi > > (ops mtk_dsi_component_ops) > > ... > > [ 38.273437] [drm] Wait DSI IRQ(0x00000002) Timeout > > [ 38.281584] panel-boe-tv101wum-nl6 14014000.dsi.0: failed to write > > command 1 > > [ 38.288651] panel-boe-tv101wum-nl6 14014000.dsi.0: failed to init > > panel: -62 > > ... > > [ 70.113674] mediatek-drm mediatek-drm.1.auto: [drm] *ERROR* > > flip_done timed out > > [ 70.121054] mediatek-drm mediatek-drm.1.auto: [drm] *ERROR* > > [CRTC:45:crtc-0] commit wait timed out > > [ 70.130037] [drm:mtk_drm_crtc_atomic_begin] *ERROR* new event > > while there is still a pending event > > [ 70.241222] ------------[ cut here ]------------ > > [ 70.245898] [CRTC:45:crtc-0] vblank wait timed out > > [ 70.250729] WARNING: CPU: 7 PID: 397 at > > drivers/gpu/drm/drm_atomic_helper.c:1529 > > drm_atomic_helper_wait_for_vblanks.part.0+0x290/0x24 > > [ 70.262815] Modules linked in: hci_uart btqca btbcm bluetooth > > cdc_ether usbnet r8152 mtk_mdp3 hid_multitouch mtk_jpeg panfrost > > cros_6 > > [ 70.309348] CPU: 7 PID: 397 Comm: gnome-shell Tainted: > > G W 5.17.0-rc1-next-20220127+ #57 > > [ 70.318731] Hardware name: MediaTek krane sku176 board (DT) > > [ 70.324293] pstate: 60000005 (nZCv daif -PAN -UAO -TCO -DIT -SSBS > > BTYPE=3D--) > > [ 70.331244] pc : > > drm_atomic_helper_wait_for_vblanks.part.0+0x290/0x2b4 > > [ 70.337762] lr : > > drm_atomic_helper_wait_for_vblanks.part.0+0x290/0x2b4 > > [ 70.344279] sp : ffff8000092339e0 > > [ 70.347583] x29: ffff8000092339e0 x28: 0000000000000001 x27: > > 0000000000000000 > > [ 70.354713] x26: 0000000000000000 x25: ffffc7e8feee4660 x24: > > 0000000000000038 > > [ 70.361842] x23: ffff6fe702b0d000 x22: 0000000000000001 x21: > > ffff6fe7030d5080 > > [ 70.368970] x20: ffff6fe709d7d700 x19: 0000000000000000 x18: > > 0000000000000030 > > [ 70.376099] x17: 000000040044ffff x16: 00400032b5503510 x15: > > ffffffffffffffff > > [ 70.383227] x14: ffffc7e8ffa99220 x13: 000000000000094b x12: > > 0000000000000319 > > [ 70.390354] x11: 6e616c6276205d30 x10: ffffc7e8ffb49220 x9 : > > 00000000ffffe000 > > [ 70.397483] x8 : ffffc7e8ffa99220 x7 : 0000000000000001 x6 : > > 0000000000000000 > > [ 70.404611] x5 : 0000000000000000 x4 : ffff6fe73b5e4cf8 x3 : > > ffff6fe73b5f0840 > > [ 70.411738] x2 : 0000000000000000 x1 : 0000000000000000 x0 : > > ffff6fe702f20000 > > [ 70.418866] Call trace: > > [ 70.421301] drm_atomic_helper_wait_for_vblanks.part.0+0x290/0x2b4 > > [ 70.427472] drm_atomic_helper_commit_tail_rpm+0x88/0xac > > [ 70.432775] commit_tail+0xa0/0x17c > > [ 70.436254] drm_atomic_helper_commit+0x190/0x3a0 > > [ 70.440949] drm_atomic_commit+0x5c/0x6c > > [ 70.444864] drm_mode_gamma_set_ioctl+0x45c/0x640 > > [ 70.449560] drm_ioctl_kernel+0xc4/0x174 > > [ 70.453475] drm_ioctl+0x238/0x45c > > [ 70.456868] __arm64_sys_ioctl+0xac/0xf0 > > [ 70.460786] invoke_syscall+0x48/0x114 > > [ 70.464529] el0_svc_common.constprop.0+0x60/0x11c > > [ 70.469312] do_el0_svc+0x28/0x90 > > [ 70.472619] el0_svc+0x4c/0x100 > > [ 70.475754] el0t_64_sync_handler+0xec/0xf0 > > [ 70.479928] el0t_64_sync+0x1a0/0x1a4 > > [ 70.483582] irq event stamp: 0 > > [ 70.486625] hardirqs last enabled at (0): [<0000000000000000>] > > 0x0 > > [ 70.492883] hardirqs last disabled at (0): [] > > copy_process+0x658/0x197c > > [ 70.501053] softirqs last enabled at (0): [] > > copy_process+0x658/0x197c > > [ 70.509219] softirqs last disabled at (0): [<0000000000000000>] > > 0x0 > > [ 70.515475] ---[ end trace 0000000000000000 ]--- > > > > Regards, > > Benjamin > > > > > > > > > > > > > > > Regards, > > > > Benjamin > > > > > > > > > Changes since v1: > > > > > 1. Dsi sequence marked with patch adjustment > > > > > 2. Fixes: mtk_dsi: Use the drm_panel_bridge > > > > > > > > > > Jitao Shi (3): > > > > > drm/mediatek: Adjust the timing of mipi signal from LP00 to > > > > > LP11 > > > > > drm/mediatek: Separate poweron/poweroff from enable/disable > > > > > and define > > > > > new funcs > > > > > drm/mediatek: keep dsi as LP00 before dcs cmds transfer > > > > > > > > > > Xinlei Lee (1): > > > > > drm/mediatek: Add pull-down MIPI operation in > > > > > mtk_dsi_poweroff > > > > > function > > > > > > > > > > drivers/gpu/drm/mediatek/mtk_dsi.c | 73 > > > > > ++++++++++++++++++++---------- > > > > > 1 file changed, 49 insertions(+), 24 deletions(-) > > > > > > > > > > > > > _______________________________________________ > > > > Linux-mediatek mailing list > > > > Linux-mediatek@lists.infradead.org > > > > http://lists.infradead.org/mailman/listinfo/linux-mediatek > > > > > > > > _______________________________________________ > > > > Linux-mediatek mailing list > > > > Linux-mediatek@lists.infradead.org > > > > http://lists.infradead.org/mailman/listinfo/linux-mediatek > > Hi Benjamin: > > I confirmed with hsin-yi that if she doesn't add these patches, the > screen of tv101 should work normally. My local test can also be > displayed. > panel-boe-tv101wum-nl6 14014000.dsi.0: failed to write command 1 > =3D>From this log, it can be seen that the initial code issued by the > platform was unsuccessful, and it cannot be ruled out that the panel is > no problem. > It is recommended to grab the latest kukui kernel on google CPFE or try > another platform to test. hi Xinlei, Please test with linux-next as well besides testing on downstream kernel. > > Best Regards! > xinlei > 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 38D75C433EF for ; Thu, 10 Mar 2022 03:54:30 +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=CLrXkn6WpFR5SQ2T4N0dyFEaBw8cciALqcqC5H02MDI=; b=fqd3UwgCLnMziV wdDvLeTpMEnQmgle+2PNb72ObOx8tQ6IjwykyIvPOIF9ngW1BIRpxAC/KdjclOjZgaa63uwiljAIj FIigFN7jjDVK8MODxFw1vy2ERu0zZbR01LVRwGo48CuJ3IuhUgc+vk+2Sd37NuBzHekAQQdHPanY/ eY7rgm7PuygKk6sWxVYPzVBIQXf4bPib3aRR8jcOa6umQCWyLe7C7H+p4CwD2TeODiienNBINp0o3 CJQ9VjH30HT5hmmXURwZx4L8r/2xpcELzj7TJt9L1r+RJwN7ygQKMGbkfpsevki+Rc/BTPOUxScaY 4rCTDYIpJ6xm6Y6RxseQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1nS9sa-00BDk0-5X; Thu, 10 Mar 2022 03:54:20 +0000 Received: from mail-vs1-xe32.google.com ([2607:f8b0:4864:20::e32]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1nS9sN-00BDhw-DF for linux-mediatek@lists.infradead.org; Thu, 10 Mar 2022 03:54:09 +0000 Received: by mail-vs1-xe32.google.com with SMTP id h30so4580452vsq.13 for ; Wed, 09 Mar 2022 19:54:05 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=g02VUi9lshGZqdo5/cYz41hUNMH+xzDGxn419kRsSDM=; b=AYw+oqeYvhX8+fR3qZ+SBNAQ94dLDTiQJCgtCnnyNYe9OsEd9rQhku9ryCoJ+oQnYu wChUwbZ9MI/D1Elro+3Y/6In02ApdqcE0JVL1a2Cx9Y+NiN91Q8w7vp+jol87kzx9Mkz L108U0YzcM0PkD4zNPuhqO9LvWwZzeL54U3+o= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=g02VUi9lshGZqdo5/cYz41hUNMH+xzDGxn419kRsSDM=; b=sEP56D94PDRFTqG4BGqVcsGd3J3CPscWL+hfuHcyqsNhsS3M5y0NX1idFgSiYFGfef VzzOUgNuERUZyy2F7sT9CctxSznrkeynpYmLcqvclThrFpphhNaiSNT1d5tIMhoBE6/2 csscC8blLxn2sPbbIADBNQkjn1nwMBAew5V2Mu8p/+pR9FwUR86mjDirOAY9DP3AW8gQ r0iitj1smmJuczYx1TJybcXv8wHsoy+1L6u8bh8cWPfx810AMWUhd9QQchp/+nOcafJb KPj5vtkk7ZvEWxnUwo/ndG4GE832LGhaZ3ZVmCRKgq2OF8fvWMxA/oSmjhiiwOoSaGAt KoJQ== X-Gm-Message-State: AOAM530LdOp2r21M1MgylM5I0EGBefEv6XdYCvsYkDaSOGETEZ5CHtAw cHDnizt8gpzinHgXmCFiz014LNT5wXw+4t984Ij1ejFhMwQ= X-Google-Smtp-Source: ABdhPJx1BC9Et7WCgqRCFdi4vzEYXi4wWKs8q5rB+Ji944RNhXlD8m+JZ4yYI5RSJ76rEehH33845dCCumLNCWeLegk= X-Received: by 2002:a67:df98:0:b0:320:8446:7c6d with SMTP id x24-20020a67df98000000b0032084467c6dmr1276863vsk.16.1646884444142; Wed, 09 Mar 2022 19:54:04 -0800 (PST) MIME-Version: 1.0 References: <1646388956-8033-1-git-send-email-xinlei.lee@mediatek.com> <90f28179a3cffcaf28640066079391e31783a9f7.camel@mediatek.com> In-Reply-To: <90f28179a3cffcaf28640066079391e31783a9f7.camel@mediatek.com> From: Hsin-Yi Wang Date: Thu, 10 Mar 2022 11:53:37 +0800 Message-ID: Subject: Re: [PATCH v2, 0/4] Cooperate with DSI RX devices to modify dsi funcs and delay mipi high to cooperate with panel sequence To: "xinlei.lee" Cc: Benjamin Gaignard , chunkuang.hu@kernel.org, p.zabel@pengutronix.de, airlied@linux.ie, daniel@ffwll.ch, matthias.bgg@gmail.com, dri-devel@lists.freedesktop.org, linux-mediatek@lists.infradead.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Project_Global_Chrome_Upstream_Group@mediatek.com, jitao.shi@mediatek.com, allen-kh.cheng@mediatek.com, Rex-BC.Chen@mediatek.com X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220309_195407_498010_2C1EFC58 X-CRM114-Status: GOOD ( 42.20 ) X-BeenThere: linux-mediatek@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-mediatek" Errors-To: linux-mediatek-bounces+linux-mediatek=archiver.kernel.org@lists.infradead.org T24gVGh1LCBNYXIgMTAsIDIwMjIgYXQgMTE6MzMgQU0geGlubGVpLmxlZSA8eGlubGVpLmxlZUBt ZWRpYXRlay5jb20+IHdyb3RlOgo+Cj4gT24gVHVlLCAyMDIyLTAzLTA4IGF0IDExOjAwICswMTAw LCBCZW5qYW1pbiBHYWlnbmFyZCB3cm90ZToKPiA+IExlIDA4LzAzLzIwMjIgw6AgMTA6MTIsIEhz aW4tWWkgV2FuZyBhIMOpY3JpdCA6Cj4gPiA+IE9uIEZyaSwgTWFyIDQsIDIwMjIgYXQgNzoyNSBQ TSBCZW5qYW1pbiBHYWlnbmFyZAo+ID4gPiA8YmVuamFtaW4uZ2FpZ25hcmRAY29sbGFib3JhLmNv bT4gd3JvdGU6Cj4gPiA+ID4KPiA+ID4gPiBMZSAwNC8wMy8yMDIyIMOgIDExOjE1LCB4aW5sZWku bGVlQG1lZGlhdGVrLmNvbSBhIMOpY3JpdCA6Cj4gPiA+ID4gPiBGcm9tOiBYaW5sZWkgTGVlIDx4 aW5sZWkubGVlQG1lZGlhdGVrLmNvbT4KPiA+ID4gPiA+Cj4gPiA+ID4gPiBJbiB1cHN0cmVhbS12 NS44LCBkc2lfZW5hYmxlIHdpbGwgb3BlcmF0ZSBwYW5lbF9lbmFibGUsIGJ1dAo+ID4gPiA+ID4g dGhpcwo+ID4gPiA+ID4gbW9kaWZpY2F0aW9uIGhhcyBiZWVuIG1vdmVkIGluIHY1LjkuIEluIG9y ZGVyIHRvIGVuc3VyZSB0aGUKPiA+ID4gPiA+IHRpbWluZyBvZgo+ID4gPiA+ID4gZHNpX3Bvd2Vy X29uL29mZiBhbmQgdGhlIHRpbWluZyBvZiBwdWxsaW5nIHVwL2Rvd24gdGhlIE1JUEkKPiA+ID4g PiA+IHNpZ25hbCwKPiA+ID4gPiA+IHRoZSBtb2RpZmljYXRpb24gb2YgdjUuOSBpcyBzeW5jaHJv bml6ZWQgaW4gdGhpcyBzZXJpZXMgb2YKPiA+ID4gPiA+IHBhdGNoZXMuCj4gPiA+ID4KPiA+ID4g PiBIZWxsbywKPiA+ID4gPgo+ID4gPiA+IEknbSB0cnlpbmcgdG8gZGVidWcgYW4gaXNzdWUgb24g bXQ4MTgzIGt1a3VpIGtyYW5lIHNrdTE3NiBkZXZpY2UuCj4gPiA+ID4gVGhlIHByb2JsZW0gaXMg dGhhdCBib2UtdHYxMDF3dW0tbmw2IHBhbmVsIGlzbid0IHdvcmtpbmcuCj4gPiA+ID4gQXQgYm9v dCB0aW1lIEkgY2FuIHNlZSB0aGVzZSBsb2dzOgo+ID4gPiA+IHBhbmVsLWJvZS10djEwMXd1bS1u bDYgMTQwMTQwMDAuZHNpLjA6IGZhaWxlZCB0byB3cml0ZSBjb21tYW5kIDEKPiA+ID4gPiBwYW5l bC1ib2UtdHYxMDF3dW0tbmw2IDE0MDE0MDAwLmRzaS4wOiBmYWlsZWQgdG8gaW5pdCBwYW5lbDog LTYyCj4gPiA+ID4gYW5kIGEgRFNJIGludGVycnVwdCB0aW1lIG91dC4KPiA+ID4gPgo+ID4gPiA+ IFNpbmNlIEkgYmVsaWV2ZSB0aGUgcHJvYmxlbSBpcyBsaW5rIHRvIERTSS9wYW5lbCBlbmFibGlu Zwo+ID4gPiA+IHNlcXVlbmNlCj4gPiA+ID4gSSBoYXZlIHRyeSB0aGlzIHNlcmllcyBidXQgdGhh dCBkb2Vzbid0IHNvbHZlIHRoZSBpc3N1ZS4KPiA+ID4gPiBJIG5vdGljZSB0aGF0IHdoZW4gZ29p bmcgb3V0IG9mIGRlZXAgc2xlZXAgbW9kZSBwYW5lbCBpcwo+ID4gPiA+IGZ1bmN0aW9uYWwuCj4g PiA+ID4KPiA+ID4gPiBNYXkgeW91IGhhdmUgYW55IGlkZWEgdG8gZGVidWcvc29sdmUgdGhpcyBw cm9ibGVtID8KPiA+ID4gPgo+ID4gPgo+ID4gPiBIaSBCZW5qYW1pbiwKPiA+ID4KPiA+ID4gSSB0 aGluayB0aGlzIG1pZ2h0IG5vdCBiZSByZWxhdGVkIHRvIHRoaXMgc2VyaWVzLiBXaGljaCBrZXJu ZWwgYXJlCj4gPiA+IHlvdSB1c2luZz8KPiA+ID4gSSB0cmllZCB0aGUga3JhbmUgc2t1MTc2IHdp dGggbGludXgtbmV4dCA1LjE3LXJjNgo+ID4gPiAoNTE5ZGQ2YzE5OTg2Njk2ZjU5ODQ3ZmY4YmY5 MzA0MzZjY2ZmZDlhMSAodGFnOiBuZXh0LTIwMjIwMzA3LAo+ID4gPiBsaW51eC1uZXh0L21hc3Rl cikgd2l0aCBvciB3aXRob3V0IHRoaXMgc2VyaWVzLCBib3RoIGNhbiBnZXQgdGhlCj4gPiA+IGRp c3BsYXkgb24uCj4gPiA+Cj4gPiA+IGRzaSByZWxhdGVkIG1lc3NhZ2U6Cj4gPiA+IFsgICAgMC4y MDYzMzBdIG1lZGlhdGVrLWRybSBtZWRpYXRlay1kcm0uMS5hdXRvOiBBZGRpbmcgY29tcG9uZW50 Cj4gPiA+IG1hdGNoIGZvciAvc29jL2RzaUAxNDAxNDAwMAo+ID4gPiBbICAgIDQuNTY3NTc3XSBw YW5lbC1ib2UtdHYxMDF3dW0tbmw2IDE0MDE0MDAwLmRzaS4wOiBzdXBwbHkgcHAzMzAwCj4gPiA+ IG5vdCBmb3VuZCwgdXNpbmcgZHVtbXkgcmVndWxhdG9yCj4gPiA+IFsgICAgNC41Njc3MzJdIHBh bmVsLWJvZS10djEwMXd1bS1ubDYgMTQwMTQwMDAuZHNpLjA6IEdQSU8gbG9va3VwCj4gPiA+IGZv cgo+ID4gPiBjb25zdW1lciBlbmFibGUKPiA+ID4gWyAgICA0LjU2NzczOF0gcGFuZWwtYm9lLXR2 MTAxd3VtLW5sNiAxNDAxNDAwMC5kc2kuMDogdXNpbmcgZGV2aWNlCj4gPiA+IHRyZWUgZm9yIEdQ SU8gbG9va3VwCj4gPiA+IFsgICAgNC41Njc3NTddIG9mX2dldF9uYW1lZF9ncGlvZF9mbGFnczog cGFyc2VkICdlbmFibGUtZ3Bpb3MnCj4gPiA+IHByb3BlcnR5IG9mIG5vZGUgJy9zb2MvZHNpQDE0 MDE0MDAwL3BhbmVsQDBbMF0nIC0gc3RhdHVzICgwKQo+ID4gPiBbICAgIDQuNTg1ODg0XSBwYW5l bC1ib2UtdHYxMDF3dW0tbmw2IDE0MDE0MDAwLmRzaS4wOiBzdXBwbHkgcHAzMzAwCj4gPiA+IG5v dCBmb3VuZCwgdXNpbmcgZHVtbXkgcmVndWxhdG9yCj4gPiA+IFsgICAgNC41ODYwMzddIHBhbmVs LWJvZS10djEwMXd1bS1ubDYgMTQwMTQwMDAuZHNpLjA6IEdQSU8gbG9va3VwCj4gPiA+IGZvcgo+ ID4gPiBjb25zdW1lciBlbmFibGUKPiA+ID4gWyAgICA0LjU4NjA0Ml0gcGFuZWwtYm9lLXR2MTAx d3VtLW5sNiAxNDAxNDAwMC5kc2kuMDogdXNpbmcgZGV2aWNlCj4gPiA+IHRyZWUgZm9yIEdQSU8g bG9va3VwCj4gPiA+IFsgICAgNC41ODYwNTldIG9mX2dldF9uYW1lZF9ncGlvZF9mbGFnczogcGFy c2VkICdlbmFibGUtZ3Bpb3MnCj4gPiA+IHByb3BlcnR5IG9mIG5vZGUgJy9zb2MvZHNpQDE0MDE0 MDAwL3BhbmVsQDBbMF0nIC0gc3RhdHVzICgwKQo+ID4gPiBbICAgIDQuNTg3NDMwXSBtZWRpYXRl ay1kcm0gbWVkaWF0ZWstZHJtLjEuYXV0bzogYm91bmQgMTQwMTQwMDAuZHNpCj4gPiA+IChvcHMg MHhmZmZmZmZkMzY5YTc1MmI4KQo+ID4gPgo+ID4gPgo+ID4gPiBNYXliZSBzb21lIGNvbmZpZyBp cyBub3QgZW5hYmxlZD8KPiA+Cj4gPiBJIHVzaW5nIDUuMTcuMC1yYzEtbmV4dC0yMDIyMDEyNyBr ZXJuZWwgdGFnLgo+ID4gVGhlIGNvbmZpZ3MgbG9vayBzaW1pbGFyLgo+ID4KPiA+IEkgaGF2ZSB0 aGUgZm9sbG93IGxvZyBhdCBib290IHRpbWU6Cj4gPgo+ID4gWyAgICAxLjUzMzM4NF0gcGh5IHBo eS0xMWU1MDAwMC5kc2ktcGh5LjI6IExvb2tpbmcgdXAgcGh5LXN1cHBseSBmcm9tCj4gPiBkZXZp Y2UgdHJlZQo+ID4gWyAgICAxLjUzMzQwMl0gcGh5IHBoeS0xMWU1MDAwMC5kc2ktcGh5LjI6IExv b2tpbmcgdXAgcGh5LXN1cHBseQo+ID4gcHJvcGVydHkgaW4gbm9kZSAvc29jL2RzaS1waHlAMTFl NTAwMDAgZmFpbGVkCj4gPiBbICAgIDMuMTczMDY4XSBtZWRpYXRlay1kcm0gbWVkaWF0ZWstZHJt LjEuYXV0bzogQWRkaW5nIGNvbXBvbmVudAo+ID4gbWF0Y2ggZm9yIC9zb2MvZHNpQDE0MDE0MDAw Cj4gPiBbICAgIDQuNjcxODA2XSBwYW5lbC1ib2UtdHYxMDF3dW0tbmw2IDE0MDE0MDAwLmRzaS4w OiBMb29raW5nIHVwCj4gPiBhdmRkLXN1cHBseSBmcm9tIGRldmljZSB0cmVlCj4gPiBbICAgIDQu NjgwMzQ4XSBwYW5lbC1ib2UtdHYxMDF3dW0tbmw2IDE0MDE0MDAwLmRzaS4wOiBMb29raW5nIHVw Cj4gPiBhdmVlLXN1cHBseSBmcm9tIGRldmljZSB0cmVlCj4gPiBbICAgIDQuNjg4Nzg0XSBwYW5l bC1ib2UtdHYxMDF3dW0tbmw2IDE0MDE0MDAwLmRzaS4wOiBMb29raW5nIHVwCj4gPiBwcDMzMDAt c3VwcGx5IGZyb20gZGV2aWNlIHRyZWUKPiA+IFsgICAgNC42OTc4MTZdIHBhbmVsLWJvZS10djEw MXd1bS1ubDYgMTQwMTQwMDAuZHNpLjA6IExvb2tpbmcgdXAKPiA+IHBwMTgwMC1zdXBwbHkgZnJv bSBkZXZpY2UgdHJlZQo+ID4gWyAgICA0Ljg0MjM0Nl0gcGFuZWwtYm9lLXR2MTAxd3VtLW5sNiAx NDAxNDAwMC5kc2kuMDogTG9va2luZyB1cAo+ID4gYXZkZC1zdXBwbHkgZnJvbSBkZXZpY2UgdHJl ZQo+ID4gWyAgICA0Ljg1NDU3M10gcGFuZWwtYm9lLXR2MTAxd3VtLW5sNiAxNDAxNDAwMC5kc2ku MDogTG9va2luZyB1cAo+ID4gYXZlZS1zdXBwbHkgZnJvbSBkZXZpY2UgdHJlZQo+ID4gWyAgICA0 Ljg2Mjk3Nl0gcGFuZWwtYm9lLXR2MTAxd3VtLW5sNiAxNDAxNDAwMC5kc2kuMDogTG9va2luZyB1 cAo+ID4gcHAzMzAwLXN1cHBseSBmcm9tIGRldmljZSB0cmVlCj4gPiBbICAgIDQuODcxNTY4XSBw YW5lbC1ib2UtdHYxMDF3dW0tbmw2IDE0MDE0MDAwLmRzaS4wOiBMb29raW5nIHVwCj4gPiBwcDE4 MDAtc3VwcGx5IGZyb20gZGV2aWNlIHRyZWUKPiA+IFsgICAgNC45NjQwMjFdIG1lZGlhdGVrLWRy bSBtZWRpYXRlay1kcm0uMS5hdXRvOiBib3VuZCAxNDAxNDAwMC5kc2kKPiA+IChvcHMgbXRrX2Rz aV9jb21wb25lbnRfb3BzKQo+ID4gLi4uCj4gPiBbICAgMzguMjczNDM3XSBbZHJtXSBXYWl0IERT SSBJUlEoMHgwMDAwMDAwMikgVGltZW91dAo+ID4gWyAgIDM4LjI4MTU4NF0gcGFuZWwtYm9lLXR2 MTAxd3VtLW5sNiAxNDAxNDAwMC5kc2kuMDogZmFpbGVkIHRvIHdyaXRlCj4gPiBjb21tYW5kIDEK PiA+IFsgICAzOC4yODg2NTFdIHBhbmVsLWJvZS10djEwMXd1bS1ubDYgMTQwMTQwMDAuZHNpLjA6 IGZhaWxlZCB0byBpbml0Cj4gPiBwYW5lbDogLTYyCj4gPiAuLi4KPiA+IFsgICA3MC4xMTM2NzRd IG1lZGlhdGVrLWRybSBtZWRpYXRlay1kcm0uMS5hdXRvOiBbZHJtXSAqRVJST1IqCj4gPiBmbGlw X2RvbmUgdGltZWQgb3V0Cj4gPiBbICAgNzAuMTIxMDU0XSBtZWRpYXRlay1kcm0gbWVkaWF0ZWst ZHJtLjEuYXV0bzogW2RybV0gKkVSUk9SKgo+ID4gW0NSVEM6NDU6Y3J0Yy0wXSBjb21taXQgd2Fp dCB0aW1lZCBvdXQKPiA+IFsgICA3MC4xMzAwMzddIFtkcm06bXRrX2RybV9jcnRjX2F0b21pY19i ZWdpbl0gKkVSUk9SKiBuZXcgZXZlbnQKPiA+IHdoaWxlIHRoZXJlIGlzIHN0aWxsIGEgcGVuZGlu ZyBldmVudAo+ID4gWyAgIDcwLjI0MTIyMl0gLS0tLS0tLS0tLS0tWyBjdXQgaGVyZSBdLS0tLS0t LS0tLS0tCj4gPiBbICAgNzAuMjQ1ODk4XSBbQ1JUQzo0NTpjcnRjLTBdIHZibGFuayB3YWl0IHRp bWVkIG91dAo+ID4gWyAgIDcwLjI1MDcyOV0gV0FSTklORzogQ1BVOiA3IFBJRDogMzk3IGF0Cj4g PiBkcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY19oZWxwZXIuYzoxNTI5Cj4gPiBkcm1fYXRvbWlj X2hlbHBlcl93YWl0X2Zvcl92YmxhbmtzLnBhcnQuMCsweDI5MC8weDI0Cj4gPiBbICAgNzAuMjYy ODE1XSBNb2R1bGVzIGxpbmtlZCBpbjogaGNpX3VhcnQgYnRxY2EgYnRiY20gYmx1ZXRvb3RoCj4g PiBjZGNfZXRoZXIgdXNibmV0IHI4MTUyIG10a19tZHAzIGhpZF9tdWx0aXRvdWNoIG10a19qcGVn IHBhbmZyb3N0Cj4gPiBjcm9zXzYKPiA+IFsgICA3MC4zMDkzNDhdIENQVTogNyBQSUQ6IDM5NyBD b21tOiBnbm9tZS1zaGVsbCBUYWludGVkOgo+ID4gRyAgICAgICAgVyAgICAgICAgIDUuMTcuMC1y YzEtbmV4dC0yMDIyMDEyNysgIzU3Cj4gPiBbICAgNzAuMzE4NzMxXSBIYXJkd2FyZSBuYW1lOiBN ZWRpYVRlayBrcmFuZSBza3UxNzYgYm9hcmQgKERUKQo+ID4gWyAgIDcwLjMyNDI5M10gcHN0YXRl OiA2MDAwMDAwNSAoblpDdiBkYWlmIC1QQU4gLVVBTyAtVENPIC1ESVQgLVNTQlMKPiA+IEJUWVBF PS0tKQo+ID4gWyAgIDcwLjMzMTI0NF0gcGMgOgo+ID4gZHJtX2F0b21pY19oZWxwZXJfd2FpdF9m b3JfdmJsYW5rcy5wYXJ0LjArMHgyOTAvMHgyYjQKPiA+IFsgICA3MC4zMzc3NjJdIGxyIDoKPiA+ IGRybV9hdG9taWNfaGVscGVyX3dhaXRfZm9yX3ZibGFua3MucGFydC4wKzB4MjkwLzB4MmI0Cj4g PiBbICAgNzAuMzQ0Mjc5XSBzcCA6IGZmZmY4MDAwMDkyMzM5ZTAKPiA+IFsgICA3MC4zNDc1ODNd IHgyOTogZmZmZjgwMDAwOTIzMzllMCB4Mjg6IDAwMDAwMDAwMDAwMDAwMDEgeDI3Ogo+ID4gMDAw MDAwMDAwMDAwMDAwMAo+ID4gWyAgIDcwLjM1NDcxM10geDI2OiAwMDAwMDAwMDAwMDAwMDAwIHgy NTogZmZmZmM3ZThmZWVlNDY2MCB4MjQ6Cj4gPiAwMDAwMDAwMDAwMDAwMDM4Cj4gPiBbICAgNzAu MzYxODQyXSB4MjM6IGZmZmY2ZmU3MDJiMGQwMDAgeDIyOiAwMDAwMDAwMDAwMDAwMDAxIHgyMToK PiA+IGZmZmY2ZmU3MDMwZDUwODAKPiA+IFsgICA3MC4zNjg5NzBdIHgyMDogZmZmZjZmZTcwOWQ3 ZDcwMCB4MTk6IDAwMDAwMDAwMDAwMDAwMDAgeDE4Ogo+ID4gMDAwMDAwMDAwMDAwMDAzMAo+ID4g WyAgIDcwLjM3NjA5OV0geDE3OiAwMDAwMDAwNDAwNDRmZmZmIHgxNjogMDA0MDAwMzJiNTUwMzUx MCB4MTU6Cj4gPiBmZmZmZmZmZmZmZmZmZmZmCj4gPiBbICAgNzAuMzgzMjI3XSB4MTQ6IGZmZmZj N2U4ZmZhOTkyMjAgeDEzOiAwMDAwMDAwMDAwMDAwOTRiIHgxMjoKPiA+IDAwMDAwMDAwMDAwMDAz MTkKPiA+IFsgICA3MC4zOTAzNTRdIHgxMTogNmU2MTZjNjI3NjIwNWQzMCB4MTA6IGZmZmZjN2U4 ZmZiNDkyMjAgeDkgOgo+ID4gMDAwMDAwMDBmZmZmZTAwMAo+ID4gWyAgIDcwLjM5NzQ4M10geDgg OiBmZmZmYzdlOGZmYTk5MjIwIHg3IDogMDAwMDAwMDAwMDAwMDAwMSB4NiA6Cj4gPiAwMDAwMDAw MDAwMDAwMDAwCj4gPiBbICAgNzAuNDA0NjExXSB4NSA6IDAwMDAwMDAwMDAwMDAwMDAgeDQgOiBm ZmZmNmZlNzNiNWU0Y2Y4IHgzIDoKPiA+IGZmZmY2ZmU3M2I1ZjA4NDAKPiA+IFsgICA3MC40MTE3 MzhdIHgyIDogMDAwMDAwMDAwMDAwMDAwMCB4MSA6IDAwMDAwMDAwMDAwMDAwMDAgeDAgOgo+ID4g ZmZmZjZmZTcwMmYyMDAwMAo+ID4gWyAgIDcwLjQxODg2Nl0gQ2FsbCB0cmFjZToKPiA+IFsgICA3 MC40MjEzMDFdICBkcm1fYXRvbWljX2hlbHBlcl93YWl0X2Zvcl92YmxhbmtzLnBhcnQuMCsweDI5 MC8weDJiNAo+ID4gWyAgIDcwLjQyNzQ3Ml0gIGRybV9hdG9taWNfaGVscGVyX2NvbW1pdF90YWls X3JwbSsweDg4LzB4YWMKPiA+IFsgICA3MC40MzI3NzVdICBjb21taXRfdGFpbCsweGEwLzB4MTdj Cj4gPiBbICAgNzAuNDM2MjU0XSAgZHJtX2F0b21pY19oZWxwZXJfY29tbWl0KzB4MTkwLzB4M2Ew Cj4gPiBbICAgNzAuNDQwOTQ5XSAgZHJtX2F0b21pY19jb21taXQrMHg1Yy8weDZjCj4gPiBbICAg NzAuNDQ0ODY0XSAgZHJtX21vZGVfZ2FtbWFfc2V0X2lvY3RsKzB4NDVjLzB4NjQwCj4gPiBbICAg NzAuNDQ5NTYwXSAgZHJtX2lvY3RsX2tlcm5lbCsweGM0LzB4MTc0Cj4gPiBbICAgNzAuNDUzNDc1 XSAgZHJtX2lvY3RsKzB4MjM4LzB4NDVjCj4gPiBbICAgNzAuNDU2ODY4XSAgX19hcm02NF9zeXNf aW9jdGwrMHhhYy8weGYwCj4gPiBbICAgNzAuNDYwNzg2XSAgaW52b2tlX3N5c2NhbGwrMHg0OC8w eDExNAo+ID4gWyAgIDcwLjQ2NDUyOV0gIGVsMF9zdmNfY29tbW9uLmNvbnN0cHJvcC4wKzB4NjAv MHgxMWMKPiA+IFsgICA3MC40NjkzMTJdICBkb19lbDBfc3ZjKzB4MjgvMHg5MAo+ID4gWyAgIDcw LjQ3MjYxOV0gIGVsMF9zdmMrMHg0Yy8weDEwMAo+ID4gWyAgIDcwLjQ3NTc1NF0gIGVsMHRfNjRf c3luY19oYW5kbGVyKzB4ZWMvMHhmMAo+ID4gWyAgIDcwLjQ3OTkyOF0gIGVsMHRfNjRfc3luYysw eDFhMC8weDFhNAo+ID4gWyAgIDcwLjQ4MzU4Ml0gaXJxIGV2ZW50IHN0YW1wOiAwCj4gPiBbICAg NzAuNDg2NjI1XSBoYXJkaXJxcyBsYXN0ICBlbmFibGVkIGF0ICgwKTogWzwwMDAwMDAwMDAwMDAw MDAwPl0KPiA+IDB4MAo+ID4gWyAgIDcwLjQ5Mjg4M10gaGFyZGlycXMgbGFzdCBkaXNhYmxlZCBh dCAoMCk6IFs8ZmZmZmM3ZThmZDQ5MzgzYz5dCj4gPiBjb3B5X3Byb2Nlc3MrMHg2NTgvMHgxOTdj Cj4gPiBbICAgNzAuNTAxMDUzXSBzb2Z0aXJxcyBsYXN0ICBlbmFibGVkIGF0ICgwKTogWzxmZmZm YzdlOGZkNDkzODNjPl0KPiA+IGNvcHlfcHJvY2VzcysweDY1OC8weDE5N2MKPiA+IFsgICA3MC41 MDkyMTldIHNvZnRpcnFzIGxhc3QgZGlzYWJsZWQgYXQgKDApOiBbPDAwMDAwMDAwMDAwMDAwMDA+ XQo+ID4gMHgwCj4gPiBbICAgNzAuNTE1NDc1XSAtLS1bIGVuZCB0cmFjZSAwMDAwMDAwMDAwMDAw MDAwIF0tLS0KPiA+Cj4gPiBSZWdhcmRzLAo+ID4gQmVuamFtaW4KPiA+Cj4gPiA+Cj4gPiA+Cj4g PiA+Cj4gPiA+ID4gUmVnYXJkcywKPiA+ID4gPiBCZW5qYW1pbgo+ID4gPiA+Cj4gPiA+ID4gPiBD aGFuZ2VzIHNpbmNlIHYxOgo+ID4gPiA+ID4gMS4gRHNpIHNlcXVlbmNlIG1hcmtlZCB3aXRoIHBh dGNoIGFkanVzdG1lbnQKPiA+ID4gPiA+IDIuIEZpeGVzOiBtdGtfZHNpOiBVc2UgdGhlIGRybV9w YW5lbF9icmlkZ2UKPiA+ID4gPiA+Cj4gPiA+ID4gPiBKaXRhbyBTaGkgKDMpOgo+ID4gPiA+ID4g ICAgIGRybS9tZWRpYXRlazogQWRqdXN0IHRoZSB0aW1pbmcgb2YgbWlwaSBzaWduYWwgZnJvbSBM UDAwIHRvCj4gPiA+ID4gPiBMUDExCj4gPiA+ID4gPiAgICAgZHJtL21lZGlhdGVrOiBTZXBhcmF0 ZSBwb3dlcm9uL3Bvd2Vyb2ZmIGZyb20gZW5hYmxlL2Rpc2FibGUKPiA+ID4gPiA+IGFuZCBkZWZp bmUKPiA+ID4gPiA+ICAgICAgIG5ldyBmdW5jcwo+ID4gPiA+ID4gICAgIGRybS9tZWRpYXRlazog a2VlcCBkc2kgYXMgTFAwMCBiZWZvcmUgZGNzIGNtZHMgdHJhbnNmZXIKPiA+ID4gPiA+Cj4gPiA+ ID4gPiBYaW5sZWkgTGVlICgxKToKPiA+ID4gPiA+ICAgICBkcm0vbWVkaWF0ZWs6IEFkZCBwdWxs LWRvd24gTUlQSSBvcGVyYXRpb24gaW4KPiA+ID4gPiA+IG10a19kc2lfcG93ZXJvZmYKPiA+ID4g PiA+ICAgICAgIGZ1bmN0aW9uCj4gPiA+ID4gPgo+ID4gPiA+ID4gICAgZHJpdmVycy9ncHUvZHJt L21lZGlhdGVrL210a19kc2kuYyB8IDczCj4gPiA+ID4gPiArKysrKysrKysrKysrKysrKysrKy0t LS0tLS0tLS0KPiA+ID4gPiA+ICAgIDEgZmlsZSBjaGFuZ2VkLCA0OSBpbnNlcnRpb25zKCspLCAy NCBkZWxldGlvbnMoLSkKPiA+ID4gPiA+Cj4gPiA+ID4KPiA+ID4gPiBfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+ID4gPiA+IExpbnV4LW1lZGlhdGVrIG1h aWxpbmcgbGlzdAo+ID4gPiA+IExpbnV4LW1lZGlhdGVrQGxpc3RzLmluZnJhZGVhZC5vcmcKPiA+ ID4gPiBodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LW1l ZGlhdGVrCj4gPiA+ID4KPiA+ID4gPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwo+ID4gPiA+IExpbnV4LW1lZGlhdGVrIG1haWxpbmcgbGlzdAo+ID4gPiA+ IExpbnV4LW1lZGlhdGVrQGxpc3RzLmluZnJhZGVhZC5vcmcKPiA+ID4gPiBodHRwOi8vbGlzdHMu aW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LW1lZGlhdGVrCj4KPiBIaSBCZW5q YW1pbjoKPgo+IEkgY29uZmlybWVkIHdpdGggaHNpbi15aSB0aGF0IGlmIHNoZSBkb2Vzbid0IGFk ZCB0aGVzZSBwYXRjaGVzLCB0aGUKPiBzY3JlZW4gb2YgdHYxMDEgc2hvdWxkIHdvcmsgbm9ybWFs bHkuIE15IGxvY2FsIHRlc3QgY2FuIGFsc28gYmUKPiBkaXNwbGF5ZWQuCj4gcGFuZWwtYm9lLXR2 MTAxd3VtLW5sNiAxNDAxNDAwMC5kc2kuMDogZmFpbGVkIHRvIHdyaXRlIGNvbW1hbmQgMQo+ID0+ RnJvbSB0aGlzIGxvZywgaXQgY2FuIGJlIHNlZW4gdGhhdCB0aGUgaW5pdGlhbCBjb2RlIGlzc3Vl ZCBieSB0aGUKPiBwbGF0Zm9ybSB3YXMgdW5zdWNjZXNzZnVsLCBhbmQgaXQgY2Fubm90IGJlIHJ1 bGVkIG91dCB0aGF0IHRoZSBwYW5lbCBpcwo+IG5vIHByb2JsZW0uCj4gSXQgaXMgcmVjb21tZW5k ZWQgdG8gZ3JhYiB0aGUgbGF0ZXN0IGt1a3VpIGtlcm5lbCBvbiBnb29nbGUgQ1BGRSBvciB0cnkK PiBhbm90aGVyIHBsYXRmb3JtIHRvIHRlc3QuCgpoaSBYaW5sZWksClBsZWFzZSB0ZXN0IHdpdGgg bGludXgtbmV4dCBhcyB3ZWxsIGJlc2lkZXMgdGVzdGluZyBvbiBkb3duc3RyZWFtIGtlcm5lbC4K Pgo+IEJlc3QgUmVnYXJkcyEKPiB4aW5sZWkKPgoKX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KTGludXgtbWVkaWF0ZWsgbWFpbGluZyBsaXN0CkxpbnV4LW1l ZGlhdGVrQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFp bG1hbi9saXN0aW5mby9saW51eC1tZWRpYXRlawo= 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 gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (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 E4462C433EF for ; Thu, 10 Mar 2022 03:54:08 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id ECAFC10EA4C; Thu, 10 Mar 2022 03:54:06 +0000 (UTC) Received: from mail-vs1-xe32.google.com (mail-vs1-xe32.google.com [IPv6:2607:f8b0:4864:20::e32]) by gabe.freedesktop.org (Postfix) with ESMTPS id 58CBE10EA4C for ; Thu, 10 Mar 2022 03:54:05 +0000 (UTC) Received: by mail-vs1-xe32.google.com with SMTP id z85so4608246vsz.5 for ; Wed, 09 Mar 2022 19:54:05 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=g02VUi9lshGZqdo5/cYz41hUNMH+xzDGxn419kRsSDM=; b=AYw+oqeYvhX8+fR3qZ+SBNAQ94dLDTiQJCgtCnnyNYe9OsEd9rQhku9ryCoJ+oQnYu wChUwbZ9MI/D1Elro+3Y/6In02ApdqcE0JVL1a2Cx9Y+NiN91Q8w7vp+jol87kzx9Mkz L108U0YzcM0PkD4zNPuhqO9LvWwZzeL54U3+o= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=g02VUi9lshGZqdo5/cYz41hUNMH+xzDGxn419kRsSDM=; b=KQZPSdNrf6B687DxdcXHlIu+2xSa0SSnCITQ4XAmr3tlOwFmOZbasiwXLSuUpGJx9w hvsfPqtgPrEqTZ5e8WuVsJlC6LgUCMmUKLimcrPhP30Il+YZec4mHKFCSDR/RyLK31Hh n9tpRW9XATlcxyhCyqab4P+xYoPaLfIQkO09NrvxrbXA32VC+qhVrJ7UI1j/rtIuqQlZ F/SyJ7whsWiicBQHDX3ynFvaeGF6vSqH0+lsgDodIYfpnBQrNHZJQfa0egItSfxMCV0c UFHC/gColKkLtD6fjdaBiubuNQr+9Fffk6uLqjnXxfH1zSO1AnyZs0QVgdhqNkuvq9Al 6ixw== X-Gm-Message-State: AOAM533Ac4+AckEhDrWTpedvXs7znYLmIwq+UYSIBKTxvmZRCCzyT84S 7JUIFjDUliC/wbBtjwE4HNC+rMhRckznWcr+WkVfeg== X-Google-Smtp-Source: ABdhPJx1BC9Et7WCgqRCFdi4vzEYXi4wWKs8q5rB+Ji944RNhXlD8m+JZ4yYI5RSJ76rEehH33845dCCumLNCWeLegk= X-Received: by 2002:a67:df98:0:b0:320:8446:7c6d with SMTP id x24-20020a67df98000000b0032084467c6dmr1276863vsk.16.1646884444142; Wed, 09 Mar 2022 19:54:04 -0800 (PST) MIME-Version: 1.0 References: <1646388956-8033-1-git-send-email-xinlei.lee@mediatek.com> <90f28179a3cffcaf28640066079391e31783a9f7.camel@mediatek.com> In-Reply-To: <90f28179a3cffcaf28640066079391e31783a9f7.camel@mediatek.com> From: Hsin-Yi Wang Date: Thu, 10 Mar 2022 11:53:37 +0800 Message-ID: Subject: Re: [PATCH v2, 0/4] Cooperate with DSI RX devices to modify dsi funcs and delay mipi high to cooperate with panel sequence To: "xinlei.lee" Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: chunkuang.hu@kernel.org, Benjamin Gaignard , airlied@linux.ie, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, Project_Global_Chrome_Upstream_Group@mediatek.com, Rex-BC.Chen@mediatek.com, linux-mediatek@lists.infradead.org, matthias.bgg@gmail.com, jitao.shi@mediatek.com, linux-arm-kernel@lists.infradead.org, allen-kh.cheng@mediatek.com Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" On Thu, Mar 10, 2022 at 11:33 AM xinlei.lee wrote= : > > On Tue, 2022-03-08 at 11:00 +0100, Benjamin Gaignard wrote: > > Le 08/03/2022 =C3=A0 10:12, Hsin-Yi Wang a =C3=A9crit : > > > On Fri, Mar 4, 2022 at 7:25 PM Benjamin Gaignard > > > wrote: > > > > > > > > Le 04/03/2022 =C3=A0 11:15, xinlei.lee@mediatek.com a =C3=A9crit : > > > > > From: Xinlei Lee > > > > > > > > > > In upstream-v5.8, dsi_enable will operate panel_enable, but > > > > > this > > > > > modification has been moved in v5.9. In order to ensure the > > > > > timing of > > > > > dsi_power_on/off and the timing of pulling up/down the MIPI > > > > > signal, > > > > > the modification of v5.9 is synchronized in this series of > > > > > patches. > > > > > > > > Hello, > > > > > > > > I'm trying to debug an issue on mt8183 kukui krane sku176 device. > > > > The problem is that boe-tv101wum-nl6 panel isn't working. > > > > At boot time I can see these logs: > > > > panel-boe-tv101wum-nl6 14014000.dsi.0: failed to write command 1 > > > > panel-boe-tv101wum-nl6 14014000.dsi.0: failed to init panel: -62 > > > > and a DSI interrupt time out. > > > > > > > > Since I believe the problem is link to DSI/panel enabling > > > > sequence > > > > I have try this series but that doesn't solve the issue. > > > > I notice that when going out of deep sleep mode panel is > > > > functional. > > > > > > > > May you have any idea to debug/solve this problem ? > > > > > > > > > > Hi Benjamin, > > > > > > I think this might not be related to this series. Which kernel are > > > you using? > > > I tried the krane sku176 with linux-next 5.17-rc6 > > > (519dd6c19986696f59847ff8bf930436ccffd9a1 (tag: next-20220307, > > > linux-next/master) with or without this series, both can get the > > > display on. > > > > > > dsi related message: > > > [ 0.206330] mediatek-drm mediatek-drm.1.auto: Adding component > > > match for /soc/dsi@14014000 > > > [ 4.567577] panel-boe-tv101wum-nl6 14014000.dsi.0: supply pp3300 > > > not found, using dummy regulator > > > [ 4.567732] panel-boe-tv101wum-nl6 14014000.dsi.0: GPIO lookup > > > for > > > consumer enable > > > [ 4.567738] panel-boe-tv101wum-nl6 14014000.dsi.0: using device > > > tree for GPIO lookup > > > [ 4.567757] of_get_named_gpiod_flags: parsed 'enable-gpios' > > > property of node '/soc/dsi@14014000/panel@0[0]' - status (0) > > > [ 4.585884] panel-boe-tv101wum-nl6 14014000.dsi.0: supply pp3300 > > > not found, using dummy regulator > > > [ 4.586037] panel-boe-tv101wum-nl6 14014000.dsi.0: GPIO lookup > > > for > > > consumer enable > > > [ 4.586042] panel-boe-tv101wum-nl6 14014000.dsi.0: using device > > > tree for GPIO lookup > > > [ 4.586059] of_get_named_gpiod_flags: parsed 'enable-gpios' > > > property of node '/soc/dsi@14014000/panel@0[0]' - status (0) > > > [ 4.587430] mediatek-drm mediatek-drm.1.auto: bound 14014000.dsi > > > (ops 0xffffffd369a752b8) > > > > > > > > > Maybe some config is not enabled? > > > > I using 5.17.0-rc1-next-20220127 kernel tag. > > The configs look similar. > > > > I have the follow log at boot time: > > > > [ 1.533384] phy phy-11e50000.dsi-phy.2: Looking up phy-supply from > > device tree > > [ 1.533402] phy phy-11e50000.dsi-phy.2: Looking up phy-supply > > property in node /soc/dsi-phy@11e50000 failed > > [ 3.173068] mediatek-drm mediatek-drm.1.auto: Adding component > > match for /soc/dsi@14014000 > > [ 4.671806] panel-boe-tv101wum-nl6 14014000.dsi.0: Looking up > > avdd-supply from device tree > > [ 4.680348] panel-boe-tv101wum-nl6 14014000.dsi.0: Looking up > > avee-supply from device tree > > [ 4.688784] panel-boe-tv101wum-nl6 14014000.dsi.0: Looking up > > pp3300-supply from device tree > > [ 4.697816] panel-boe-tv101wum-nl6 14014000.dsi.0: Looking up > > pp1800-supply from device tree > > [ 4.842346] panel-boe-tv101wum-nl6 14014000.dsi.0: Looking up > > avdd-supply from device tree > > [ 4.854573] panel-boe-tv101wum-nl6 14014000.dsi.0: Looking up > > avee-supply from device tree > > [ 4.862976] panel-boe-tv101wum-nl6 14014000.dsi.0: Looking up > > pp3300-supply from device tree > > [ 4.871568] panel-boe-tv101wum-nl6 14014000.dsi.0: Looking up > > pp1800-supply from device tree > > [ 4.964021] mediatek-drm mediatek-drm.1.auto: bound 14014000.dsi > > (ops mtk_dsi_component_ops) > > ... > > [ 38.273437] [drm] Wait DSI IRQ(0x00000002) Timeout > > [ 38.281584] panel-boe-tv101wum-nl6 14014000.dsi.0: failed to write > > command 1 > > [ 38.288651] panel-boe-tv101wum-nl6 14014000.dsi.0: failed to init > > panel: -62 > > ... > > [ 70.113674] mediatek-drm mediatek-drm.1.auto: [drm] *ERROR* > > flip_done timed out > > [ 70.121054] mediatek-drm mediatek-drm.1.auto: [drm] *ERROR* > > [CRTC:45:crtc-0] commit wait timed out > > [ 70.130037] [drm:mtk_drm_crtc_atomic_begin] *ERROR* new event > > while there is still a pending event > > [ 70.241222] ------------[ cut here ]------------ > > [ 70.245898] [CRTC:45:crtc-0] vblank wait timed out > > [ 70.250729] WARNING: CPU: 7 PID: 397 at > > drivers/gpu/drm/drm_atomic_helper.c:1529 > > drm_atomic_helper_wait_for_vblanks.part.0+0x290/0x24 > > [ 70.262815] Modules linked in: hci_uart btqca btbcm bluetooth > > cdc_ether usbnet r8152 mtk_mdp3 hid_multitouch mtk_jpeg panfrost > > cros_6 > > [ 70.309348] CPU: 7 PID: 397 Comm: gnome-shell Tainted: > > G W 5.17.0-rc1-next-20220127+ #57 > > [ 70.318731] Hardware name: MediaTek krane sku176 board (DT) > > [ 70.324293] pstate: 60000005 (nZCv daif -PAN -UAO -TCO -DIT -SSBS > > BTYPE=3D--) > > [ 70.331244] pc : > > drm_atomic_helper_wait_for_vblanks.part.0+0x290/0x2b4 > > [ 70.337762] lr : > > drm_atomic_helper_wait_for_vblanks.part.0+0x290/0x2b4 > > [ 70.344279] sp : ffff8000092339e0 > > [ 70.347583] x29: ffff8000092339e0 x28: 0000000000000001 x27: > > 0000000000000000 > > [ 70.354713] x26: 0000000000000000 x25: ffffc7e8feee4660 x24: > > 0000000000000038 > > [ 70.361842] x23: ffff6fe702b0d000 x22: 0000000000000001 x21: > > ffff6fe7030d5080 > > [ 70.368970] x20: ffff6fe709d7d700 x19: 0000000000000000 x18: > > 0000000000000030 > > [ 70.376099] x17: 000000040044ffff x16: 00400032b5503510 x15: > > ffffffffffffffff > > [ 70.383227] x14: ffffc7e8ffa99220 x13: 000000000000094b x12: > > 0000000000000319 > > [ 70.390354] x11: 6e616c6276205d30 x10: ffffc7e8ffb49220 x9 : > > 00000000ffffe000 > > [ 70.397483] x8 : ffffc7e8ffa99220 x7 : 0000000000000001 x6 : > > 0000000000000000 > > [ 70.404611] x5 : 0000000000000000 x4 : ffff6fe73b5e4cf8 x3 : > > ffff6fe73b5f0840 > > [ 70.411738] x2 : 0000000000000000 x1 : 0000000000000000 x0 : > > ffff6fe702f20000 > > [ 70.418866] Call trace: > > [ 70.421301] drm_atomic_helper_wait_for_vblanks.part.0+0x290/0x2b4 > > [ 70.427472] drm_atomic_helper_commit_tail_rpm+0x88/0xac > > [ 70.432775] commit_tail+0xa0/0x17c > > [ 70.436254] drm_atomic_helper_commit+0x190/0x3a0 > > [ 70.440949] drm_atomic_commit+0x5c/0x6c > > [ 70.444864] drm_mode_gamma_set_ioctl+0x45c/0x640 > > [ 70.449560] drm_ioctl_kernel+0xc4/0x174 > > [ 70.453475] drm_ioctl+0x238/0x45c > > [ 70.456868] __arm64_sys_ioctl+0xac/0xf0 > > [ 70.460786] invoke_syscall+0x48/0x114 > > [ 70.464529] el0_svc_common.constprop.0+0x60/0x11c > > [ 70.469312] do_el0_svc+0x28/0x90 > > [ 70.472619] el0_svc+0x4c/0x100 > > [ 70.475754] el0t_64_sync_handler+0xec/0xf0 > > [ 70.479928] el0t_64_sync+0x1a0/0x1a4 > > [ 70.483582] irq event stamp: 0 > > [ 70.486625] hardirqs last enabled at (0): [<0000000000000000>] > > 0x0 > > [ 70.492883] hardirqs last disabled at (0): [] > > copy_process+0x658/0x197c > > [ 70.501053] softirqs last enabled at (0): [] > > copy_process+0x658/0x197c > > [ 70.509219] softirqs last disabled at (0): [<0000000000000000>] > > 0x0 > > [ 70.515475] ---[ end trace 0000000000000000 ]--- > > > > Regards, > > Benjamin > > > > > > > > > > > > > > > Regards, > > > > Benjamin > > > > > > > > > Changes since v1: > > > > > 1. Dsi sequence marked with patch adjustment > > > > > 2. Fixes: mtk_dsi: Use the drm_panel_bridge > > > > > > > > > > Jitao Shi (3): > > > > > drm/mediatek: Adjust the timing of mipi signal from LP00 to > > > > > LP11 > > > > > drm/mediatek: Separate poweron/poweroff from enable/disable > > > > > and define > > > > > new funcs > > > > > drm/mediatek: keep dsi as LP00 before dcs cmds transfer > > > > > > > > > > Xinlei Lee (1): > > > > > drm/mediatek: Add pull-down MIPI operation in > > > > > mtk_dsi_poweroff > > > > > function > > > > > > > > > > drivers/gpu/drm/mediatek/mtk_dsi.c | 73 > > > > > ++++++++++++++++++++---------- > > > > > 1 file changed, 49 insertions(+), 24 deletions(-) > > > > > > > > > > > > > _______________________________________________ > > > > Linux-mediatek mailing list > > > > Linux-mediatek@lists.infradead.org > > > > http://lists.infradead.org/mailman/listinfo/linux-mediatek > > > > > > > > _______________________________________________ > > > > Linux-mediatek mailing list > > > > Linux-mediatek@lists.infradead.org > > > > http://lists.infradead.org/mailman/listinfo/linux-mediatek > > Hi Benjamin: > > I confirmed with hsin-yi that if she doesn't add these patches, the > screen of tv101 should work normally. My local test can also be > displayed. > panel-boe-tv101wum-nl6 14014000.dsi.0: failed to write command 1 > =3D>From this log, it can be seen that the initial code issued by the > platform was unsuccessful, and it cannot be ruled out that the panel is > no problem. > It is recommended to grab the latest kukui kernel on google CPFE or try > another platform to test. hi Xinlei, Please test with linux-next as well besides testing on downstream kernel. > > Best Regards! > xinlei > 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 1B50AC433EF for ; Thu, 10 Mar 2022 03:55:45 +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=H2orx5vllWfiDKXBVDlDzybMeHqQMNs8sucS1gDdTJA=; b=xmvS0FHesnD0na 2rOb95s9L2LmXLdxkZSocJ0m9fiMIbYctfVirHt+rZmJfklMHc97iEsDsKud5S8xo47eACllEVuNe BLVJN5ebVCgiS66RIQvsu2OlKIxcxLYOvYEkSt1RSO1PSc6zEoNfkBZ4VImyz5ItIQ9n96ajxGwBa obPObz/ZRfo/fsiki2u4F/e4xum/7o8cr/yJKQrUxwZ3Tob2VAee4STFg95vI6g7Q5gjqiePkYYsR WSi55ebAEfJ1HooDW1sfak77TDzmAcbn/nhTyz6TRu97hgt1l8wyJFr8mC8gojw5THW42e8aO4sap eaba1EdusELLMWBHTKVw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1nS9sR-00BDiz-QH; Thu, 10 Mar 2022 03:54:11 +0000 Received: from mail-vs1-xe2a.google.com ([2607:f8b0:4864:20::e2a]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1nS9sN-00BDhx-DL for linux-arm-kernel@lists.infradead.org; Thu, 10 Mar 2022 03:54:09 +0000 Received: by mail-vs1-xe2a.google.com with SMTP id y4so4586351vsd.11 for ; Wed, 09 Mar 2022 19:54:05 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=g02VUi9lshGZqdo5/cYz41hUNMH+xzDGxn419kRsSDM=; b=AYw+oqeYvhX8+fR3qZ+SBNAQ94dLDTiQJCgtCnnyNYe9OsEd9rQhku9ryCoJ+oQnYu wChUwbZ9MI/D1Elro+3Y/6In02ApdqcE0JVL1a2Cx9Y+NiN91Q8w7vp+jol87kzx9Mkz L108U0YzcM0PkD4zNPuhqO9LvWwZzeL54U3+o= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=g02VUi9lshGZqdo5/cYz41hUNMH+xzDGxn419kRsSDM=; b=vLYTZ6IvuYgW8F1gaB49ntmtyMLojlHQ50wmzX0xRkNyyWtYzoTGfZDfo27t6X2Gy0 ellRTnRUq3euhyJZwV95mIdMRhZWgsBtYG5u1mv/Uulxnv+UaGRSXPjEQhEZiXQV/YwY r8IshROqkp7bF3jUpaJq/ZKfvGWsu0Qa8b8HLj9D485MFnRTSNsCGiWnDCY7mduxXdDm hW4hUs5mg5NIkM0CTOH/soq4BDrRZxY9M9ZCeUlci0WYqVthXPD2dVejaQTnaPLtzmk9 w0qOYmLBKXY8w02rqFu5gOSgfG82HeBUVzujC/ALtZkrDS2q4pz52vfisJky7sGVXymI cEXw== X-Gm-Message-State: AOAM531tjn7uGoctzYqiVzCymgx73GdOON72HzZ87rIN5iUzYUP1B6s0 6htQPs9joBUSvOTTV7VMEVKMEGuRtu9Bb8aqsTr68A== X-Google-Smtp-Source: ABdhPJx1BC9Et7WCgqRCFdi4vzEYXi4wWKs8q5rB+Ji944RNhXlD8m+JZ4yYI5RSJ76rEehH33845dCCumLNCWeLegk= X-Received: by 2002:a67:df98:0:b0:320:8446:7c6d with SMTP id x24-20020a67df98000000b0032084467c6dmr1276863vsk.16.1646884444142; Wed, 09 Mar 2022 19:54:04 -0800 (PST) MIME-Version: 1.0 References: <1646388956-8033-1-git-send-email-xinlei.lee@mediatek.com> <90f28179a3cffcaf28640066079391e31783a9f7.camel@mediatek.com> In-Reply-To: <90f28179a3cffcaf28640066079391e31783a9f7.camel@mediatek.com> From: Hsin-Yi Wang Date: Thu, 10 Mar 2022 11:53:37 +0800 Message-ID: Subject: Re: [PATCH v2, 0/4] Cooperate with DSI RX devices to modify dsi funcs and delay mipi high to cooperate with panel sequence To: "xinlei.lee" Cc: Benjamin Gaignard , chunkuang.hu@kernel.org, p.zabel@pengutronix.de, airlied@linux.ie, daniel@ffwll.ch, matthias.bgg@gmail.com, dri-devel@lists.freedesktop.org, linux-mediatek@lists.infradead.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Project_Global_Chrome_Upstream_Group@mediatek.com, jitao.shi@mediatek.com, allen-kh.cheng@mediatek.com, Rex-BC.Chen@mediatek.com X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220309_195407_497937_16EE4475 X-CRM114-Status: GOOD ( 43.49 ) 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 T24gVGh1LCBNYXIgMTAsIDIwMjIgYXQgMTE6MzMgQU0geGlubGVpLmxlZSA8eGlubGVpLmxlZUBt ZWRpYXRlay5jb20+IHdyb3RlOgo+Cj4gT24gVHVlLCAyMDIyLTAzLTA4IGF0IDExOjAwICswMTAw LCBCZW5qYW1pbiBHYWlnbmFyZCB3cm90ZToKPiA+IExlIDA4LzAzLzIwMjIgw6AgMTA6MTIsIEhz aW4tWWkgV2FuZyBhIMOpY3JpdCA6Cj4gPiA+IE9uIEZyaSwgTWFyIDQsIDIwMjIgYXQgNzoyNSBQ TSBCZW5qYW1pbiBHYWlnbmFyZAo+ID4gPiA8YmVuamFtaW4uZ2FpZ25hcmRAY29sbGFib3JhLmNv bT4gd3JvdGU6Cj4gPiA+ID4KPiA+ID4gPiBMZSAwNC8wMy8yMDIyIMOgIDExOjE1LCB4aW5sZWku bGVlQG1lZGlhdGVrLmNvbSBhIMOpY3JpdCA6Cj4gPiA+ID4gPiBGcm9tOiBYaW5sZWkgTGVlIDx4 aW5sZWkubGVlQG1lZGlhdGVrLmNvbT4KPiA+ID4gPiA+Cj4gPiA+ID4gPiBJbiB1cHN0cmVhbS12 NS44LCBkc2lfZW5hYmxlIHdpbGwgb3BlcmF0ZSBwYW5lbF9lbmFibGUsIGJ1dAo+ID4gPiA+ID4g dGhpcwo+ID4gPiA+ID4gbW9kaWZpY2F0aW9uIGhhcyBiZWVuIG1vdmVkIGluIHY1LjkuIEluIG9y ZGVyIHRvIGVuc3VyZSB0aGUKPiA+ID4gPiA+IHRpbWluZyBvZgo+ID4gPiA+ID4gZHNpX3Bvd2Vy X29uL29mZiBhbmQgdGhlIHRpbWluZyBvZiBwdWxsaW5nIHVwL2Rvd24gdGhlIE1JUEkKPiA+ID4g PiA+IHNpZ25hbCwKPiA+ID4gPiA+IHRoZSBtb2RpZmljYXRpb24gb2YgdjUuOSBpcyBzeW5jaHJv bml6ZWQgaW4gdGhpcyBzZXJpZXMgb2YKPiA+ID4gPiA+IHBhdGNoZXMuCj4gPiA+ID4KPiA+ID4g PiBIZWxsbywKPiA+ID4gPgo+ID4gPiA+IEknbSB0cnlpbmcgdG8gZGVidWcgYW4gaXNzdWUgb24g bXQ4MTgzIGt1a3VpIGtyYW5lIHNrdTE3NiBkZXZpY2UuCj4gPiA+ID4gVGhlIHByb2JsZW0gaXMg dGhhdCBib2UtdHYxMDF3dW0tbmw2IHBhbmVsIGlzbid0IHdvcmtpbmcuCj4gPiA+ID4gQXQgYm9v dCB0aW1lIEkgY2FuIHNlZSB0aGVzZSBsb2dzOgo+ID4gPiA+IHBhbmVsLWJvZS10djEwMXd1bS1u bDYgMTQwMTQwMDAuZHNpLjA6IGZhaWxlZCB0byB3cml0ZSBjb21tYW5kIDEKPiA+ID4gPiBwYW5l bC1ib2UtdHYxMDF3dW0tbmw2IDE0MDE0MDAwLmRzaS4wOiBmYWlsZWQgdG8gaW5pdCBwYW5lbDog LTYyCj4gPiA+ID4gYW5kIGEgRFNJIGludGVycnVwdCB0aW1lIG91dC4KPiA+ID4gPgo+ID4gPiA+ IFNpbmNlIEkgYmVsaWV2ZSB0aGUgcHJvYmxlbSBpcyBsaW5rIHRvIERTSS9wYW5lbCBlbmFibGlu Zwo+ID4gPiA+IHNlcXVlbmNlCj4gPiA+ID4gSSBoYXZlIHRyeSB0aGlzIHNlcmllcyBidXQgdGhh dCBkb2Vzbid0IHNvbHZlIHRoZSBpc3N1ZS4KPiA+ID4gPiBJIG5vdGljZSB0aGF0IHdoZW4gZ29p bmcgb3V0IG9mIGRlZXAgc2xlZXAgbW9kZSBwYW5lbCBpcwo+ID4gPiA+IGZ1bmN0aW9uYWwuCj4g PiA+ID4KPiA+ID4gPiBNYXkgeW91IGhhdmUgYW55IGlkZWEgdG8gZGVidWcvc29sdmUgdGhpcyBw cm9ibGVtID8KPiA+ID4gPgo+ID4gPgo+ID4gPiBIaSBCZW5qYW1pbiwKPiA+ID4KPiA+ID4gSSB0 aGluayB0aGlzIG1pZ2h0IG5vdCBiZSByZWxhdGVkIHRvIHRoaXMgc2VyaWVzLiBXaGljaCBrZXJu ZWwgYXJlCj4gPiA+IHlvdSB1c2luZz8KPiA+ID4gSSB0cmllZCB0aGUga3JhbmUgc2t1MTc2IHdp dGggbGludXgtbmV4dCA1LjE3LXJjNgo+ID4gPiAoNTE5ZGQ2YzE5OTg2Njk2ZjU5ODQ3ZmY4YmY5 MzA0MzZjY2ZmZDlhMSAodGFnOiBuZXh0LTIwMjIwMzA3LAo+ID4gPiBsaW51eC1uZXh0L21hc3Rl cikgd2l0aCBvciB3aXRob3V0IHRoaXMgc2VyaWVzLCBib3RoIGNhbiBnZXQgdGhlCj4gPiA+IGRp c3BsYXkgb24uCj4gPiA+Cj4gPiA+IGRzaSByZWxhdGVkIG1lc3NhZ2U6Cj4gPiA+IFsgICAgMC4y MDYzMzBdIG1lZGlhdGVrLWRybSBtZWRpYXRlay1kcm0uMS5hdXRvOiBBZGRpbmcgY29tcG9uZW50 Cj4gPiA+IG1hdGNoIGZvciAvc29jL2RzaUAxNDAxNDAwMAo+ID4gPiBbICAgIDQuNTY3NTc3XSBw YW5lbC1ib2UtdHYxMDF3dW0tbmw2IDE0MDE0MDAwLmRzaS4wOiBzdXBwbHkgcHAzMzAwCj4gPiA+ IG5vdCBmb3VuZCwgdXNpbmcgZHVtbXkgcmVndWxhdG9yCj4gPiA+IFsgICAgNC41Njc3MzJdIHBh bmVsLWJvZS10djEwMXd1bS1ubDYgMTQwMTQwMDAuZHNpLjA6IEdQSU8gbG9va3VwCj4gPiA+IGZv cgo+ID4gPiBjb25zdW1lciBlbmFibGUKPiA+ID4gWyAgICA0LjU2NzczOF0gcGFuZWwtYm9lLXR2 MTAxd3VtLW5sNiAxNDAxNDAwMC5kc2kuMDogdXNpbmcgZGV2aWNlCj4gPiA+IHRyZWUgZm9yIEdQ SU8gbG9va3VwCj4gPiA+IFsgICAgNC41Njc3NTddIG9mX2dldF9uYW1lZF9ncGlvZF9mbGFnczog cGFyc2VkICdlbmFibGUtZ3Bpb3MnCj4gPiA+IHByb3BlcnR5IG9mIG5vZGUgJy9zb2MvZHNpQDE0 MDE0MDAwL3BhbmVsQDBbMF0nIC0gc3RhdHVzICgwKQo+ID4gPiBbICAgIDQuNTg1ODg0XSBwYW5l bC1ib2UtdHYxMDF3dW0tbmw2IDE0MDE0MDAwLmRzaS4wOiBzdXBwbHkgcHAzMzAwCj4gPiA+IG5v dCBmb3VuZCwgdXNpbmcgZHVtbXkgcmVndWxhdG9yCj4gPiA+IFsgICAgNC41ODYwMzddIHBhbmVs LWJvZS10djEwMXd1bS1ubDYgMTQwMTQwMDAuZHNpLjA6IEdQSU8gbG9va3VwCj4gPiA+IGZvcgo+ ID4gPiBjb25zdW1lciBlbmFibGUKPiA+ID4gWyAgICA0LjU4NjA0Ml0gcGFuZWwtYm9lLXR2MTAx d3VtLW5sNiAxNDAxNDAwMC5kc2kuMDogdXNpbmcgZGV2aWNlCj4gPiA+IHRyZWUgZm9yIEdQSU8g bG9va3VwCj4gPiA+IFsgICAgNC41ODYwNTldIG9mX2dldF9uYW1lZF9ncGlvZF9mbGFnczogcGFy c2VkICdlbmFibGUtZ3Bpb3MnCj4gPiA+IHByb3BlcnR5IG9mIG5vZGUgJy9zb2MvZHNpQDE0MDE0 MDAwL3BhbmVsQDBbMF0nIC0gc3RhdHVzICgwKQo+ID4gPiBbICAgIDQuNTg3NDMwXSBtZWRpYXRl ay1kcm0gbWVkaWF0ZWstZHJtLjEuYXV0bzogYm91bmQgMTQwMTQwMDAuZHNpCj4gPiA+IChvcHMg MHhmZmZmZmZkMzY5YTc1MmI4KQo+ID4gPgo+ID4gPgo+ID4gPiBNYXliZSBzb21lIGNvbmZpZyBp cyBub3QgZW5hYmxlZD8KPiA+Cj4gPiBJIHVzaW5nIDUuMTcuMC1yYzEtbmV4dC0yMDIyMDEyNyBr ZXJuZWwgdGFnLgo+ID4gVGhlIGNvbmZpZ3MgbG9vayBzaW1pbGFyLgo+ID4KPiA+IEkgaGF2ZSB0 aGUgZm9sbG93IGxvZyBhdCBib290IHRpbWU6Cj4gPgo+ID4gWyAgICAxLjUzMzM4NF0gcGh5IHBo eS0xMWU1MDAwMC5kc2ktcGh5LjI6IExvb2tpbmcgdXAgcGh5LXN1cHBseSBmcm9tCj4gPiBkZXZp Y2UgdHJlZQo+ID4gWyAgICAxLjUzMzQwMl0gcGh5IHBoeS0xMWU1MDAwMC5kc2ktcGh5LjI6IExv b2tpbmcgdXAgcGh5LXN1cHBseQo+ID4gcHJvcGVydHkgaW4gbm9kZSAvc29jL2RzaS1waHlAMTFl NTAwMDAgZmFpbGVkCj4gPiBbICAgIDMuMTczMDY4XSBtZWRpYXRlay1kcm0gbWVkaWF0ZWstZHJt LjEuYXV0bzogQWRkaW5nIGNvbXBvbmVudAo+ID4gbWF0Y2ggZm9yIC9zb2MvZHNpQDE0MDE0MDAw Cj4gPiBbICAgIDQuNjcxODA2XSBwYW5lbC1ib2UtdHYxMDF3dW0tbmw2IDE0MDE0MDAwLmRzaS4w OiBMb29raW5nIHVwCj4gPiBhdmRkLXN1cHBseSBmcm9tIGRldmljZSB0cmVlCj4gPiBbICAgIDQu NjgwMzQ4XSBwYW5lbC1ib2UtdHYxMDF3dW0tbmw2IDE0MDE0MDAwLmRzaS4wOiBMb29raW5nIHVw Cj4gPiBhdmVlLXN1cHBseSBmcm9tIGRldmljZSB0cmVlCj4gPiBbICAgIDQuNjg4Nzg0XSBwYW5l bC1ib2UtdHYxMDF3dW0tbmw2IDE0MDE0MDAwLmRzaS4wOiBMb29raW5nIHVwCj4gPiBwcDMzMDAt c3VwcGx5IGZyb20gZGV2aWNlIHRyZWUKPiA+IFsgICAgNC42OTc4MTZdIHBhbmVsLWJvZS10djEw MXd1bS1ubDYgMTQwMTQwMDAuZHNpLjA6IExvb2tpbmcgdXAKPiA+IHBwMTgwMC1zdXBwbHkgZnJv bSBkZXZpY2UgdHJlZQo+ID4gWyAgICA0Ljg0MjM0Nl0gcGFuZWwtYm9lLXR2MTAxd3VtLW5sNiAx NDAxNDAwMC5kc2kuMDogTG9va2luZyB1cAo+ID4gYXZkZC1zdXBwbHkgZnJvbSBkZXZpY2UgdHJl ZQo+ID4gWyAgICA0Ljg1NDU3M10gcGFuZWwtYm9lLXR2MTAxd3VtLW5sNiAxNDAxNDAwMC5kc2ku MDogTG9va2luZyB1cAo+ID4gYXZlZS1zdXBwbHkgZnJvbSBkZXZpY2UgdHJlZQo+ID4gWyAgICA0 Ljg2Mjk3Nl0gcGFuZWwtYm9lLXR2MTAxd3VtLW5sNiAxNDAxNDAwMC5kc2kuMDogTG9va2luZyB1 cAo+ID4gcHAzMzAwLXN1cHBseSBmcm9tIGRldmljZSB0cmVlCj4gPiBbICAgIDQuODcxNTY4XSBw YW5lbC1ib2UtdHYxMDF3dW0tbmw2IDE0MDE0MDAwLmRzaS4wOiBMb29raW5nIHVwCj4gPiBwcDE4 MDAtc3VwcGx5IGZyb20gZGV2aWNlIHRyZWUKPiA+IFsgICAgNC45NjQwMjFdIG1lZGlhdGVrLWRy bSBtZWRpYXRlay1kcm0uMS5hdXRvOiBib3VuZCAxNDAxNDAwMC5kc2kKPiA+IChvcHMgbXRrX2Rz aV9jb21wb25lbnRfb3BzKQo+ID4gLi4uCj4gPiBbICAgMzguMjczNDM3XSBbZHJtXSBXYWl0IERT SSBJUlEoMHgwMDAwMDAwMikgVGltZW91dAo+ID4gWyAgIDM4LjI4MTU4NF0gcGFuZWwtYm9lLXR2 MTAxd3VtLW5sNiAxNDAxNDAwMC5kc2kuMDogZmFpbGVkIHRvIHdyaXRlCj4gPiBjb21tYW5kIDEK PiA+IFsgICAzOC4yODg2NTFdIHBhbmVsLWJvZS10djEwMXd1bS1ubDYgMTQwMTQwMDAuZHNpLjA6 IGZhaWxlZCB0byBpbml0Cj4gPiBwYW5lbDogLTYyCj4gPiAuLi4KPiA+IFsgICA3MC4xMTM2NzRd IG1lZGlhdGVrLWRybSBtZWRpYXRlay1kcm0uMS5hdXRvOiBbZHJtXSAqRVJST1IqCj4gPiBmbGlw X2RvbmUgdGltZWQgb3V0Cj4gPiBbICAgNzAuMTIxMDU0XSBtZWRpYXRlay1kcm0gbWVkaWF0ZWst ZHJtLjEuYXV0bzogW2RybV0gKkVSUk9SKgo+ID4gW0NSVEM6NDU6Y3J0Yy0wXSBjb21taXQgd2Fp dCB0aW1lZCBvdXQKPiA+IFsgICA3MC4xMzAwMzddIFtkcm06bXRrX2RybV9jcnRjX2F0b21pY19i ZWdpbl0gKkVSUk9SKiBuZXcgZXZlbnQKPiA+IHdoaWxlIHRoZXJlIGlzIHN0aWxsIGEgcGVuZGlu ZyBldmVudAo+ID4gWyAgIDcwLjI0MTIyMl0gLS0tLS0tLS0tLS0tWyBjdXQgaGVyZSBdLS0tLS0t LS0tLS0tCj4gPiBbICAgNzAuMjQ1ODk4XSBbQ1JUQzo0NTpjcnRjLTBdIHZibGFuayB3YWl0IHRp bWVkIG91dAo+ID4gWyAgIDcwLjI1MDcyOV0gV0FSTklORzogQ1BVOiA3IFBJRDogMzk3IGF0Cj4g PiBkcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY19oZWxwZXIuYzoxNTI5Cj4gPiBkcm1fYXRvbWlj X2hlbHBlcl93YWl0X2Zvcl92YmxhbmtzLnBhcnQuMCsweDI5MC8weDI0Cj4gPiBbICAgNzAuMjYy ODE1XSBNb2R1bGVzIGxpbmtlZCBpbjogaGNpX3VhcnQgYnRxY2EgYnRiY20gYmx1ZXRvb3RoCj4g PiBjZGNfZXRoZXIgdXNibmV0IHI4MTUyIG10a19tZHAzIGhpZF9tdWx0aXRvdWNoIG10a19qcGVn IHBhbmZyb3N0Cj4gPiBjcm9zXzYKPiA+IFsgICA3MC4zMDkzNDhdIENQVTogNyBQSUQ6IDM5NyBD b21tOiBnbm9tZS1zaGVsbCBUYWludGVkOgo+ID4gRyAgICAgICAgVyAgICAgICAgIDUuMTcuMC1y YzEtbmV4dC0yMDIyMDEyNysgIzU3Cj4gPiBbICAgNzAuMzE4NzMxXSBIYXJkd2FyZSBuYW1lOiBN ZWRpYVRlayBrcmFuZSBza3UxNzYgYm9hcmQgKERUKQo+ID4gWyAgIDcwLjMyNDI5M10gcHN0YXRl OiA2MDAwMDAwNSAoblpDdiBkYWlmIC1QQU4gLVVBTyAtVENPIC1ESVQgLVNTQlMKPiA+IEJUWVBF PS0tKQo+ID4gWyAgIDcwLjMzMTI0NF0gcGMgOgo+ID4gZHJtX2F0b21pY19oZWxwZXJfd2FpdF9m b3JfdmJsYW5rcy5wYXJ0LjArMHgyOTAvMHgyYjQKPiA+IFsgICA3MC4zMzc3NjJdIGxyIDoKPiA+ IGRybV9hdG9taWNfaGVscGVyX3dhaXRfZm9yX3ZibGFua3MucGFydC4wKzB4MjkwLzB4MmI0Cj4g PiBbICAgNzAuMzQ0Mjc5XSBzcCA6IGZmZmY4MDAwMDkyMzM5ZTAKPiA+IFsgICA3MC4zNDc1ODNd IHgyOTogZmZmZjgwMDAwOTIzMzllMCB4Mjg6IDAwMDAwMDAwMDAwMDAwMDEgeDI3Ogo+ID4gMDAw MDAwMDAwMDAwMDAwMAo+ID4gWyAgIDcwLjM1NDcxM10geDI2OiAwMDAwMDAwMDAwMDAwMDAwIHgy NTogZmZmZmM3ZThmZWVlNDY2MCB4MjQ6Cj4gPiAwMDAwMDAwMDAwMDAwMDM4Cj4gPiBbICAgNzAu MzYxODQyXSB4MjM6IGZmZmY2ZmU3MDJiMGQwMDAgeDIyOiAwMDAwMDAwMDAwMDAwMDAxIHgyMToK PiA+IGZmZmY2ZmU3MDMwZDUwODAKPiA+IFsgICA3MC4zNjg5NzBdIHgyMDogZmZmZjZmZTcwOWQ3 ZDcwMCB4MTk6IDAwMDAwMDAwMDAwMDAwMDAgeDE4Ogo+ID4gMDAwMDAwMDAwMDAwMDAzMAo+ID4g WyAgIDcwLjM3NjA5OV0geDE3OiAwMDAwMDAwNDAwNDRmZmZmIHgxNjogMDA0MDAwMzJiNTUwMzUx MCB4MTU6Cj4gPiBmZmZmZmZmZmZmZmZmZmZmCj4gPiBbICAgNzAuMzgzMjI3XSB4MTQ6IGZmZmZj N2U4ZmZhOTkyMjAgeDEzOiAwMDAwMDAwMDAwMDAwOTRiIHgxMjoKPiA+IDAwMDAwMDAwMDAwMDAz MTkKPiA+IFsgICA3MC4zOTAzNTRdIHgxMTogNmU2MTZjNjI3NjIwNWQzMCB4MTA6IGZmZmZjN2U4 ZmZiNDkyMjAgeDkgOgo+ID4gMDAwMDAwMDBmZmZmZTAwMAo+ID4gWyAgIDcwLjM5NzQ4M10geDgg OiBmZmZmYzdlOGZmYTk5MjIwIHg3IDogMDAwMDAwMDAwMDAwMDAwMSB4NiA6Cj4gPiAwMDAwMDAw MDAwMDAwMDAwCj4gPiBbICAgNzAuNDA0NjExXSB4NSA6IDAwMDAwMDAwMDAwMDAwMDAgeDQgOiBm ZmZmNmZlNzNiNWU0Y2Y4IHgzIDoKPiA+IGZmZmY2ZmU3M2I1ZjA4NDAKPiA+IFsgICA3MC40MTE3 MzhdIHgyIDogMDAwMDAwMDAwMDAwMDAwMCB4MSA6IDAwMDAwMDAwMDAwMDAwMDAgeDAgOgo+ID4g ZmZmZjZmZTcwMmYyMDAwMAo+ID4gWyAgIDcwLjQxODg2Nl0gQ2FsbCB0cmFjZToKPiA+IFsgICA3 MC40MjEzMDFdICBkcm1fYXRvbWljX2hlbHBlcl93YWl0X2Zvcl92YmxhbmtzLnBhcnQuMCsweDI5 MC8weDJiNAo+ID4gWyAgIDcwLjQyNzQ3Ml0gIGRybV9hdG9taWNfaGVscGVyX2NvbW1pdF90YWls X3JwbSsweDg4LzB4YWMKPiA+IFsgICA3MC40MzI3NzVdICBjb21taXRfdGFpbCsweGEwLzB4MTdj Cj4gPiBbICAgNzAuNDM2MjU0XSAgZHJtX2F0b21pY19oZWxwZXJfY29tbWl0KzB4MTkwLzB4M2Ew Cj4gPiBbICAgNzAuNDQwOTQ5XSAgZHJtX2F0b21pY19jb21taXQrMHg1Yy8weDZjCj4gPiBbICAg NzAuNDQ0ODY0XSAgZHJtX21vZGVfZ2FtbWFfc2V0X2lvY3RsKzB4NDVjLzB4NjQwCj4gPiBbICAg NzAuNDQ5NTYwXSAgZHJtX2lvY3RsX2tlcm5lbCsweGM0LzB4MTc0Cj4gPiBbICAgNzAuNDUzNDc1 XSAgZHJtX2lvY3RsKzB4MjM4LzB4NDVjCj4gPiBbICAgNzAuNDU2ODY4XSAgX19hcm02NF9zeXNf aW9jdGwrMHhhYy8weGYwCj4gPiBbICAgNzAuNDYwNzg2XSAgaW52b2tlX3N5c2NhbGwrMHg0OC8w eDExNAo+ID4gWyAgIDcwLjQ2NDUyOV0gIGVsMF9zdmNfY29tbW9uLmNvbnN0cHJvcC4wKzB4NjAv MHgxMWMKPiA+IFsgICA3MC40NjkzMTJdICBkb19lbDBfc3ZjKzB4MjgvMHg5MAo+ID4gWyAgIDcw LjQ3MjYxOV0gIGVsMF9zdmMrMHg0Yy8weDEwMAo+ID4gWyAgIDcwLjQ3NTc1NF0gIGVsMHRfNjRf c3luY19oYW5kbGVyKzB4ZWMvMHhmMAo+ID4gWyAgIDcwLjQ3OTkyOF0gIGVsMHRfNjRfc3luYysw eDFhMC8weDFhNAo+ID4gWyAgIDcwLjQ4MzU4Ml0gaXJxIGV2ZW50IHN0YW1wOiAwCj4gPiBbICAg NzAuNDg2NjI1XSBoYXJkaXJxcyBsYXN0ICBlbmFibGVkIGF0ICgwKTogWzwwMDAwMDAwMDAwMDAw MDAwPl0KPiA+IDB4MAo+ID4gWyAgIDcwLjQ5Mjg4M10gaGFyZGlycXMgbGFzdCBkaXNhYmxlZCBh dCAoMCk6IFs8ZmZmZmM3ZThmZDQ5MzgzYz5dCj4gPiBjb3B5X3Byb2Nlc3MrMHg2NTgvMHgxOTdj Cj4gPiBbICAgNzAuNTAxMDUzXSBzb2Z0aXJxcyBsYXN0ICBlbmFibGVkIGF0ICgwKTogWzxmZmZm YzdlOGZkNDkzODNjPl0KPiA+IGNvcHlfcHJvY2VzcysweDY1OC8weDE5N2MKPiA+IFsgICA3MC41 MDkyMTldIHNvZnRpcnFzIGxhc3QgZGlzYWJsZWQgYXQgKDApOiBbPDAwMDAwMDAwMDAwMDAwMDA+ XQo+ID4gMHgwCj4gPiBbICAgNzAuNTE1NDc1XSAtLS1bIGVuZCB0cmFjZSAwMDAwMDAwMDAwMDAw MDAwIF0tLS0KPiA+Cj4gPiBSZWdhcmRzLAo+ID4gQmVuamFtaW4KPiA+Cj4gPiA+Cj4gPiA+Cj4g PiA+Cj4gPiA+ID4gUmVnYXJkcywKPiA+ID4gPiBCZW5qYW1pbgo+ID4gPiA+Cj4gPiA+ID4gPiBD aGFuZ2VzIHNpbmNlIHYxOgo+ID4gPiA+ID4gMS4gRHNpIHNlcXVlbmNlIG1hcmtlZCB3aXRoIHBh dGNoIGFkanVzdG1lbnQKPiA+ID4gPiA+IDIuIEZpeGVzOiBtdGtfZHNpOiBVc2UgdGhlIGRybV9w YW5lbF9icmlkZ2UKPiA+ID4gPiA+Cj4gPiA+ID4gPiBKaXRhbyBTaGkgKDMpOgo+ID4gPiA+ID4g ICAgIGRybS9tZWRpYXRlazogQWRqdXN0IHRoZSB0aW1pbmcgb2YgbWlwaSBzaWduYWwgZnJvbSBM UDAwIHRvCj4gPiA+ID4gPiBMUDExCj4gPiA+ID4gPiAgICAgZHJtL21lZGlhdGVrOiBTZXBhcmF0 ZSBwb3dlcm9uL3Bvd2Vyb2ZmIGZyb20gZW5hYmxlL2Rpc2FibGUKPiA+ID4gPiA+IGFuZCBkZWZp bmUKPiA+ID4gPiA+ICAgICAgIG5ldyBmdW5jcwo+ID4gPiA+ID4gICAgIGRybS9tZWRpYXRlazog a2VlcCBkc2kgYXMgTFAwMCBiZWZvcmUgZGNzIGNtZHMgdHJhbnNmZXIKPiA+ID4gPiA+Cj4gPiA+ ID4gPiBYaW5sZWkgTGVlICgxKToKPiA+ID4gPiA+ICAgICBkcm0vbWVkaWF0ZWs6IEFkZCBwdWxs LWRvd24gTUlQSSBvcGVyYXRpb24gaW4KPiA+ID4gPiA+IG10a19kc2lfcG93ZXJvZmYKPiA+ID4g PiA+ICAgICAgIGZ1bmN0aW9uCj4gPiA+ID4gPgo+ID4gPiA+ID4gICAgZHJpdmVycy9ncHUvZHJt L21lZGlhdGVrL210a19kc2kuYyB8IDczCj4gPiA+ID4gPiArKysrKysrKysrKysrKysrKysrKy0t LS0tLS0tLS0KPiA+ID4gPiA+ICAgIDEgZmlsZSBjaGFuZ2VkLCA0OSBpbnNlcnRpb25zKCspLCAy NCBkZWxldGlvbnMoLSkKPiA+ID4gPiA+Cj4gPiA+ID4KPiA+ID4gPiBfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+ID4gPiA+IExpbnV4LW1lZGlhdGVrIG1h aWxpbmcgbGlzdAo+ID4gPiA+IExpbnV4LW1lZGlhdGVrQGxpc3RzLmluZnJhZGVhZC5vcmcKPiA+ ID4gPiBodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LW1l ZGlhdGVrCj4gPiA+ID4KPiA+ID4gPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwo+ID4gPiA+IExpbnV4LW1lZGlhdGVrIG1haWxpbmcgbGlzdAo+ID4gPiA+ IExpbnV4LW1lZGlhdGVrQGxpc3RzLmluZnJhZGVhZC5vcmcKPiA+ID4gPiBodHRwOi8vbGlzdHMu aW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LW1lZGlhdGVrCj4KPiBIaSBCZW5q YW1pbjoKPgo+IEkgY29uZmlybWVkIHdpdGggaHNpbi15aSB0aGF0IGlmIHNoZSBkb2Vzbid0IGFk ZCB0aGVzZSBwYXRjaGVzLCB0aGUKPiBzY3JlZW4gb2YgdHYxMDEgc2hvdWxkIHdvcmsgbm9ybWFs bHkuIE15IGxvY2FsIHRlc3QgY2FuIGFsc28gYmUKPiBkaXNwbGF5ZWQuCj4gcGFuZWwtYm9lLXR2 MTAxd3VtLW5sNiAxNDAxNDAwMC5kc2kuMDogZmFpbGVkIHRvIHdyaXRlIGNvbW1hbmQgMQo+ID0+ RnJvbSB0aGlzIGxvZywgaXQgY2FuIGJlIHNlZW4gdGhhdCB0aGUgaW5pdGlhbCBjb2RlIGlzc3Vl ZCBieSB0aGUKPiBwbGF0Zm9ybSB3YXMgdW5zdWNjZXNzZnVsLCBhbmQgaXQgY2Fubm90IGJlIHJ1 bGVkIG91dCB0aGF0IHRoZSBwYW5lbCBpcwo+IG5vIHByb2JsZW0uCj4gSXQgaXMgcmVjb21tZW5k ZWQgdG8gZ3JhYiB0aGUgbGF0ZXN0IGt1a3VpIGtlcm5lbCBvbiBnb29nbGUgQ1BGRSBvciB0cnkK PiBhbm90aGVyIHBsYXRmb3JtIHRvIHRlc3QuCgpoaSBYaW5sZWksClBsZWFzZSB0ZXN0IHdpdGgg bGludXgtbmV4dCBhcyB3ZWxsIGJlc2lkZXMgdGVzdGluZyBvbiBkb3duc3RyZWFtIGtlcm5lbC4K Pgo+IEJlc3QgUmVnYXJkcyEKPiB4aW5sZWkKPgoKX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KbGludXgtYXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QKbGludXgt YXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3Jn L21haWxtYW4vbGlzdGluZm8vbGludXgtYXJtLWtlcm5lbAo=