[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