From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-ej1-f41.google.com (mail-ej1-f41.google.com [209.85.218.41]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3B31E334C10 for ; Fri, 9 Jan 2026 09:49:27 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.41 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767952170; cv=none; b=epr5Ep1WqoU/rnjUfuKbimQqiR70pX/2c5de2RcWO47ffiWR0NTvOvMgmfHlmNlm9mS6oOhoOUMNs4vVAuff7rVZPvssD6W1iLy4Ht4OwWC/yU3idRgjT/7/JfEwd4Sn/IPm3In6Xo4rO0sIiKTXSfpNyJ7ELOoFH9NJtXr7zTo= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767952170; c=relaxed/simple; bh=P6ym1pKlcArn1VJ4w3ggn4ZfGn1mbCofeDl/fgc8FfI=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=flOIOwW1J6IMaCdThvvXnUyZucbPJXtss/PzOA/86QkWHW2ggv22RoMmBngf0JHg3ybdJCGc9pHzvXFXuWBmNftl2VQWuU12l6WaRXv11qSPLcunE57m6ht9I6SodYUnu/8Qa8/AvbxIUhCawvVPF1fgAqdn+6zAvv/oFWsrHYw= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=tuxon.dev; spf=pass smtp.mailfrom=tuxon.dev; dkim=pass (2048-bit key) header.d=tuxon.dev header.i=@tuxon.dev header.b=Ba2EdRp2; arc=none smtp.client-ip=209.85.218.41 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=tuxon.dev Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=tuxon.dev Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=tuxon.dev header.i=@tuxon.dev header.b="Ba2EdRp2" Received: by mail-ej1-f41.google.com with SMTP id a640c23a62f3a-b7277324204so634711066b.0 for ; Fri, 09 Jan 2026 01:49:27 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tuxon.dev; s=google; t=1767952166; x=1768556966; darn=vger.kernel.org; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=g6jwkAOZXv8yK/1ZVco7YXGM+PEJF0jRilnjoWS+qQE=; b=Ba2EdRp2hA7FhZM0Svn7FhxQ6W7qd3UKTwGMBWo4+QVMA+JNvodASvZWMkcXP0BCHl JV3RlvktvfF+49s+INz+nZwOxCObWWtd8LWiGdRaD4DWVa9RhDu22dRTEOgLbG49D4LT CPGkk/k2VBGw4D1h9ej7BxFHPin47QXBsfhcq1n7s4a6X5SxRCaohRXN3Lrv9hGF+vBF 01Gq3AL8IKGH6rpPPkx2eIP+ANBbtX/87uKJtlU96umumjkpPJopPQ1c/Y6Gx0MLR5Za q5jd4eIeyDioI241RGqZJrCg3B0Jo2KSM8QeCDnvFjKPsfTb3EZk5nSd2bFlYT0J9hlS b2aA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1767952166; x=1768556966; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=g6jwkAOZXv8yK/1ZVco7YXGM+PEJF0jRilnjoWS+qQE=; b=KbC4ziPNQZ+wlB5symHMS29Bu1cTI7p07mcBL0ujtIAwYKz3wRmamBIT1CU0Qvol60 haU4X/PInrjYtumYg/j1qC0JV0O7z1ts8xYqQv4YbNu4uMNTF1OMiWaw3mqXGeHwuQzl QWfjmZ6KEEAgP1vkMxZqjR9L+jexvyYX14tGeQFREn7/FYGgSMCTI2T66ZspQVbXynCu Bce8Pl/NCP8ytzsp0Ck8jqUBEZWpDiux7lxDg409KL7UYZv7inWR+7/l18aeI9I/EG/w CJ1KrlU1rmKP5/PFPY7kTx4fzVsYGo3SvGLh8YDh8tJBFrjQA9SOSwUK4zO7f4hbIg3c 8YKQ== X-Forwarded-Encrypted: i=1; AJvYcCXvrxCoUYfINxtupD2BOhjyE2TjnnRuK/IsgEvuMOpcvUxIV+vHkdbgURMLjkIVtvWdzK1ih9KYZHqThec=@vger.kernel.org X-Gm-Message-State: AOJu0Yyy1vHLL68AimRTbYLDdlV4cfrXbBXKhMhCRtMUU0T8QQVu6y5V fl1Vn14iz2x7cURKwd3dD+/D5Eke9aR2JuYlNvSky3vV8q3XzmShypWpG6F7bpmgBWo= X-Gm-Gg: AY/fxX4RWwnGxiAg9CyHoiB540CVCIXpxAyvjGAEAFqO3tryosbQofqU+HGzin9EhGS y3mrF5Y6/r3HpHxv3YTjmOC3ocwg8QZWb/baxUNntsAYrGYZBKjtIDXuBOukBjUTwsCQUbPJr7I RuvlmsogtXL/tdZC3UfNRC6VgvrXfnU2Ayqcjh9AK7Cj3LouLI/6PJvfeasJ1Z3AiZnJlpiwbrj phJWBmpg0vD4WoL3f5ULixuPir8w9JOwea3a23+zgKpHl89YczcEhtjv0xgoglCMiIBB6VMVhj8 7WV4gvG8elvcxIU0geDAfL7N9ZFH78deqfExNRODg41CNxc1SBxdkMAYr6NgbDaA5E5LAbN0ysA 3DYc9D872YdzDy6P+RrCkFfvxlWag+X2uf1mptJ29kiQZrszKTbFGSTzSBECqf6CaM2+CX3LhPt 5IP9Q12xrC1MlwmbHXYw== X-Google-Smtp-Source: AGHT+IFlGLXBLJjwIMP1Y+bwdPXzgZ9u/rkR2C7JIn4koWtHtP9uBeT/1shQNVRN1Wd+lohf55QRLA== X-Received: by 2002:a17:907:3d0b:b0:b83:a88c:b4e7 with SMTP id a640c23a62f3a-b8445461628mr714987366b.65.1767952165413; Fri, 09 Jan 2026 01:49:25 -0800 (PST) Received: from [192.168.50.4] ([82.78.167.17]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-6507bf667fcsm9624950a12.29.2026.01.09.01.49.23 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 09 Jan 2026 01:49:24 -0800 (PST) Message-ID: <02e48c5d-439f-4292-9df9-c0bba6f44f16@tuxon.dev> Date: Fri, 9 Jan 2026 11:49:23 +0200 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [BUG] drm/panel: ilitek-ili9881c: kernel panic on reboot To: Hugo Villeneuve Cc: dri-devel@lists.freedesktop.org, linux-renesas-soc@vger.kernel.org, linux-clk@vger.kernel.org, linux-kernel@vger.kernel.org, Claudiu Beznea , Neil Armstrong , Jessica Zhang , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Biju Das Biju Das , Chris Brandt References: <20260107164839.a490a194d975edc399d72d01@hugovil.com> <20260108105319.6bef21d3fc60b261792d07c6@hugovil.com> Content-Language: en-US From: Claudiu Beznea In-Reply-To: <20260108105319.6bef21d3fc60b261792d07c6@hugovil.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Hi, Hugo, On 1/8/26 17:53, Hugo Villeneuve wrote: > Hi Claudiu, > > On Thu, 8 Jan 2026 11:12:54 +0200 > Claudiu Beznea wrote: > >> Hi, Hugo, >> >> On 1/7/26 23:48, Hugo Villeneuve wrote: >>> Hi, >>> when issuing a reboot command, I encounter the following kernel panic: >>> >>> [ 36.183478] SError Interrupt on CPU1, code 0x00000000be000011 -- SError >>> [ 36.183492] CPU: 1 UID: 0 PID: 1 Comm: systemd-shutdow Tainted: G M 6.19.0-rc4-arm64-renesas-00019-g067a81578add #62 NONE >>> [ 36.183504] Tainted: [M]=MACHINE_CHECK >>> [ 36.183507] Hardware name: Gecko ECO2 nxtpad (DT) >>> [ 36.183512] pstate: 80400005 (Nzcv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--) >>> [ 36.183519] pc : rzg2l_mipi_dsi_host_transfer+0x114/0x458 >>> [ 36.183538] lr : rzg2l_mipi_dsi_host_transfer+0x98/0x458 >>> [ 36.183547] sp : ffff8000813db860 >>> [ 36.183550] x29: ffff8000813db890 x28: ffff800080c602c0 x27: ffff000009dd7450 >>> [ 36.183563] x26: ffff800080c5fcc0 x25: ffff000009dd7450 x24: ffff800080e1f7a8 >>> [ 36.183573] x23: ffff000009dd7400 x22: 0000000000000000 x21: ffff000009dd7430 >>> [ 36.183582] x20: ffff8000813db8e8 x19: 0000000002050028 x18: 00000000ffffffff >>> [ 36.183592] x17: 0000000000000000 x16: 0000000000000000 x15: ffff8000813db220 >>> [ 36.183602] x14: 0000000000000000 x13: ffff800081255bc0 x12: 00000000000009a2 >>> [ 36.183611] x11: 0000000000000336 x10: ffff8000812b28d0 x9 : ffff800081255bc0 >>> [ 36.183621] x8 : ffff800081399000 x7 : ffff00000a042600 x6 : 0000000000000000 >>> [ 36.183631] x5 : 0000000000000805 x4 : 0000000002000000 x3 : 0000000000000028 >>> [ 36.183640] x2 : 0000000049627000 x1 : ffff800080c60b40 x0 : ffff800081780000 >>> [ 36.183652] Kernel panic - not syncing: Asynchronous SError Interrupt >>> [ 36.183657] CPU: 1 UID: 0 PID: 1 Comm: systemd-shutdow Tainted: G M 6.19.0-rc4-arm64-renesas-00019-g067a81578add #62 NONE >>> [ 36.183665] Tainted: [M]=MACHINE_CHECK >>> [ 36.183668] Hardware name: devboard1 (DT) >>> [ 36.183672] Call trace: >>> [ 36.183675] show_stack+0x18/0x24 (C) >>> [ 36.183692] dump_stack_lvl+0x34/0x8c >>> [ 36.183702] dump_stack+0x18/0x24 >>> [ 36.183708] vpanic+0x314/0x35c >>> [ 36.183716] nmi_panic+0x0/0x64 >>> [ 36.183722] add_taint+0x0/0xbc >>> [ 36.183728] arm64_serror_panic+0x70/0x80 >>> [ 36.183735] do_serror+0x28/0x68 >>> [ 36.183742] el1h_64_error_handler+0x34/0x50 >>> [ 36.183751] el1h_64_error+0x6c/0x70 >>> [ 36.183758] rzg2l_mipi_dsi_host_transfer+0x114/0x458 (P) >>> [ 36.183770] mipi_dsi_device_transfer+0x44/0x58 >>> [ 36.183781] mipi_dsi_dcs_set_display_off_multi+0x9c/0xc4 >>> [ 36.183792] ili9881c_unprepare+0x38/0x88 >>> [ 36.183802] drm_panel_unprepare+0xbc/0x108 >>> [ 36.183814] panel_bridge_atomic_post_disable+0x50/0x60 >>> [ 36.183823] drm_atomic_bridge_call_post_disable+0x24/0x4c >>> [ 36.183835] drm_atomic_bridge_chain_post_disable+0xa8/0x100 >>> [ 36.183845] drm_atomic_helper_commit_modeset_disables+0x2fc/0x5f8 >>> [ 36.183856] drm_atomic_helper_commit_tail_rpm+0x24/0x7c >>> [ 36.183865] commit_tail+0xa4/0x18c >>> [ 36.183874] drm_atomic_helper_commit+0x17c/0x194 >>> [ 36.183884] drm_atomic_commit+0x8c/0xcc >>> [ 36.183892] drm_atomic_helper_disable_all+0x200/0x210 >>> [ 36.183901] drm_atomic_helper_shutdown+0xa8/0x150 >>> [ 36.183911] rzg2l_du_shutdown+0x18/0x24 >>> [ 36.183920] platform_shutdown+0x24/0x34 >>> [ 36.183931] device_shutdown+0x128/0x284 >>> [ 36.183938] kernel_restart+0x44/0xa4 >>> [ 36.183950] __do_sys_reboot+0x178/0x270 >>> [ 36.183959] __arm64_sys_reboot+0x24/0x30 >>> [ 36.183968] invoke_syscall.constprop.0+0x50/0xe4 >>> [ 36.183979] do_el0_svc+0x40/0xc0 >>> [ 36.183988] el0_svc+0x3c/0x164 >>> [ 36.183995] el0t_64_sync_handler+0xa0/0xe4 >>> [ 36.184002] el0t_64_sync+0x198/0x19c >>> [ 36.184020] Kernel Offset: disabled >>> [ 36.184022] CPU features: 0x200000,00020001,4000c501,0400720b >>> [ 36.184028] Memory Limit: none >>> [ 36.495305] ---[ end Kernel panic - not syncing: Asynchronous SError Interrupt ]--- >>> >>> The problem is present since linux-6.18-rc1, but not in linux-6.17. I also confirm the bug is present in linux-6.19-rc4. >>> >>> The bug seems to be happening in rzg2l_mipi_dsi_host_transfer(). >>> >>> After bisecting, here is the first bad commit: >>> >>> commit 56de5e305d4b ("clk: renesas: r9a07g044: Add MSTOP for RZ/G2L") >>> >>> Reverting this change makes the bug disappear. >>> >>> My limited understanding seems to indicate that the MIPI/DSI host may >>> no longer be available/on when the panel tries to send MIPI/DSI >>> commands in ili9881c_unprepare(), maybe because the MIPI/DSI clock has been stopped... >>> >>> The exact same board with two other panels (jd9365da and st7703) doesn't have the bug. >> >> Could you please provide the output of command: >> >> cat /sys/kernel/debug/mstop >> >> for both cases? > > Here it is for the panel which has the bug: > > ---------------------------------- > MSTOP > clk ------------------------- > clk_name cnt cnt off val shared > -------- ----- ----- ----- ------ ------ > gic 1 1 0xb80 0x0 > ia55_clk 2 2 0xb70 0x0 ia55_pclk ia55_clk > ia55_pclk 1 2 0xb70 0x0 ia55_pclk ia55_clk > dmac_aclk 2 1 0xb80 0x0 > dmac_pclk 1 1 0xb80 0x0 > ostm0_pclk 0 0 0xb7c 0x10 > ostm1_pclk 1 1 0xb7c 0x0 > ostm2_pclk 1 1 0xb7c 0x0 > mtu_x_mck 0 0 0xb64 0x4 > gpt_pclk 1 1 0xb64 0x0 > poeg_a_clkp 0 0 0xb64 0x20 > poeg_b_clkp 0 0 0xb64 0x40 > poeg_c_clkp 0 0 0xb64 0x80 > poeg_d_clkp 0 0 0xb64 0x100 > wdt0_pclk 1 2 0xb7c 0x0 wdt0_pclk wdt0_clk > wdt0_clk 1 2 0xb7c 0x0 wdt0_pclk wdt0_clk > wdt1_pclk 0 0 0xb7c 0x8 wdt1_pclk wdt1_clk > wdt1_clk 0 0 0xb7c 0x8 wdt1_pclk wdt1_clk > spi_clk2 0 0 0xb64 0x2 spi_clk2 spi_clk > spi_clk 0 0 0xb64 0x2 spi_clk2 spi_clk > sdhi0_imclk 1 4 0xb6c 0x0 sdhi0_imclk sdhi0_imclk2 sdhi0_clk_hs sdhi0_aclk > sdhi0_imclk2 2 4 0xb6c 0x0 sdhi0_imclk sdhi0_imclk2 sdhi0_clk_hs sdhi0_aclk > sdhi0_clk_hs 1 4 0xb6c 0x0 sdhi0_imclk sdhi0_imclk2 sdhi0_clk_hs sdhi0_aclk > sdhi0_aclk 1 4 0xb6c 0x0 sdhi0_imclk sdhi0_imclk2 sdhi0_clk_hs sdhi0_aclk > sdhi1_imclk 0 0 0xb6c 0x2 sdhi1_imclk sdhi1_imclk2 sdhi1_clk_hs sdhi1_aclk > sdhi1_imclk2 0 0 0xb6c 0x2 sdhi1_imclk sdhi1_imclk2 sdhi1_clk_hs sdhi1_aclk > sdhi1_clk_hs 0 0 0xb6c 0x2 sdhi1_imclk sdhi1_imclk2 sdhi1_clk_hs sdhi1_aclk > sdhi1_aclk 0 0 0xb6c 0x2 sdhi1_imclk sdhi1_imclk2 sdhi1_clk_hs sdhi1_aclk > gpu_clk 1 1 0xb80 0x0 > cru_sysclk 0 0 0xb78 0x8 cru_sysclk cru_vclk cru_pclk cru_aclk > cru_vclk 0 0 0xb78 0x8 cru_sysclk cru_vclk cru_pclk cru_aclk > cru_pclk 0 0 0xb78 0x8 cru_sysclk cru_vclk cru_pclk cru_aclk > cru_aclk 0 0 0xb78 0x8 cru_sysclk cru_vclk cru_pclk cru_aclk > dsi_pll_clk 1 6 0xb78 0x0 dsi_pll_clk dsi_sys_clk dsi_aclk dsi_pclk dsi_vclk dsi_lpclk > dsi_sys_clk 1 6 0xb78 0x0 dsi_pll_clk dsi_sys_clk dsi_aclk dsi_pclk dsi_vclk dsi_lpclk > dsi_aclk 1 6 0xb78 0x0 dsi_pll_clk dsi_sys_clk dsi_aclk dsi_pclk dsi_vclk dsi_lpclk > dsi_pclk 1 6 0xb78 0x0 dsi_pll_clk dsi_sys_clk dsi_aclk dsi_pclk dsi_vclk dsi_lpclk > dsi_vclk 1 6 0xb78 0x0 dsi_pll_clk dsi_sys_clk dsi_aclk dsi_pclk dsi_vclk dsi_lpclk > dsi_lpclk 1 6 0xb78 0x0 dsi_pll_clk dsi_sys_clk dsi_aclk dsi_pclk dsi_vclk dsi_lpclk I was expected the MSTOP for these to be set to anythong other than 0x0 here. But I presume, they are somehow set in the reboot process before exectution reach rzg2l_mipi_dsi_host_transfer(). To be honest, I don't know the rz-du code. [...] > > I do not have acces to the other panels for the moment to run the same command. > > >> Also, could you please check if the following diff solves your problem: >> >> diff --git a/drivers/gpu/drm/renesas/rz-du/rzg2l_mipi_dsi.c >> b/drivers/gpu/drm/renesas/rz-du/rzg2l_mipi_dsi.c >> index 5edd45424562..62957632a96f 100644 >> --- a/drivers/gpu/drm/renesas/rz-du/rzg2l_mipi_dsi.c >> +++ b/drivers/gpu/drm/renesas/rz-du/rzg2l_mipi_dsi.c >> @@ -1282,6 +1282,10 @@ static ssize_t >> rzg2l_mipi_dsi_host_transfer(struct mipi_dsi_host *host, >> value |= SQCH0DSC0AR_FMT_SHORT; >> } >> >> + ret = pm_runtime_resume_and_get(dsi->dev); >> + if (ret) >> + return ret; >> + >> rzg2l_mipi_dsi_link_write(dsi, SQCH0DSC0AR, value); >> >> /* >> @@ -1322,6 +1326,8 @@ static ssize_t rzg2l_mipi_dsi_host_transfer(struct >> mipi_dsi_host *host, >> ret = packet.payload_length; >> } >> >> + pm_runtime_put(dsi->dev); >> + >> return ret; >> } > > I confirm that it fixes the bug, altought I assume this is just for testing and is not the "proper" fix. To me, this, or something similar should be done anyway. Previously it used to work because there was no MSTOP support available. The MSTOP is now set when all of the clocks sharing it are disabled. With the MSTOP set, any master accessing a HW block that has MSTOP set will get sync abort. That wasn't the case previously, when the HW registers could have been accessed w/o generating such exeception. Thank you, Claudiu