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 0F52BC71153 for ; Tue, 29 Aug 2023 13:30:36 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Content-Transfer-Encoding: Content-Type:Message-ID:References:In-Reply-To:Subject:Cc:To:From:Date: MIME-Version:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=hHRDNpqTm3dlbVy64ml+txawuSCcgsHiouR7QXXp3Ek=; b=P5p9IqNO1pcWC4JAqqsjmiCY2u H8HzS2bACNRx12SxrO9iGx2rf3EtJp2m7IX0R7xeBqMgfVSgBJXLhNadtEni4w66/grR1P43FcX3M YUvtjFOgHTCj2D9OLmySYBXPVftmXoyytJ9Y9oszVW3W6N0eVCjfbOY5Qp90OT91NYLrHc+QspX8C GhZz9qVinX1iEwxM9UcIWX4PGqROJTyTcXV5eyYqQoSNYyxCCoLxw+Ingpq0HQMlhfFfUr2e9kYg2 2j5vO2FcNFm8RJvpBItaVyImECbyg9VfqOxs4zlEE8D9EcC0MEkSfuo1/cvj/aKflgUdM54Y9Yykx GRU+pRdw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1qayni-00Bb5l-31; Tue, 29 Aug 2023 13:30:34 +0000 Received: from dfw.source.kernel.org ([139.178.84.217]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1qayne-00Bb4f-2d; Tue, 29 Aug 2023 13:30:32 +0000 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 0992F6573B; Tue, 29 Aug 2023 13:30:30 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 92DD8C433CA; Tue, 29 Aug 2023 13:30:26 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1693315829; bh=tyFL+Qq6DIl/j2XksQSMYBymfmUxIPe9lX/1l17xgtA=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=OGDOaEH6+v3LxCLseDf3p4adYwnOV6oP94f2E8jp4gTYk/JcPO22YL8KqgusXYM+s 4Rm3RsB3XXW7XF0Zy2Ahz2+SF99k0LpqR8/isDO6KhzRLkAuFlyQTyVHHQVDvGt7lY OdLcs5EoKTrOryvtWjyNmppGuSlxO79kqvVK10HOT42H3q5kYNVAnAS4s7HaD5NXYu /NsuRcbWVLX/WwlqWTtVJc/4MO81Ers/FgghIsA1FNm7PSdl7oEP+XizjnCthaVTYe QE4YUkJFU4VPit986vWyoPx4JYR4VsCMc6GSwLE5ePY01FWwvEJjQe+0UVeGCqIFpl zFLIOU3Ibh0NA== MIME-Version: 1.0 Date: Tue, 29 Aug 2023 15:30:24 +0200 From: Michael Walle To: =?UTF-8?Q?N=C3=ADcolas_F=2E_R=2E_A=2E_Prado?= Cc: angelogioacchino.delregno@collabora.com, airlied@gmail.com, amergnat@baylibre.com, chunkuang.hu@kernel.org, ck.hu@mediatek.com, daniel@ffwll.ch, dri-devel@lists.freedesktop.org, ehristev@collabora.com, kernel@collabora.com, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-mediatek@lists.infradead.org, matthias.bgg@gmail.com, p.zabel@pengutronix.de, wenst@chromium.org Subject: Re: [PATCH v7 09/11] drm/mediatek: dp: Add support for embedded DisplayPort aux-bus In-Reply-To: <00f65d49-497c-4ade-a2f3-7a5b7ad803b6@notapiano> References: <20230725073234.55892-10-angelogioacchino.delregno@collabora.com> <20230825120109.3132209-1-mwalle@kernel.org> <5b438dba-9b85-4448-bc89-08a11ddb822a@notapiano> <00f65d49-497c-4ade-a2f3-7a5b7ad803b6@notapiano> Message-ID: <18bfffdd7ce3bd7693c8362b28651b49@kernel.org> X-Sender: mwalle@kernel.org Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230829_063030_940134_59FC42AA X-CRM114-Status: GOOD ( 22.72 ) 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: , Sender: "Linux-mediatek" Errors-To: linux-mediatek-bounces+linux-mediatek=archiver.kernel.org@lists.infradead.org Hi NĂ­colas, >> But the real reason I've enabled it was because I'll get an kernel >> oops otherwise. I thought it might be some quirk that you'll need >> both, >> because eDP will register even if theres no display - as you've >> mentioned below. >> >> Here's the splat: >> [ 3.237064] mediatek-drm mediatek-drm.10.auto: bound >> 1c110000.vpp-merge >> (ops mtk_disp_merge_component_ops) >> [ 3.238274] mediatek-drm mediatek-drm.8.auto: Not creating crtc 0 >> because >> component 8 is disabled or missing >> [ 3.239504] mediatek-drm mediatek-drm.8.auto: Not creating crtc 0 >> because >> component 9 is disabled or missing >> [ 3.240741] Unable to handle kernel NULL pointer dereference at >> virtual >> address 00000000000004a0 >> [ 3.241841] Mem abort info: >> [ 3.242192] ESR = 0x0000000096000004 >> [ 3.242662] EC = 0x25: DABT (current EL), IL = 32 bits >> [ 3.243328] SET = 0, FnV = 0 >> [ 3.243710] EA = 0, S1PTW = 0 >> [ 3.244104] FSC = 0x04: level 0 translation fault >> [ 3.244717] Data abort info: >> [ 3.245078] ISV = 0, ISS = 0x00000004, ISS2 = 0x00000000 >> [ 3.245765] CM = 0, WnR = 0, TnD = 0, TagAccess = 0 >> [ 3.246398] GCS = 0, Overlay = 0, DirtyBit = 0, Xs = 0 >> [ 3.247063] [00000000000004a0] user address but active_mm is >> swapper >> [ 3.247860] Internal error: Oops: 0000000096000004 [#1] SMP >> [ 3.248559] Modules linked in: >> [ 3.248945] CPU: 4 PID: 11 Comm: kworker/u16:0 Not tainted >> 6.5.0-rc7-next-20230821+ #2225 >> [ 3.249970] Hardware name: Kontron 3.5"-SBC-i1200 (DT) >> [ 3.250614] Workqueue: events_unbound deferred_probe_work_func >> [ 3.251347] pstate: 60400009 (nZCv daif +PAN -UAO -TCO -DIT -SSBS >> BTYPE=--) >> [ 3.252220] pc : mtk_drm_crtc_dma_dev_get+0x8/0x18 >> [ 3.252824] lr : mtk_drm_bind+0x458/0x558 >> [ 3.253326] sp : ffff800082b23a20 >> [ 3.253741] x29: ffff800082b23a20 x28: ffff000002c78880 x27: >> ffff8000816466d0 >> [ 3.254635] x26: ffff000002c6f010 x25: 0000000000000003 x24: >> 0000000000000000 >> [ 3.255529] x23: ffff000002c78880 x22: 0000000000000002 x21: >> 0000000000000000 >> [ 3.256423] x20: ffff000006516800 x19: ffff000002c78880 x18: >> ffffffffffffffff >> [ 3.257317] x17: 6f63206573756163 x16: 6562203020637472 x15: >> 6320676e69746165 >> [ 3.258211] x14: 726320746f4e203a x13: 676e697373696d20 x12: >> 726f2064656c6261 >> [ 3.259106] x11: 7369642073692039 x10: ffff80008275c0c0 x9 : >> ffff80008091ebf8 >> [ 3.260000] x8 : 00000000ffffefff x7 : ffff80008275c0c0 x6 : >> 80000000fffff000 >> [ 3.260895] x5 : 000000000000bff4 x4 : 0000000000000000 x3 : >> ffff000006516ae0 >> [ 3.261789] x2 : ffff000006516ae0 x1 : 0000000000000000 x0 : >> 0000000000000000 >> [ 3.262684] Call trace: >> [ 3.262991] mtk_drm_crtc_dma_dev_get+0x8/0x18 >> [ 3.263549] try_to_bring_up_aggregate_device+0x16c/0x1e0 >> [ 3.264227] __component_add+0xac/0x180 >> [ 3.264708] component_add+0x1c/0x30 >> [ 3.265158] mtk_disp_rdma_probe+0x17c/0x270 >> [ 3.265695] platform_probe+0x70/0xd0 >> [ 3.266155] really_probe+0x150/0x2c0 >> [ 3.266615] __driver_probe_device+0x80/0x140 >> [ 3.267162] driver_probe_device+0x44/0x170 >> [ 3.267687] __device_attach_driver+0xc0/0x148 >> [ 3.268245] bus_for_each_drv+0x88/0xf0 >> [ 3.268727] __device_attach+0xa4/0x198 >> [ 3.269208] device_initial_probe+0x1c/0x30 >> [ 3.269732] bus_probe_device+0xb4/0xc0 >> [ 3.270214] deferred_probe_work_func+0x90/0xd0 >> [ 3.270783] process_one_work+0x144/0x3a0 >> [ 3.271289] worker_thread+0x2ac/0x4b8 >> [ 3.271761] kthread+0xec/0xf8 >> [ 3.272145] ret_from_fork+0x10/0x20 >> [ 3.272597] Code: 814f7858 ffff8000 aa1e03e9 d503201f (f9425000) >> [ 3.273361] ---[ end trace 0000000000000000 ]--- > > I tried reproducing this on mt8192-asurada-spherion and > mt8195-cherry-tomato but > wasn't able to. However, I did see another issue Yeah sorry, I tried to reproduce my initial oops but messed my DT up and ended up with no path enabled at all. > [ 3.183314] mediatek-drm mediatek-drm.9.auto: Not creating crtc 0 > because component 14 is disabled or missing > [ 3.199404] Bogus possible_crtcs: [ENCODER:31:TMDS-31] > possible_crtcs=0x2 (full crtc mask=0x1) > [ 3.208081] WARNING: CPU: 6 PID: 68 at > drivers/gpu/drm/drm_mode_config.c:626 > drm_mode_config_validate+0x1c8/0x548 > [ 3.224789] Modules linked in: > [ 3.227838] CPU: 6 PID: 68 Comm: kworker/u16:1 Not tainted > 6.5.0-rc3-next-20230728+ #100 > [ 3.235918] Hardware name: Google Spherion (rev0 - 3) (DT) > [ 3.241391] Workqueue: events_unbound deferred_probe_work_func > [ 3.247216] pstate: 60400009 (nZCv daif +PAN -UAO -TCO -DIT -SSBS > BTYPE=--) > [ 3.254167] pc : drm_mode_config_validate+0x1c8/0x548 > [ 3.259209] lr : drm_mode_config_validate+0x1c8/0x548 > [ 3.264250] sp : ffff8000804e3970 > [ 3.267552] x29: ffff8000804e3980 x28: ffff4841827c1880 x27: > 0000000000000001 > [ 3.274677] x26: 0000000000000001 x25: ffff4841825f5ab0 x24: > ffff4841825f5ab0 > [ 3.281801] x23: ffff484182469880 x22: ffffa80dbfbdde28 x21: > ffffa80dbfbddba8 > [ 3.288925] x20: ffff4841825f5800 x19: ffff4841825f5aa8 x18: > 0000000000000030 > [ 3.296050] x17: 6628203278303d73 x16: 637472635f656c62 x15: > 6973736f70205d31 > [ 3.303174] x14: 332d53444d543a31 x13: 293178303d6b7361 x12: > 6d2063747263206c > [ 3.310298] x11: 6c75662820327830 x10: 3d73637472635f65 x9 : > ffffa80dbdd3805c > [ 3.317422] x8 : 455b203a73637472 x7 : 205d343034393931 x6 : > ffffa80dbe6365d8 > [ 3.324546] x5 : ffffa80dc0fcc48f x4 : ffffa80dc0049b40 x3 : > 00000000ffffffff > [ 3.331671] x2 : 0000000000000000 x1 : 0000000000000000 x0 : > ffff4841809d5e80 > [ 3.338796] Call trace: > [ 3.341232] drm_mode_config_validate+0x1c8/0x548 > [ 3.345924] drm_dev_register+0x198/0x248 > [ 3.345931] mtk_drm_bind+0x2cc/0x590 > [ 3.345936] try_to_bring_up_aggregate_device+0x1f8/0x308 > [ 3.345940] __component_add+0xac/0x1a0 > [ 3.345942] component_add+0x1c/0x30 > [ 3.345944] mtk_dpi_probe+0x1c0/0x300 > [ 3.358100] platform_probe+0x70/0xe8 > [ 3.358106] really_probe+0x18c/0x3d8 > [ 3.358108] __driver_probe_device+0x84/0x180 > [ 3.358109] driver_probe_device+0x44/0x120 > [ 3.358111] __device_attach_driver+0xc4/0x168 > [ 3.358113] bus_for_each_drv+0x8c/0xf0 > [ 3.367146] __device_attach+0xb0/0x1e8 > [ 3.367148] device_initial_probe+0x1c/0x30 > [ 3.367150] bus_probe_device+0xb4/0xc0 > [ 3.367153] deferred_probe_work_func+0xa4/0x100 > [ 3.367155] process_one_work+0x1ec/0x480 > [ 3.374543] worker_thread+0x74/0x448 > [ 3.374545] kthread+0x120/0x130 > [ 3.374548] ret_from_fork+0x10/0x20 That was what I was seeing in the first place, yes. (Any yeah, no oops, but a WARN()). > The mtk-dpi driver populates its encoder's possible_crtcs from the > result of > mtk_drm_find_possible_crtc_by_comp(), and this function assumes the > CRTC for the > main path will always have ID 0, and the external path ID 1, but when > the > main path components are disabled, the external path CRTC becomes the > one with > ID 0. > > So we'd need to make that function return the crtc id dynamically based > on > whether the components for each path are enabled or not. > > With that function hacked to force the right crtc ID, I was able to > have a > working external DP, with the eDP pipeline disabled on both mt8192 and > mt8195. Thanks for the hint, where to look at. While digging through the code I realized that all the outputs and pipelines are harcoded. Doh. For all the mediatek SoCs. Looks like major restriction to me. E.g. there is also DSI and HDMI output on the mt8195. I looked at the downstream linux and there, the output is not part of the pipeline. Are you aware of any work in that direction? -michael 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 CE70BC83F12 for ; Tue, 29 Aug 2023 13:31:04 +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-Type: Content-Transfer-Encoding:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:Message-ID:References:In-Reply-To:Subject:Cc:To:From :Date:MIME-Version:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=9j4XNAR5lc5HjxhrWEYK1+J8LrNZU7j0ntoY/P51o1E=; b=v/wpK2At20Qxi0cAHJDs3x9eTl 17H1UklRL6d6KI93Hqkm+wPQAA2eeULe3m3+KiO2zZwRXSArIHw2kFreGjd0GR/fRAnCejHXVx0jY rGSAmD+62jYdGGStvnyMQOhqpvEleh96E553rHifurUnI5/YrY/ODLNpqf6zAkNs+EkfFP4DCQTxN 0FOFCCKKBthGM0caQ629GYCoTgaMJX2EPJ0Qj8ejf/b/X6aSbueO8s8YUpE1YingGz/fHRgZJyJ8l Q2hnyYVQJHnoBDW2ISnzZQjIYdDA/R2dTOksQZncC7h3ga2gliPO5hcAIDXXHarBGFqRWP4I7wMux NNubHBpQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1qayni-00Bb5V-1T; Tue, 29 Aug 2023 13:30:34 +0000 Received: from dfw.source.kernel.org ([139.178.84.217]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1qayne-00Bb4f-2d; Tue, 29 Aug 2023 13:30:32 +0000 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 0992F6573B; Tue, 29 Aug 2023 13:30:30 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 92DD8C433CA; Tue, 29 Aug 2023 13:30:26 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1693315829; bh=tyFL+Qq6DIl/j2XksQSMYBymfmUxIPe9lX/1l17xgtA=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=OGDOaEH6+v3LxCLseDf3p4adYwnOV6oP94f2E8jp4gTYk/JcPO22YL8KqgusXYM+s 4Rm3RsB3XXW7XF0Zy2Ahz2+SF99k0LpqR8/isDO6KhzRLkAuFlyQTyVHHQVDvGt7lY OdLcs5EoKTrOryvtWjyNmppGuSlxO79kqvVK10HOT42H3q5kYNVAnAS4s7HaD5NXYu /NsuRcbWVLX/WwlqWTtVJc/4MO81Ers/FgghIsA1FNm7PSdl7oEP+XizjnCthaVTYe QE4YUkJFU4VPit986vWyoPx4JYR4VsCMc6GSwLE5ePY01FWwvEJjQe+0UVeGCqIFpl zFLIOU3Ibh0NA== MIME-Version: 1.0 Date: Tue, 29 Aug 2023 15:30:24 +0200 From: Michael Walle To: =?UTF-8?Q?N=C3=ADcolas_F=2E_R=2E_A=2E_Prado?= Cc: angelogioacchino.delregno@collabora.com, airlied@gmail.com, amergnat@baylibre.com, chunkuang.hu@kernel.org, ck.hu@mediatek.com, daniel@ffwll.ch, dri-devel@lists.freedesktop.org, ehristev@collabora.com, kernel@collabora.com, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-mediatek@lists.infradead.org, matthias.bgg@gmail.com, p.zabel@pengutronix.de, wenst@chromium.org Subject: Re: [PATCH v7 09/11] drm/mediatek: dp: Add support for embedded DisplayPort aux-bus In-Reply-To: <00f65d49-497c-4ade-a2f3-7a5b7ad803b6@notapiano> References: <20230725073234.55892-10-angelogioacchino.delregno@collabora.com> <20230825120109.3132209-1-mwalle@kernel.org> <5b438dba-9b85-4448-bc89-08a11ddb822a@notapiano> <00f65d49-497c-4ade-a2f3-7a5b7ad803b6@notapiano> Message-ID: <18bfffdd7ce3bd7693c8362b28651b49@kernel.org> X-Sender: mwalle@kernel.org X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230829_063030_940134_59FC42AA X-CRM114-Status: GOOD ( 22.72 ) 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-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org SGkgTsOtY29sYXMsCgo+PiBCdXQgdGhlIHJlYWwgcmVhc29uIEkndmUgZW5hYmxlZCBpdCB3YXMg YmVjYXVzZSBJJ2xsIGdldCBhbiBrZXJuZWwKPj4gb29wcyBvdGhlcndpc2UuIEkgdGhvdWdodCBp dCBtaWdodCBiZSBzb21lIHF1aXJrIHRoYXQgeW91J2xsIG5lZWQgCj4+IGJvdGgsCj4+IGJlY2F1 c2UgZURQIHdpbGwgcmVnaXN0ZXIgZXZlbiBpZiB0aGVyZXMgbm8gZGlzcGxheSAtIGFzIHlvdSd2 ZQo+PiBtZW50aW9uZWQgYmVsb3cuCj4+IAo+PiBIZXJlJ3MgdGhlIHNwbGF0Ogo+PiBbICAgIDMu MjM3MDY0XSBtZWRpYXRlay1kcm0gbWVkaWF0ZWstZHJtLjEwLmF1dG86IGJvdW5kIAo+PiAxYzEx MDAwMC52cHAtbWVyZ2UKPj4gKG9wcyBtdGtfZGlzcF9tZXJnZV9jb21wb25lbnRfb3BzKQo+PiBb ICAgIDMuMjM4Mjc0XSBtZWRpYXRlay1kcm0gbWVkaWF0ZWstZHJtLjguYXV0bzogTm90IGNyZWF0 aW5nIGNydGMgMCAKPj4gYmVjYXVzZQo+PiBjb21wb25lbnQgOCBpcyBkaXNhYmxlZCBvciBtaXNz aW5nCj4+IFsgICAgMy4yMzk1MDRdIG1lZGlhdGVrLWRybSBtZWRpYXRlay1kcm0uOC5hdXRvOiBO b3QgY3JlYXRpbmcgY3J0YyAwIAo+PiBiZWNhdXNlCj4+IGNvbXBvbmVudCA5IGlzIGRpc2FibGVk IG9yIG1pc3NpbmcKPj4gWyAgICAzLjI0MDc0MV0gVW5hYmxlIHRvIGhhbmRsZSBrZXJuZWwgTlVM TCBwb2ludGVyIGRlcmVmZXJlbmNlIGF0IAo+PiB2aXJ0dWFsCj4+IGFkZHJlc3MgMDAwMDAwMDAw MDAwMDRhMAo+PiBbICAgIDMuMjQxODQxXSBNZW0gYWJvcnQgaW5mbzoKPj4gWyAgICAzLjI0MjE5 Ml0gICBFU1IgPSAweDAwMDAwMDAwOTYwMDAwMDQKPj4gWyAgICAzLjI0MjY2Ml0gICBFQyA9IDB4 MjU6IERBQlQgKGN1cnJlbnQgRUwpLCBJTCA9IDMyIGJpdHMKPj4gWyAgICAzLjI0MzMyOF0gICBT RVQgPSAwLCBGblYgPSAwCj4+IFsgICAgMy4yNDM3MTBdICAgRUEgPSAwLCBTMVBUVyA9IDAKPj4g WyAgICAzLjI0NDEwNF0gICBGU0MgPSAweDA0OiBsZXZlbCAwIHRyYW5zbGF0aW9uIGZhdWx0Cj4+ IFsgICAgMy4yNDQ3MTddIERhdGEgYWJvcnQgaW5mbzoKPj4gWyAgICAzLjI0NTA3OF0gICBJU1Yg PSAwLCBJU1MgPSAweDAwMDAwMDA0LCBJU1MyID0gMHgwMDAwMDAwMAo+PiBbICAgIDMuMjQ1NzY1 XSAgIENNID0gMCwgV25SID0gMCwgVG5EID0gMCwgVGFnQWNjZXNzID0gMAo+PiBbICAgIDMuMjQ2 Mzk4XSAgIEdDUyA9IDAsIE92ZXJsYXkgPSAwLCBEaXJ0eUJpdCA9IDAsIFhzID0gMAo+PiBbICAg IDMuMjQ3MDYzXSBbMDAwMDAwMDAwMDAwMDRhMF0gdXNlciBhZGRyZXNzIGJ1dCBhY3RpdmVfbW0g aXMgCj4+IHN3YXBwZXIKPj4gWyAgICAzLjI0Nzg2MF0gSW50ZXJuYWwgZXJyb3I6IE9vcHM6IDAw MDAwMDAwOTYwMDAwMDQgWyMxXSBTTVAKPj4gWyAgICAzLjI0ODU1OV0gTW9kdWxlcyBsaW5rZWQg aW46Cj4+IFsgICAgMy4yNDg5NDVdIENQVTogNCBQSUQ6IDExIENvbW06IGt3b3JrZXIvdTE2OjAg Tm90IHRhaW50ZWQKPj4gNi41LjAtcmM3LW5leHQtMjAyMzA4MjErICMyMjI1Cj4+IFsgICAgMy4y NDk5NzBdIEhhcmR3YXJlIG5hbWU6IEtvbnRyb24gMy41Ii1TQkMtaTEyMDAgKERUKQo+PiBbICAg IDMuMjUwNjE0XSBXb3JrcXVldWU6IGV2ZW50c191bmJvdW5kIGRlZmVycmVkX3Byb2JlX3dvcmtf ZnVuYwo+PiBbICAgIDMuMjUxMzQ3XSBwc3RhdGU6IDYwNDAwMDA5IChuWkN2IGRhaWYgK1BBTiAt VUFPIC1UQ08gLURJVCAtU1NCUwo+PiBCVFlQRT0tLSkKPj4gWyAgICAzLjI1MjIyMF0gcGMgOiBt dGtfZHJtX2NydGNfZG1hX2Rldl9nZXQrMHg4LzB4MTgKPj4gWyAgICAzLjI1MjgyNF0gbHIgOiBt dGtfZHJtX2JpbmQrMHg0NTgvMHg1NTgKPj4gWyAgICAzLjI1MzMyNl0gc3AgOiBmZmZmODAwMDgy YjIzYTIwCj4+IFsgICAgMy4yNTM3NDFdIHgyOTogZmZmZjgwMDA4MmIyM2EyMCB4Mjg6IGZmZmYw MDAwMDJjNzg4ODAgeDI3Ogo+PiBmZmZmODAwMDgxNjQ2NmQwCj4+IFsgICAgMy4yNTQ2MzVdIHgy NjogZmZmZjAwMDAwMmM2ZjAxMCB4MjU6IDAwMDAwMDAwMDAwMDAwMDMgeDI0Ogo+PiAwMDAwMDAw MDAwMDAwMDAwCj4+IFsgICAgMy4yNTU1MjldIHgyMzogZmZmZjAwMDAwMmM3ODg4MCB4MjI6IDAw MDAwMDAwMDAwMDAwMDIgeDIxOgo+PiAwMDAwMDAwMDAwMDAwMDAwCj4+IFsgICAgMy4yNTY0MjNd IHgyMDogZmZmZjAwMDAwNjUxNjgwMCB4MTk6IGZmZmYwMDAwMDJjNzg4ODAgeDE4Ogo+PiBmZmZm ZmZmZmZmZmZmZmZmCj4+IFsgICAgMy4yNTczMTddIHgxNzogNmY2MzIwNjU3Mzc1NjE2MyB4MTY6 IDY1NjIyMDMwMjA2Mzc0NzIgeDE1Ogo+PiA2MzIwNjc2ZTY5NzQ2MTY1Cj4+IFsgICAgMy4yNTgy MTFdIHgxNDogNzI2MzIwNzQ2ZjRlMjAzYSB4MTM6IDY3NmU2OTczNzM2OTZkMjAgeDEyOgo+PiA3 MjZmMjA2NDY1NmM2MjYxCj4+IFsgICAgMy4yNTkxMDZdIHgxMTogNzM2OTY0MjA3MzY5MjAzOSB4 MTA6IGZmZmY4MDAwODI3NWMwYzAgeDkgOgo+PiBmZmZmODAwMDgwOTFlYmY4Cj4+IFsgICAgMy4y NjAwMDBdIHg4IDogMDAwMDAwMDBmZmZmZWZmZiB4NyA6IGZmZmY4MDAwODI3NWMwYzAgeDYgOgo+ PiA4MDAwMDAwMGZmZmZmMDAwCj4+IFsgICAgMy4yNjA4OTVdIHg1IDogMDAwMDAwMDAwMDAwYmZm NCB4NCA6IDAwMDAwMDAwMDAwMDAwMDAgeDMgOgo+PiBmZmZmMDAwMDA2NTE2YWUwCj4+IFsgICAg My4yNjE3ODldIHgyIDogZmZmZjAwMDAwNjUxNmFlMCB4MSA6IDAwMDAwMDAwMDAwMDAwMDAgeDAg Ogo+PiAwMDAwMDAwMDAwMDAwMDAwCj4+IFsgICAgMy4yNjI2ODRdIENhbGwgdHJhY2U6Cj4+IFsg ICAgMy4yNjI5OTFdICBtdGtfZHJtX2NydGNfZG1hX2Rldl9nZXQrMHg4LzB4MTgKPj4gWyAgICAz LjI2MzU0OV0gIHRyeV90b19icmluZ191cF9hZ2dyZWdhdGVfZGV2aWNlKzB4MTZjLzB4MWUwCj4+ IFsgICAgMy4yNjQyMjddICBfX2NvbXBvbmVudF9hZGQrMHhhYy8weDE4MAo+PiBbICAgIDMuMjY0 NzA4XSAgY29tcG9uZW50X2FkZCsweDFjLzB4MzAKPj4gWyAgICAzLjI2NTE1OF0gIG10a19kaXNw X3JkbWFfcHJvYmUrMHgxN2MvMHgyNzAKPj4gWyAgICAzLjI2NTY5NV0gIHBsYXRmb3JtX3Byb2Jl KzB4NzAvMHhkMAo+PiBbICAgIDMuMjY2MTU1XSAgcmVhbGx5X3Byb2JlKzB4MTUwLzB4MmMwCj4+ IFsgICAgMy4yNjY2MTVdICBfX2RyaXZlcl9wcm9iZV9kZXZpY2UrMHg4MC8weDE0MAo+PiBbICAg IDMuMjY3MTYyXSAgZHJpdmVyX3Byb2JlX2RldmljZSsweDQ0LzB4MTcwCj4+IFsgICAgMy4yNjc2 ODddICBfX2RldmljZV9hdHRhY2hfZHJpdmVyKzB4YzAvMHgxNDgKPj4gWyAgICAzLjI2ODI0NV0g IGJ1c19mb3JfZWFjaF9kcnYrMHg4OC8weGYwCj4+IFsgICAgMy4yNjg3MjddICBfX2RldmljZV9h dHRhY2grMHhhNC8weDE5OAo+PiBbICAgIDMuMjY5MjA4XSAgZGV2aWNlX2luaXRpYWxfcHJvYmUr MHgxYy8weDMwCj4+IFsgICAgMy4yNjk3MzJdICBidXNfcHJvYmVfZGV2aWNlKzB4YjQvMHhjMAo+ PiBbICAgIDMuMjcwMjE0XSAgZGVmZXJyZWRfcHJvYmVfd29ya19mdW5jKzB4OTAvMHhkMAo+PiBb ICAgIDMuMjcwNzgzXSAgcHJvY2Vzc19vbmVfd29yaysweDE0NC8weDNhMAo+PiBbICAgIDMuMjcx Mjg5XSAgd29ya2VyX3RocmVhZCsweDJhYy8weDRiOAo+PiBbICAgIDMuMjcxNzYxXSAga3RocmVh ZCsweGVjLzB4ZjgKPj4gWyAgICAzLjI3MjE0NV0gIHJldF9mcm9tX2ZvcmsrMHgxMC8weDIwCj4+ IFsgICAgMy4yNzI1OTddIENvZGU6IDgxNGY3ODU4IGZmZmY4MDAwIGFhMWUwM2U5IGQ1MDMyMDFm IChmOTQyNTAwMCkKPj4gWyAgICAzLjI3MzM2MV0gLS0tWyBlbmQgdHJhY2UgMDAwMDAwMDAwMDAw MDAwMCBdLS0tCj4gCj4gSSB0cmllZCByZXByb2R1Y2luZyB0aGlzIG9uIG10ODE5Mi1hc3VyYWRh LXNwaGVyaW9uIGFuZCAKPiBtdDgxOTUtY2hlcnJ5LXRvbWF0byBidXQKPiB3YXNuJ3QgYWJsZSB0 by4gSG93ZXZlciwgSSBkaWQgc2VlIGFub3RoZXIgaXNzdWUKClllYWggc29ycnksIEkgdHJpZWQg dG8gcmVwcm9kdWNlIG15IGluaXRpYWwgb29wcyBidXQgbWVzc2VkIG15IERUIHVwCmFuZCBlbmRl ZCB1cCB3aXRoIG5vIHBhdGggZW5hYmxlZCBhdCBhbGwuCgoKPiBbICAgIDMuMTgzMzE0XSBtZWRp YXRlay1kcm0gbWVkaWF0ZWstZHJtLjkuYXV0bzogTm90IGNyZWF0aW5nIGNydGMgMCAKPiBiZWNh dXNlIGNvbXBvbmVudCAxNCBpcyBkaXNhYmxlZCBvciBtaXNzaW5nCj4gWyAgICAzLjE5OTQwNF0g Qm9ndXMgcG9zc2libGVfY3J0Y3M6IFtFTkNPREVSOjMxOlRNRFMtMzFdIAo+IHBvc3NpYmxlX2Ny dGNzPTB4MiAoZnVsbCBjcnRjIG1hc2s9MHgxKQo+IFsgICAgMy4yMDgwODFdIFdBUk5JTkc6IENQ VTogNiBQSUQ6IDY4IGF0IAo+IGRyaXZlcnMvZ3B1L2RybS9kcm1fbW9kZV9jb25maWcuYzo2MjYg Cj4gZHJtX21vZGVfY29uZmlnX3ZhbGlkYXRlKzB4MWM4LzB4NTQ4Cj4gWyAgICAzLjIyNDc4OV0g TW9kdWxlcyBsaW5rZWQgaW46Cj4gWyAgICAzLjIyNzgzOF0gQ1BVOiA2IFBJRDogNjggQ29tbTog a3dvcmtlci91MTY6MSBOb3QgdGFpbnRlZCAKPiA2LjUuMC1yYzMtbmV4dC0yMDIzMDcyOCsgIzEw MAo+IFsgICAgMy4yMzU5MThdIEhhcmR3YXJlIG5hbWU6IEdvb2dsZSBTcGhlcmlvbiAocmV2MCAt IDMpIChEVCkKPiBbICAgIDMuMjQxMzkxXSBXb3JrcXVldWU6IGV2ZW50c191bmJvdW5kIGRlZmVy cmVkX3Byb2JlX3dvcmtfZnVuYwo+IFsgICAgMy4yNDcyMTZdIHBzdGF0ZTogNjA0MDAwMDkgKG5a Q3YgZGFpZiArUEFOIC1VQU8gLVRDTyAtRElUIC1TU0JTIAo+IEJUWVBFPS0tKQo+IFsgICAgMy4y NTQxNjddIHBjIDogZHJtX21vZGVfY29uZmlnX3ZhbGlkYXRlKzB4MWM4LzB4NTQ4Cj4gWyAgICAz LjI1OTIwOV0gbHIgOiBkcm1fbW9kZV9jb25maWdfdmFsaWRhdGUrMHgxYzgvMHg1NDgKPiBbICAg IDMuMjY0MjUwXSBzcCA6IGZmZmY4MDAwODA0ZTM5NzAKPiBbICAgIDMuMjY3NTUyXSB4Mjk6IGZm ZmY4MDAwODA0ZTM5ODAgeDI4OiBmZmZmNDg0MTgyN2MxODgwIHgyNzogCj4gMDAwMDAwMDAwMDAw MDAwMQo+IFsgICAgMy4yNzQ2NzddIHgyNjogMDAwMDAwMDAwMDAwMDAwMSB4MjU6IGZmZmY0ODQx ODI1ZjVhYjAgeDI0OiAKPiBmZmZmNDg0MTgyNWY1YWIwCj4gWyAgICAzLjI4MTgwMV0geDIzOiBm ZmZmNDg0MTgyNDY5ODgwIHgyMjogZmZmZmE4MGRiZmJkZGUyOCB4MjE6IAo+IGZmZmZhODBkYmZi ZGRiYTgKPiBbICAgIDMuMjg4OTI1XSB4MjA6IGZmZmY0ODQxODI1ZjU4MDAgeDE5OiBmZmZmNDg0 MTgyNWY1YWE4IHgxODogCj4gMDAwMDAwMDAwMDAwMDAzMAo+IFsgICAgMy4yOTYwNTBdIHgxNzog NjYyODIwMzI3ODMwM2Q3MyB4MTY6IDYzNzQ3MjYzNWY2NTZjNjIgeDE1OiAKPiA2OTczNzM2Zjcw MjA1ZDMxCj4gWyAgICAzLjMwMzE3NF0geDE0OiAzMzJkNTM0NDRkNTQzYTMxIHgxMzogMjkzMTc4 MzAzZDZiNzM2MSB4MTI6IAo+IDZkMjA2Mzc0NzI2MzIwNmMKPiBbICAgIDMuMzEwMjk4XSB4MTE6 IDZjNzU2NjI4MjAzMjc4MzAgeDEwOiAzZDczNjM3NDcyNjM1ZjY1IHg5IDogCj4gZmZmZmE4MGRi ZGQzODA1Ywo+IFsgICAgMy4zMTc0MjJdIHg4IDogNDU1YjIwM2E3MzYzNzQ3MiB4NyA6IDIwNWQz NDMwMzQzOTM5MzEgeDYgOiAKPiBmZmZmYTgwZGJlNjM2NWQ4Cj4gWyAgICAzLjMyNDU0Nl0geDUg OiBmZmZmYTgwZGMwZmNjNDhmIHg0IDogZmZmZmE4MGRjMDA0OWI0MCB4MyA6IAo+IDAwMDAwMDAw ZmZmZmZmZmYKPiBbICAgIDMuMzMxNjcxXSB4MiA6IDAwMDAwMDAwMDAwMDAwMDAgeDEgOiAwMDAw MDAwMDAwMDAwMDAwIHgwIDogCj4gZmZmZjQ4NDE4MDlkNWU4MAo+IFsgICAgMy4zMzg3OTZdIENh bGwgdHJhY2U6Cj4gWyAgICAzLjM0MTIzMl0gIGRybV9tb2RlX2NvbmZpZ192YWxpZGF0ZSsweDFj OC8weDU0OAo+IFsgICAgMy4zNDU5MjRdICBkcm1fZGV2X3JlZ2lzdGVyKzB4MTk4LzB4MjQ4Cj4g WyAgICAzLjM0NTkzMV0gIG10a19kcm1fYmluZCsweDJjYy8weDU5MAo+IFsgICAgMy4zNDU5MzZd ICB0cnlfdG9fYnJpbmdfdXBfYWdncmVnYXRlX2RldmljZSsweDFmOC8weDMwOAo+IFsgICAgMy4z NDU5NDBdICBfX2NvbXBvbmVudF9hZGQrMHhhYy8weDFhMAo+IFsgICAgMy4zNDU5NDJdICBjb21w b25lbnRfYWRkKzB4MWMvMHgzMAo+IFsgICAgMy4zNDU5NDRdICBtdGtfZHBpX3Byb2JlKzB4MWMw LzB4MzAwCj4gWyAgICAzLjM1ODEwMF0gIHBsYXRmb3JtX3Byb2JlKzB4NzAvMHhlOAo+IFsgICAg My4zNTgxMDZdICByZWFsbHlfcHJvYmUrMHgxOGMvMHgzZDgKPiBbICAgIDMuMzU4MTA4XSAgX19k cml2ZXJfcHJvYmVfZGV2aWNlKzB4ODQvMHgxODAKPiBbICAgIDMuMzU4MTA5XSAgZHJpdmVyX3By b2JlX2RldmljZSsweDQ0LzB4MTIwCj4gWyAgICAzLjM1ODExMV0gIF9fZGV2aWNlX2F0dGFjaF9k cml2ZXIrMHhjNC8weDE2OAo+IFsgICAgMy4zNTgxMTNdICBidXNfZm9yX2VhY2hfZHJ2KzB4OGMv MHhmMAo+IFsgICAgMy4zNjcxNDZdICBfX2RldmljZV9hdHRhY2grMHhiMC8weDFlOAo+IFsgICAg My4zNjcxNDhdICBkZXZpY2VfaW5pdGlhbF9wcm9iZSsweDFjLzB4MzAKPiBbICAgIDMuMzY3MTUw XSAgYnVzX3Byb2JlX2RldmljZSsweGI0LzB4YzAKPiBbICAgIDMuMzY3MTUzXSAgZGVmZXJyZWRf cHJvYmVfd29ya19mdW5jKzB4YTQvMHgxMDAKPiBbICAgIDMuMzY3MTU1XSAgcHJvY2Vzc19vbmVf d29yaysweDFlYy8weDQ4MAo+IFsgICAgMy4zNzQ1NDNdICB3b3JrZXJfdGhyZWFkKzB4NzQvMHg0 NDgKPiBbICAgIDMuMzc0NTQ1XSAga3RocmVhZCsweDEyMC8weDEzMAo+IFsgICAgMy4zNzQ1NDhd ICByZXRfZnJvbV9mb3JrKzB4MTAvMHgyMAoKVGhhdCB3YXMgd2hhdCBJIHdhcyBzZWVpbmcgaW4g dGhlIGZpcnN0IHBsYWNlLCB5ZXMuIChBbnkgeWVhaCwgbm8gb29wcywKYnV0IGEgV0FSTigpKS4K Cj4gVGhlIG10ay1kcGkgZHJpdmVyIHBvcHVsYXRlcyBpdHMgZW5jb2RlcidzIHBvc3NpYmxlX2Ny dGNzIGZyb20gdGhlIAo+IHJlc3VsdCBvZgo+IG10a19kcm1fZmluZF9wb3NzaWJsZV9jcnRjX2J5 X2NvbXAoKSwgYW5kIHRoaXMgZnVuY3Rpb24gYXNzdW1lcyB0aGUgCj4gQ1JUQyBmb3IgdGhlCj4g bWFpbiBwYXRoIHdpbGwgYWx3YXlzIGhhdmUgSUQgMCwgYW5kIHRoZSBleHRlcm5hbCBwYXRoIElE IDEsIGJ1dCB3aGVuIAo+IHRoZQo+IG1haW4gcGF0aCBjb21wb25lbnRzIGFyZSBkaXNhYmxlZCwg dGhlIGV4dGVybmFsIHBhdGggQ1JUQyBiZWNvbWVzIHRoZSAKPiBvbmUgd2l0aAo+IElEIDAuCj4g Cj4gU28gd2UnZCBuZWVkIHRvIG1ha2UgdGhhdCBmdW5jdGlvbiByZXR1cm4gdGhlIGNydGMgaWQg ZHluYW1pY2FsbHkgYmFzZWQgCj4gb24KPiB3aGV0aGVyIHRoZSBjb21wb25lbnRzIGZvciBlYWNo IHBhdGggYXJlIGVuYWJsZWQgb3Igbm90Lgo+IAo+IFdpdGggdGhhdCBmdW5jdGlvbiBoYWNrZWQg dG8gZm9yY2UgdGhlIHJpZ2h0IGNydGMgSUQsIEkgd2FzIGFibGUgdG8gCj4gaGF2ZSBhCj4gd29y a2luZyBleHRlcm5hbCBEUCwgd2l0aCB0aGUgZURQIHBpcGVsaW5lIGRpc2FibGVkIG9uIGJvdGgg bXQ4MTkyIGFuZCAKPiBtdDgxOTUuCgpUaGFua3MgZm9yIHRoZSBoaW50LCB3aGVyZSB0byBsb29r IGF0LgoKV2hpbGUgZGlnZ2luZyB0aHJvdWdoIHRoZSBjb2RlIEkgcmVhbGl6ZWQgdGhhdCBhbGwg dGhlIG91dHB1dHMgYW5kIApwaXBlbGluZXMKYXJlIGhhcmNvZGVkLiBEb2guIEZvciBhbGwgdGhl IG1lZGlhdGVrIFNvQ3MuIExvb2tzIGxpa2UgbWFqb3IgCnJlc3RyaWN0aW9uIHRvCm1lLiBFLmcu IHRoZXJlIGlzIGFsc28gRFNJIGFuZCBIRE1JIG91dHB1dCBvbiB0aGUgbXQ4MTk1LiBJIGxvb2tl ZCBhdCAKdGhlCmRvd25zdHJlYW0gbGludXggYW5kIHRoZXJlLCB0aGUgb3V0cHV0IGlzIG5vdCBw YXJ0IG9mIHRoZSBwaXBlbGluZS4gQXJlIAp5b3UKYXdhcmUgb2YgYW55IHdvcmsgaW4gdGhhdCBk aXJlY3Rpb24/CgotbWljaGFlbAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KbGludXgtYXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QKbGludXgtYXJtLWtlcm5l bEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4v bGlzdGluZm8vbGludXgtYXJtLWtlcm5lbAo= 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 98396C83F12 for ; Tue, 29 Aug 2023 13:30:36 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id CE91D10E328; Tue, 29 Aug 2023 13:30:35 +0000 (UTC) Received: from dfw.source.kernel.org (dfw.source.kernel.org [IPv6:2604:1380:4641:c500::1]) by gabe.freedesktop.org (Postfix) with ESMTPS id ABE9F10E328 for ; Tue, 29 Aug 2023 13:30:30 +0000 (UTC) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 0992F6573B; Tue, 29 Aug 2023 13:30:30 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 92DD8C433CA; Tue, 29 Aug 2023 13:30:26 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1693315829; bh=tyFL+Qq6DIl/j2XksQSMYBymfmUxIPe9lX/1l17xgtA=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=OGDOaEH6+v3LxCLseDf3p4adYwnOV6oP94f2E8jp4gTYk/JcPO22YL8KqgusXYM+s 4Rm3RsB3XXW7XF0Zy2Ahz2+SF99k0LpqR8/isDO6KhzRLkAuFlyQTyVHHQVDvGt7lY OdLcs5EoKTrOryvtWjyNmppGuSlxO79kqvVK10HOT42H3q5kYNVAnAS4s7HaD5NXYu /NsuRcbWVLX/WwlqWTtVJc/4MO81Ers/FgghIsA1FNm7PSdl7oEP+XizjnCthaVTYe QE4YUkJFU4VPit986vWyoPx4JYR4VsCMc6GSwLE5ePY01FWwvEJjQe+0UVeGCqIFpl zFLIOU3Ibh0NA== MIME-Version: 1.0 Date: Tue, 29 Aug 2023 15:30:24 +0200 From: Michael Walle To: =?UTF-8?Q?N=C3=ADcolas_F=2E_R=2E_A=2E_Prado?= Subject: Re: [PATCH v7 09/11] drm/mediatek: dp: Add support for embedded DisplayPort aux-bus In-Reply-To: <00f65d49-497c-4ade-a2f3-7a5b7ad803b6@notapiano> References: <20230725073234.55892-10-angelogioacchino.delregno@collabora.com> <20230825120109.3132209-1-mwalle@kernel.org> <5b438dba-9b85-4448-bc89-08a11ddb822a@notapiano> <00f65d49-497c-4ade-a2f3-7a5b7ad803b6@notapiano> Message-ID: <18bfffdd7ce3bd7693c8362b28651b49@kernel.org> X-Sender: mwalle@kernel.org Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit 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, amergnat@baylibre.com, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, matthias.bgg@gmail.com, linux-mediatek@lists.infradead.org, ehristev@collabora.com, wenst@chromium.org, kernel@collabora.com, linux-arm-kernel@lists.infradead.org, angelogioacchino.delregno@collabora.com Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" Hi NĂ­colas, >> But the real reason I've enabled it was because I'll get an kernel >> oops otherwise. I thought it might be some quirk that you'll need >> both, >> because eDP will register even if theres no display - as you've >> mentioned below. >> >> Here's the splat: >> [ 3.237064] mediatek-drm mediatek-drm.10.auto: bound >> 1c110000.vpp-merge >> (ops mtk_disp_merge_component_ops) >> [ 3.238274] mediatek-drm mediatek-drm.8.auto: Not creating crtc 0 >> because >> component 8 is disabled or missing >> [ 3.239504] mediatek-drm mediatek-drm.8.auto: Not creating crtc 0 >> because >> component 9 is disabled or missing >> [ 3.240741] Unable to handle kernel NULL pointer dereference at >> virtual >> address 00000000000004a0 >> [ 3.241841] Mem abort info: >> [ 3.242192] ESR = 0x0000000096000004 >> [ 3.242662] EC = 0x25: DABT (current EL), IL = 32 bits >> [ 3.243328] SET = 0, FnV = 0 >> [ 3.243710] EA = 0, S1PTW = 0 >> [ 3.244104] FSC = 0x04: level 0 translation fault >> [ 3.244717] Data abort info: >> [ 3.245078] ISV = 0, ISS = 0x00000004, ISS2 = 0x00000000 >> [ 3.245765] CM = 0, WnR = 0, TnD = 0, TagAccess = 0 >> [ 3.246398] GCS = 0, Overlay = 0, DirtyBit = 0, Xs = 0 >> [ 3.247063] [00000000000004a0] user address but active_mm is >> swapper >> [ 3.247860] Internal error: Oops: 0000000096000004 [#1] SMP >> [ 3.248559] Modules linked in: >> [ 3.248945] CPU: 4 PID: 11 Comm: kworker/u16:0 Not tainted >> 6.5.0-rc7-next-20230821+ #2225 >> [ 3.249970] Hardware name: Kontron 3.5"-SBC-i1200 (DT) >> [ 3.250614] Workqueue: events_unbound deferred_probe_work_func >> [ 3.251347] pstate: 60400009 (nZCv daif +PAN -UAO -TCO -DIT -SSBS >> BTYPE=--) >> [ 3.252220] pc : mtk_drm_crtc_dma_dev_get+0x8/0x18 >> [ 3.252824] lr : mtk_drm_bind+0x458/0x558 >> [ 3.253326] sp : ffff800082b23a20 >> [ 3.253741] x29: ffff800082b23a20 x28: ffff000002c78880 x27: >> ffff8000816466d0 >> [ 3.254635] x26: ffff000002c6f010 x25: 0000000000000003 x24: >> 0000000000000000 >> [ 3.255529] x23: ffff000002c78880 x22: 0000000000000002 x21: >> 0000000000000000 >> [ 3.256423] x20: ffff000006516800 x19: ffff000002c78880 x18: >> ffffffffffffffff >> [ 3.257317] x17: 6f63206573756163 x16: 6562203020637472 x15: >> 6320676e69746165 >> [ 3.258211] x14: 726320746f4e203a x13: 676e697373696d20 x12: >> 726f2064656c6261 >> [ 3.259106] x11: 7369642073692039 x10: ffff80008275c0c0 x9 : >> ffff80008091ebf8 >> [ 3.260000] x8 : 00000000ffffefff x7 : ffff80008275c0c0 x6 : >> 80000000fffff000 >> [ 3.260895] x5 : 000000000000bff4 x4 : 0000000000000000 x3 : >> ffff000006516ae0 >> [ 3.261789] x2 : ffff000006516ae0 x1 : 0000000000000000 x0 : >> 0000000000000000 >> [ 3.262684] Call trace: >> [ 3.262991] mtk_drm_crtc_dma_dev_get+0x8/0x18 >> [ 3.263549] try_to_bring_up_aggregate_device+0x16c/0x1e0 >> [ 3.264227] __component_add+0xac/0x180 >> [ 3.264708] component_add+0x1c/0x30 >> [ 3.265158] mtk_disp_rdma_probe+0x17c/0x270 >> [ 3.265695] platform_probe+0x70/0xd0 >> [ 3.266155] really_probe+0x150/0x2c0 >> [ 3.266615] __driver_probe_device+0x80/0x140 >> [ 3.267162] driver_probe_device+0x44/0x170 >> [ 3.267687] __device_attach_driver+0xc0/0x148 >> [ 3.268245] bus_for_each_drv+0x88/0xf0 >> [ 3.268727] __device_attach+0xa4/0x198 >> [ 3.269208] device_initial_probe+0x1c/0x30 >> [ 3.269732] bus_probe_device+0xb4/0xc0 >> [ 3.270214] deferred_probe_work_func+0x90/0xd0 >> [ 3.270783] process_one_work+0x144/0x3a0 >> [ 3.271289] worker_thread+0x2ac/0x4b8 >> [ 3.271761] kthread+0xec/0xf8 >> [ 3.272145] ret_from_fork+0x10/0x20 >> [ 3.272597] Code: 814f7858 ffff8000 aa1e03e9 d503201f (f9425000) >> [ 3.273361] ---[ end trace 0000000000000000 ]--- > > I tried reproducing this on mt8192-asurada-spherion and > mt8195-cherry-tomato but > wasn't able to. However, I did see another issue Yeah sorry, I tried to reproduce my initial oops but messed my DT up and ended up with no path enabled at all. > [ 3.183314] mediatek-drm mediatek-drm.9.auto: Not creating crtc 0 > because component 14 is disabled or missing > [ 3.199404] Bogus possible_crtcs: [ENCODER:31:TMDS-31] > possible_crtcs=0x2 (full crtc mask=0x1) > [ 3.208081] WARNING: CPU: 6 PID: 68 at > drivers/gpu/drm/drm_mode_config.c:626 > drm_mode_config_validate+0x1c8/0x548 > [ 3.224789] Modules linked in: > [ 3.227838] CPU: 6 PID: 68 Comm: kworker/u16:1 Not tainted > 6.5.0-rc3-next-20230728+ #100 > [ 3.235918] Hardware name: Google Spherion (rev0 - 3) (DT) > [ 3.241391] Workqueue: events_unbound deferred_probe_work_func > [ 3.247216] pstate: 60400009 (nZCv daif +PAN -UAO -TCO -DIT -SSBS > BTYPE=--) > [ 3.254167] pc : drm_mode_config_validate+0x1c8/0x548 > [ 3.259209] lr : drm_mode_config_validate+0x1c8/0x548 > [ 3.264250] sp : ffff8000804e3970 > [ 3.267552] x29: ffff8000804e3980 x28: ffff4841827c1880 x27: > 0000000000000001 > [ 3.274677] x26: 0000000000000001 x25: ffff4841825f5ab0 x24: > ffff4841825f5ab0 > [ 3.281801] x23: ffff484182469880 x22: ffffa80dbfbdde28 x21: > ffffa80dbfbddba8 > [ 3.288925] x20: ffff4841825f5800 x19: ffff4841825f5aa8 x18: > 0000000000000030 > [ 3.296050] x17: 6628203278303d73 x16: 637472635f656c62 x15: > 6973736f70205d31 > [ 3.303174] x14: 332d53444d543a31 x13: 293178303d6b7361 x12: > 6d2063747263206c > [ 3.310298] x11: 6c75662820327830 x10: 3d73637472635f65 x9 : > ffffa80dbdd3805c > [ 3.317422] x8 : 455b203a73637472 x7 : 205d343034393931 x6 : > ffffa80dbe6365d8 > [ 3.324546] x5 : ffffa80dc0fcc48f x4 : ffffa80dc0049b40 x3 : > 00000000ffffffff > [ 3.331671] x2 : 0000000000000000 x1 : 0000000000000000 x0 : > ffff4841809d5e80 > [ 3.338796] Call trace: > [ 3.341232] drm_mode_config_validate+0x1c8/0x548 > [ 3.345924] drm_dev_register+0x198/0x248 > [ 3.345931] mtk_drm_bind+0x2cc/0x590 > [ 3.345936] try_to_bring_up_aggregate_device+0x1f8/0x308 > [ 3.345940] __component_add+0xac/0x1a0 > [ 3.345942] component_add+0x1c/0x30 > [ 3.345944] mtk_dpi_probe+0x1c0/0x300 > [ 3.358100] platform_probe+0x70/0xe8 > [ 3.358106] really_probe+0x18c/0x3d8 > [ 3.358108] __driver_probe_device+0x84/0x180 > [ 3.358109] driver_probe_device+0x44/0x120 > [ 3.358111] __device_attach_driver+0xc4/0x168 > [ 3.358113] bus_for_each_drv+0x8c/0xf0 > [ 3.367146] __device_attach+0xb0/0x1e8 > [ 3.367148] device_initial_probe+0x1c/0x30 > [ 3.367150] bus_probe_device+0xb4/0xc0 > [ 3.367153] deferred_probe_work_func+0xa4/0x100 > [ 3.367155] process_one_work+0x1ec/0x480 > [ 3.374543] worker_thread+0x74/0x448 > [ 3.374545] kthread+0x120/0x130 > [ 3.374548] ret_from_fork+0x10/0x20 That was what I was seeing in the first place, yes. (Any yeah, no oops, but a WARN()). > The mtk-dpi driver populates its encoder's possible_crtcs from the > result of > mtk_drm_find_possible_crtc_by_comp(), and this function assumes the > CRTC for the > main path will always have ID 0, and the external path ID 1, but when > the > main path components are disabled, the external path CRTC becomes the > one with > ID 0. > > So we'd need to make that function return the crtc id dynamically based > on > whether the components for each path are enabled or not. > > With that function hacked to force the right crtc ID, I was able to > have a > working external DP, with the eDP pipeline disabled on both mt8192 and > mt8195. Thanks for the hint, where to look at. While digging through the code I realized that all the outputs and pipelines are harcoded. Doh. For all the mediatek SoCs. Looks like major restriction to me. E.g. there is also DSI and HDMI output on the mt8195. I looked at the downstream linux and there, the output is not part of the pipeline. Are you aware of any work in that direction? -michael