Re: drm warning with mainline due to 467e30171b5b ("drm/vc4: hdmi: Move HDMI reset to pm_resume")

From: Maxime Ripard
Date: Wed Aug 17 2022 - 03:11:07 EST


Hi,

On Tue, Aug 16, 2022 at 05:34:51PM +0100, Sudip Mukherjee (Codethink) wrote:
> Not sure if it has been reported but the mainline kernel shows a drm warning
> on RPI4B.
>
> [ 14.821276] WARNING: CPU: 3 PID: 187 at drivers/gpu/drm/vc4/vc4_hdmi_regs.h:487 vc5_hdmi_reset+0x1f8/0x240 [vc4]
> [ 14.837288] Modules linked in: hci_uart btqca btrtl btbcm btintel btsdio(+) bluetooth bcm2835_v4l2(C) bcm2835_mmal_vchiq(C) videobuf2_vmalloc videobuf2_memops videobuf2_v4l2 videobuf2_common brcmfmac videodev brcmutil vc4(+) ecdh_generic ecc drm_display_helper mc raspberrypi_hwmon cec crct10dif_ce drm_cma_helper cfg80211 dwc2 udc_core i2c_brcmstb roles snd_bcm2835(C) drm_kms_helper pwm_bcm2835 drm xhci_pci xhci_pci_renesas snd_soc_core phy_generic ac97_bus snd_pcm_dmaengine snd_pcm snd_timer snd fb_sys_fops syscopyarea sysfillrect sysimgblt uio_pdrv_genirq uio aes_neon_bs aes_neon_blk
> [ 14.889917] CPU: 3 PID: 187 Comm: systemd-udevd Tainted: G C 6.0.0-rc1-568035b01cfb #1
> [ 14.899355] Hardware name: Raspberry Pi 4 Model B (DT)
> [ 14.904561] pstate: 604000c5 (nZCv daIF +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
> [ 14.911620] pc : vc5_hdmi_reset+0x1f8/0x240 [vc4]
> [ 14.916433] lr : vc5_hdmi_reset+0x38/0x240 [vc4]
> [ 14.921151] sp : ffff80000a85b640
> [ 14.923079] uart-pl011 fe201000.serial: no DMA platform data
> [ 14.924504] x29: ffff80000a85b640 x28: 0000000000000000 x27: ffff000056626080
> [ 14.937472] x26: ffff80000128e2d8 x25: ffff80000128e988 x24: 0000000000000000
> [ 14.944708] x23: ffff000040a58000 x22: ffff0000fb832978 x21: ffff000056626c90
> [ 14.951944] x20: 0000000000000000 x19: ffff000056626080 x18: 0000000000000014
> [ 14.959180] x17: 00000000e6b317d8 x16: 00000000c03e2fab x15: 00000000002ffc4a
> [ 14.966416] x14: 0000000000000000 x13: 0000000000000010 x12: 0101010101010101
> [ 14.973650] x11: ff7f7f7f7f7f7f7f x10: ffff840003584d5b x9 : ffff800001276518
> [ 14.980886] x8 : 0101010101010101 x7 : 0000000000000000 x6 : ffff000040e5d140
> [ 14.988120] x5 : 0000000000000000 x4 : ffff80000a85b580 x3 : 0000000000000000
> [ 14.995355] x2 : 0000000000000001 x1 : 0000000000000002 x0 : ffff8000012901c0
> [ 15.002591] Call trace:
> [ 15.005063] vc5_hdmi_reset+0x1f8/0x240 [vc4]
> [ 15.009514] vc4_hdmi_runtime_resume+0x74/0x2dc [vc4]
> [ 15.014671] vc4_hdmi_bind+0x22c/0xa40 [vc4]
> [ 15.019038] component_bind_all+0x114/0x264
> [ 15.023293] vc4_drm_bind+0x160/0x2a4 [vc4]
> [ 15.027565] try_to_bring_up_aggregate_device+0x1e4/0x2d0
> [ 15.033044] component_master_add_with_match+0xcc/0x110
> [ 15.038340] vc4_platform_drm_probe+0xc4/0xfc [vc4]
> [ 15.043327] platform_probe+0x74/0xd0
> [ 15.047037] really_probe+0xc8/0x3ec
> [ 15.050662] __driver_probe_device+0x84/0x190
> [ 15.055079] driver_probe_device+0x44/0x100
> [ 15.059318] __driver_attach+0xd8/0x1d0
> [ 15.063206] bus_for_each_dev+0x7c/0xe0
> [ 15.067090] driver_attach+0x30/0x3c
> [ 15.070711] bus_add_driver+0x188/0x244
> [ 15.074595] driver_register+0x84/0x140
> [ 15.078482] __platform_driver_register+0x34/0x40
> [ 15.083247] vc4_drm_register+0x5c/0x1000 [vc4]
> [ 15.087881] do_one_initcall+0x50/0x2bc
> [ 15.091770] do_init_module+0x50/0x1f0
> [ 15.095569] load_module+0x1a28/0x1fa0
> [ 15.099366] __do_sys_finit_module+0xac/0x12c
> [ 15.103779] __arm64_sys_finit_module+0x2c/0x40
> [ 15.108368] invoke_syscall+0x50/0x120
> [ 15.112166] el0_svc_common.constprop.0+0x6c/0x1b4
> [ 15.117021] do_el0_svc+0x38/0xcc
> [ 15.120378] el0_svc+0x30/0xd0
> [ 15.123472] el0t_64_sync_handler+0x11c/0x150
> [ 15.127886] el0t_64_sync+0x1a0/0x1a4
> [ 15.131595] ---[ end trace 0000000000000000 ]---
>
> git bisect pointed to 467e30171b5b ("drm/vc4: hdmi: Move HDMI reset to pm_resume")
> and reverting this commit has fixed the warning.
>
> I will be happy to test any patch or provide any extra log if needed.

We have fixes for this in drm-misc-next that have missed the cut for the
merge window:

https://lore.kernel.org/all/20220629123510.1915022-38-maxime@xxxxxxxxxx/
https://lore.kernel.org/all/20220629123510.1915022-39-maxime@xxxxxxxxxx/

If it fixes it for you, I'll apply it to drm-misc-fixes

Maxime

Attachment: signature.asc
Description: PGP signature