[PATCH v5 0/7] drm/mgag200: Implement VBLANK support
Thomas Zimmermann
tzimmermann at suse.de
Fri Oct 11 07:03:41 UTC 2024
Hi
Am 10.10.24 um 20:12 schrieb Luck, Tony:
> Apologies. The trace below isn't the first place where things went wrong. I dug up the full serial log
> and found some earlier mgag errors. Actual first one is:
I have to apologize, as the patch I sent was incorrect. The if condition
was inverted. Here's a fixed patch for you to test.
Best regards
Thomas
>
> [ OK ] Reached target Basic System.
> [ 32.366479] fbcon: mgag200drmfb (fb0) is primary device
> [ 32.405678] mpt2sas_cm0: sense pool(0x00000000dfa0f36f) - dma(0xf500000): depth(2939), element_size(96), pool_size (275 kB)
> [ 32.405790] mpt2sas_cm0: reply pool(0x000000004919fe15) - dma(0xf580000): depth(3264), frame_size(128), pool_size(408 kB)
> [ 32.405804] mpt2sas_cm0: config page(0x00000000ac9398d5) - dma(0xf2e4000): size(512)
> [ 32.405806] mpt2sas_cm0: Allocated physical memory: size(7012 kB)
> [ 32.405808] mpt2sas_cm0: Current Controller Queue Depth(2936),Max Controller Queue Depth(3072)
> [ 32.405810] mpt2sas_cm0: Scatter Gather Elements per IO(128)
> [ 32.436831] ixgbe 0000:03:00.0: 16.000 Gb/s available PCIe bandwidth, limited by 5.0 GT/s PCIe x4 link at 0000:00:03.2 (capable of 32.000 Gb/s with 5.0 GT/s PCIe x8 link)
> [ 32.454205] mpt2sas_cm0: LSISAS2308: FWVersion(17.00.01.00), ChipRevision(0x05)
> [ 32.454218] mpt2sas_cm0: Intel(R) Controller: Subsystem ID: 0x3050
> [ 32.454222] mpt2sas_cm0: Protocol=(Initiator), Capabilities=(Raid,TLR,EEDP,Snapshot Buffer,Diag Trace Buffer,Task Set Full,NCQ)
> [ 32.454513] scsi host6: Fusion MPT SAS Host
> [ 32.461960] mpt2sas_cm0: sending port enable !!
> [ 32.520483] ------------[ cut here ]------------
> [ 32.520517] [CRTC:34:crtc-0] vblank wait timed out
> [ 32.520582] WARNING: CPU: 114 PID: 1783 at drivers/gpu/drm/drm_atomic_helper.c:1682 drm_atomic_helper_wait_for_vblanks.part.0+0x24f/0x260 [drm_kms_helper]
> [ 32.520603] Modules linked in: crct10dif_pclmul crc32_pclmul mgag200(+) crc32c_intel i2c_algo_bit ghash_clmulni_intel drm_shmem_helper sha512_ssse3 drm_kms_helper sha256_ssse3 mpt3sas sha1_ssse3 ixgbe(+) raid_class mdio drm scsi_transport_sas dca fuse
> [ 32.520631] CPU: 114 UID: 0 PID: 1783 Comm: systemd-udevd Not tainted 6.12.0-rc2+ #171
> [ 32.520634] Hardware name: Intel Corporation BRICKLAND/BRICKLAND, BIOS BRBDXSD1.86B.0338.V01.1603162127 03/16/2016
> [ 32.520637] RIP: 0010:drm_atomic_helper_wait_for_vblanks.part.0+0x24f/0x260 [drm_kms_helper]
> [ 32.520648] Code: 00 48 8d 7b 08 e8 41 b7 38 d1 45 85 ff 0f 85 d3 fe ff ff 49 8b 56 20 41 8b b6 d8 00 00 00 48 c7 c7 b0 40 df c0 e8 21 61 30 d1 <0f> 0b e9 b5 fe ff ff 66 2e 0f 1f 84 00 00 00 00 00 90 90 90 90 90
> [ 32.520651] RSP: 0018:ffffbb9f23fc3680 EFLAGS: 00010282
> [ 32.520655] RAX: 0000000000000026 RBX: ffff9de18562e028 RCX: 0000000000000000
> [ 32.520657] RDX: 0000000000000002 RSI: ffffffff93a00e78 RDI: 00000000ffffffff
> [ 32.520659] RBP: ffff9de18540eb40 R08: 0000000000000001 R09: 0000000000000000
> [ 32.520662] R10: 0000000000000001 R11: 0000000000000001 R12: 0000000000000000
> [ 32.520664] R13: 0000000000000000 R14: ffff9de0ada653f0 R15: 0000000000000000
> [ 32.520667] FS: 00007f64988d9b40(0000) GS:ffff9de187900000(0000) knlGS:0000000000000000
> [ 32.520669] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> [ 32.520671] CR2: 000055daa91a4b40 CR3: 000000000c13c003 CR4: 00000000003706f0
> [ 32.520674] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
> [ 32.520675] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
> [ 32.520677] Call Trace:
> [ 32.520680] <TASK>
> [ 32.520682] ? __warn+0x90/0x1a0
> [ 32.520693] ? drm_atomic_helper_wait_for_vblanks.part.0+0x24f/0x260 [drm_kms_helper]
> [ 32.520703] ? report_bug+0x1c3/0x1d0
> [ 32.520716] ? handle_bug+0x5b/0xa0
> [ 32.520724] ? exc_invalid_op+0x14/0x70
> [ 32.520727] ? asm_exc_invalid_op+0x16/0x20
> [ 32.520741] ? drm_atomic_helper_wait_for_vblanks.part.0+0x24f/0x260 [drm_kms_helper]
> [ 32.520753] ? __pfx_autoremove_wake_function+0x10/0x10
> [ 32.520766] drm_atomic_helper_commit_tail+0x71/0x80 [drm_kms_helper]
> [ 32.520776] mgag200_mode_config_helper_atomic_commit_tail+0x28/0x40 [mgag200]
> [ 32.520784] commit_tail+0x94/0x130 [drm_kms_helper]
> [ 32.520796] drm_atomic_helper_commit+0x13e/0x170 [drm_kms_helper]
> [ 32.520807] drm_atomic_commit+0x97/0xb0 [drm]
> [ 32.520850] ? __pfx___drm_printfn_info+0x10/0x10 [drm]
> [ 32.520881] drm_client_modeset_commit_atomic+0x207/0x250 [drm]
> [ 32.520918] drm_client_modeset_commit_locked+0x5b/0x190 [drm]
> [ 32.520945] drm_client_modeset_commit+0x24/0x50 [drm]
> [ 32.520970] __drm_fb_helper_restore_fbdev_mode_unlocked+0x95/0xd0 [drm_kms_helper]
> [ 32.520982] drm_fb_helper_set_par+0x2e/0x40 [drm_kms_helper]
> [ 32.520992] fbcon_init+0x2a8/0x560
> [ 32.521005] visual_init+0xc4/0x120
> [ 32.521013] do_bind_con_driver.isra.0+0x1a1/0x3d0
> [ 32.521020] do_take_over_console+0x10b/0x1a0
> [ 32.521026] do_fbcon_takeover+0x5c/0xc0
> [ 32.521028] fbcon_fb_registered+0x49/0x70
> [ 32.521032] do_register_framebuffer+0x184/0x230
> [ 32.521041] register_framebuffer+0x20/0x40
> [ 32.521044] __drm_fb_helper_initial_config_and_unlock+0x33e/0x590 [drm_kms_helper]
> [ 32.521054] ? drm_client_register+0x33/0xc0 [drm]
> [ 32.521084] drm_fbdev_shmem_client_hotplug+0x6c/0xc0 [drm_shmem_helper]
> [ 32.521090] drm_client_register+0x7b/0xc0 [drm]
> [ 32.521116] mgag200_pci_probe+0x90/0x180 [mgag200]
> [ 32.521124] local_pci_probe+0x46/0xa0
> [ 32.521131] pci_device_probe+0xb5/0x220
> [ 32.521138] really_probe+0xd9/0x380
> [ 32.521146] __driver_probe_device+0x78/0x150
> [ 32.521151] driver_probe_device+0x1e/0x90
> [ 32.521155] __driver_attach+0xd6/0x1d0
> [ 32.521159] ? __pfx___driver_attach+0x10/0x10
> [ 32.521162] bus_for_each_dev+0x66/0xa0
> [ 32.521167] bus_add_driver+0x111/0x240
> [ 32.521173] driver_register+0x5c/0x120
> [ 32.521176] ? __pfx_mgag200_pci_driver_init+0x10/0x10 [mgag200]
> [ 32.521182] do_one_initcall+0x62/0x3a0
> [ 32.521189] ? __kmalloc_cache_noprof+0x240/0x300
> [ 32.521202] do_init_module+0x64/0x240
> [ 32.521213] init_module_from_file+0x7a/0xa0
> [ 32.521226] idempotent_init_module+0x15f/0x260
> [ 32.521240] __x64_sys_finit_module+0x5a/0xb0
> [ 32.521245] do_syscall_64+0x73/0x190
> [ 32.521260] entry_SYSCALL_64_after_hwframe+0x76/0x7e
> [ 32.521265] RIP: 0033:0x7f649951ee0d
> [ 32.521271] Code: c8 0c 00 0f 05 eb a9 66 0f 1f 44 00 00 f3 0f 1e fa 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 8b 0d 3b 80 0c 00 f7 d8 64 89 01 48
> [ 32.521273] RSP: 002b:00007ffc84905b08 EFLAGS: 00000246 ORIG_RAX: 0000000000000139
> [ 32.521278] RAX: ffffffffffffffda RBX: 000055daa9188020 RCX: 00007f649951ee0d
> [ 32.521280] RDX: 0000000000000000 RSI: 00007f649967832c RDI: 0000000000000010
> [ 32.521282] RBP: 0000000000020000 R08: 0000000000000000 R09: 0000000000000000
> [ 32.521284] R10: 0000000000000010 R11: 0000000000000246 R12: 00007f649967832c
> [ 32.521286] R13: 000055daa9189330 R14: 0000000000000007 R15: 000055daa91adb10
> [ 32.521298] </TASK>
> [ 32.521300] irq event stamp: 52913
> [ 32.521301] hardirqs last enabled at (52919): [<ffffffff92187784>] vprintk_emit+0x3d4/0x3e0
> [ 32.521313] hardirqs last disabled at (52924): [<ffffffff92187737>] vprintk_emit+0x387/0x3e0
> [ 32.521317] softirqs last enabled at (52274): [<ffffffff920dac91>] __irq_exit_rcu+0xa1/0x110
> [ 32.521326] softirqs last disabled at (52267): [<ffffffff920dac91>] __irq_exit_rcu+0xa1/0x110
> [ 32.521329] ---[ end trace 0000000000000000 ]---
>
> -----Original Message-----
> From: Luck, Tony
> Sent: Thursday, October 10, 2024 9:07 AM
> To: Thomas Zimmermann <tzimmermann at suse.de>
> Cc: jfalempe at redhat.com; airlied at redhat.com; sam at ravnborg.org; emil.l.velikov at gmail.com; maarten.lankhorst at linux.intel.com; mripard at kernel.org; airlied at gmail.com; daniel at ffwll.ch; dri-devel at lists.freedesktop.org
> Subject: RE: [PATCH v5 0/7] drm/mgag200: Implement VBLANK support
>
>> Thanks for testing. Here's another patch to try Ville's suggestion. It
>> should disable HW vblank IRQs on your system. Could you please test it
>> and report on the results?
> Thomas,
>
> Thanks for keeping working on this. Output is different, but still dies with vblank problems.
>
> [ OK ] Started GNOME Display Manager.
> [ 329.575813] mgag200 0000:08:00.0: [drm] *ERROR* flip_done timed out
> [ 329.582889] mgag200 0000:08:00.0: [drm] *ERROR* [PLANE:32:plane-0] commit wait timed out
> [ 329.719779] ------------[ cut here ]------------
> [ 329.725174] [CRTC:34:crtc-0] vblank wait timed out
> [ 329.730724] WARNING: CPU: 150 PID: 1402 at drivers/gpu/drm/drm_atomic_helper.c:1682 drm_atomic_helper_wait_for_vblanks.part.0+0x24f/0x260 [drm_kms_helper]
> [ 329.746264] Modules linked in: xt_CHECKSUM xt_MASQUERADE xt_conntrack ipt_REJECT nf_nat_tftp nf_conntrack_tftp bridge stp llc nf_conntrack_netbios_ns nf_conntrack_broadcast nft_fib_inet nft_fib_ipv4 nft_fib_ipv6 nft_fib nft_reject_inet nf_reject_ipv4 nf_reject_ipv6 nft_reject nft_ct nft_chain_nat ip6table_nat ip6table_mangle ip6table_raw ip6table_security iptable_nat nf_nat nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 iptable_mangle iptable_raw iptable_security ip_set rfkill nf_tables nfnetlink ip6table_filter ip6_tables iptable_filter sunrpc vfat fat intel_rapl_msr intel_rapl_common intel_uncore_frequency intel_uncore_frequency_common sb_edac iTCO_wdt intel_pmc_bxt iTCO_vendor_support x86_pkg_temp_thermal intel_powerclamp ipmi_ssif coretemp rapl intel_cstate joydev intel_uncore acpi_ipmi pcspkr mei_me i2c_i801 i2c_smbus ipmi_si lpc_ich mei ioatdma wmi ipmi_devintf ipmi_msghandler acpi_pad zram ip_tables crct10dif_pclmul crc32_pclmul mgag200 crc32c_intel i2c_algo_bit ghash_clmulni_intel drm_shmem_helper sha512_ssse3
> [ 329.746604] drm_kms_helper sha256_ssse3 mpt3sas sha1_ssse3 ixgbe raid_class mdio drm scsi_transport_sas dca fuse
> [ 329.858506] CPU: 150 UID: 0 PID: 1402 Comm: kworker/150:1 Tainted: G W 6.12.0-rc2+ #171
> [ 329.869030] Tainted: [W]=WARN
> [ 329.872357] Hardware name: Intel Corporation BRICKLAND/BRICKLAND, BIOS BRBDXSD1.86B.0338.V01.1603162127 03/16/2016
> [ 329.883941] Workqueue: events drm_fb_helper_damage_work [drm_kms_helper]
> [ 329.891472] RIP: 0010:drm_atomic_helper_wait_for_vblanks.part.0+0x24f/0x260 [drm_kms_helper]
> [ 329.900937] Code: 00 48 8d 7b 08 e8 41 b7 38 d1 45 85 ff 0f 85 d3 fe ff ff 49 8b 56 20 41 8b b6 d8 00 00 00 48 c7 c7 b0 40 df c0 e8 21 61 30 d1 <0f> 0b e9 b5 fe ff ff 66 2e 0f 1f 84 00 00 00 00 00 90 90 90 90 90
> [ 329.921932] RSP: 0018:ffffbb9f23277c00 EFLAGS: 00010286
> [ 329.927797] RAX: 0000000000000026 RBX: ffff9de18562e028 RCX: 0000000000000000
> [ 329.935793] RDX: 0000000000000002 RSI: ffffffff93a00e78 RDI: 00000000ffffffff
> [ 329.943786] RBP: ffff9e13d910dc80 R08: 0000000000000000 R09: ffffbb9f23277ac0
> [ 329.951778] R10: ffffbb9f23277ab8 R11: ffff9e33811fffe8 R12: 0000000000000000
> [ 329.959784] R13: 0000000000000000 R14: ffff9de0ada653f0 R15: 0000000000000000
> [ 329.967777] FS: 0000000000000000(0000) GS:ffff9e2032100000(0000) knlGS:0000000000000000
> [ 329.976838] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> [ 329.983280] CR2: 0000555ce9d0d030 CR3: 0000003eccc3a004 CR4: 00000000003706f0
> [ 329.991273] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
> [ 329.999268] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
> [ 330.007262] Call Trace:
> [ 330.010011] <TASK>
> [ 330.012383] ? __warn+0x90/0x1a0
> [ 330.016022] ? drm_atomic_helper_wait_for_vblanks.part.0+0x24f/0x260 [drm_kms_helper]
> [ 330.024803] ? report_bug+0x1c3/0x1d0
> [ 330.028924] ? __irq_work_queue_local+0x48/0x130
> [ 330.034116] ? handle_bug+0x5b/0xa0
> [ 330.038043] ? exc_invalid_op+0x14/0x70
> [ 330.042353] ? asm_exc_invalid_op+0x16/0x20
> [ 330.047064] ? drm_atomic_helper_wait_for_vblanks.part.0+0x24f/0x260 [drm_kms_helper]
> [ 330.055851] ? __pfx_autoremove_wake_function+0x10/0x10
> [ 330.061723] drm_atomic_helper_commit_tail+0x71/0x80 [drm_kms_helper]
> [ 330.068954] mgag200_mode_config_helper_atomic_commit_tail+0x28/0x40 [mgag200]
> [ 330.077057] commit_tail+0x94/0x130 [drm_kms_helper]
> [ 330.082642] drm_atomic_helper_commit+0x13e/0x170 [drm_kms_helper]
> [ 330.089597] drm_atomic_commit+0x97/0xb0 [drm]
> [ 330.094706] ? __pfx___drm_printfn_info+0x10/0x10 [drm]
> [ 330.100624] drm_atomic_helper_dirtyfb+0x185/0x250 [drm_kms_helper]
> [ 330.107672] drm_fbdev_shmem_helper_fb_dirty+0x4c/0xb0 [drm_shmem_helper]
> [ 330.115282] drm_fb_helper_damage_work+0x83/0x150 [drm_kms_helper]
> [ 330.122221] process_one_work+0x214/0x600
> [ 330.126727] worker_thread+0x17f/0x320
> [ 330.130932] ? __pfx_worker_thread+0x10/0x10
> [ 330.135714] kthread+0xe0/0x110
> [ 330.139245] ? __pfx_kthread+0x10/0x10
> [ 330.143455] ret_from_fork+0x30/0x50
> [ 330.147473] ? __pfx_kthread+0x10/0x10
> [ 330.151683] ret_from_fork_asm+0x1a/0x30
> [ 330.156104] </TASK>
> [ 330.158553] irq event stamp: 68963
> [ 330.162368] hardirqs last enabled at (68975): [<ffffffff92183fae>] __up_console_sem+0x5e/0x70
> [ 330.172011] hardirqs last disabled at (68986): [<ffffffff92183f93>] __up_console_sem+0x43/0x70
> [ 330.181647] softirqs last enabled at (68850): [<ffffffff920dac91>] __irq_exit_rcu+0xa1/0x110
> [ 330.191195] softirqs last disabled at (69007): [<ffffffff920dac91>] __irq_exit_rcu+0xa1/0x110
> [ 330.200734] ---[ end trace 0000000000000000 ]---
> [ 340.327342] mgag200 0000:08:00.0: [drm] *ERROR* flip_done timed out
> [ 340.334379] mgag200 0000:08:00.0: [drm] *ERROR* [CRTC:34:crtc-0] commit wait timed out
> [ 350.566891] mgag200 0000:08:00.0: [drm] *ERROR* flip_done timed out
> [ 350.573925] mgag200 0000:08:00.0: [drm] *ERROR* [PLANE:32:plane-0] commit wait timed out
> [ 350.710886] ------------[ cut here ]------------
--
--
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Frankenstrasse 146, 90461 Nuernberg, Germany
GF: Ivo Totev, Andrew Myers, Andrew McDonald, Boudien Moerman
HRB 36809 (AG Nuernberg)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-mgag200-disable-vblank-on-buggy-hardware.patch
Type: text/x-patch
Size: 929 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/dri-devel/attachments/20241011/39246f3c/attachment-0001.bin>
More information about the dri-devel
mailing list