[PATCH 0/5][SRU][U/OEM-5.10] Fix drm_WARN_ON(common_len <= 0)

Timo Aaltonen tjaalton at ubuntu.com
Tue Jan 5 12:53:55 UTC 2021


On 21.12.2020 12.14, Koba Ko wrote:
> https://bugs.launchpad.net/bugs/1908885
> 
> [Impact]
> 
> The TGL machine could show drm_WARN_ON(common_len <= 0) when connect with the TBT dock(WD19TB).
> ------------[ cut here ]------------
> i915 0000:00:02.0: drm_WARN_ON(common_len <= 0)
> WARNING: CPU: 4 PID: 194 at drivers/gpu/drm/i915/display/intel_dp.c:2385 intel_dp_compute_link_config+0x820/0x900 [i915]
> Modules linked in: i915(+) i2c_algo_bit drm_kms_helper crc32_pclmul syscopyarea sysfillrect sysimgblt fb_sys_fops cec rc_core nvme e1000e(+) c_i801 ahci i2c_smbus
> thunderbolt(+) xhci_pci xhci_pci_renesas wmi video backlight pinctrl_tigerlake pinctrl_intel
> CPU: 4 PID: 194 Comm: systemd-udevd Not tainted 5.10.0-051000rc7-generic #202012062330
> Hardware name: Dell Inc. OptiPlex 7090 UFF - China HDD Protection/, BIOS 0.6.4 11/07/2020
> RIP: 0010:intel_dp_compute_link_config+0x820/0x900 [i915]
> Code: 4c 8b 77 50 4d 85 f6 75 03 4c 8b 37 e8 b9 b9 60 dc 48 c7 c1 b5 6d 83 c0 4c 89 f2 48 c7 c7 d0 69 83 c0 48 89 c6 e8 a5 84 f2 db <0f> 0b ff e9 60 f8 ff ff 48 8b
> c2 60 04 82
> RSP: 0018:ffffba120061f6b0 EFLAGS: 00010282
> RAX: 0000000000000000 RBX: ffff956df17c2000 RCX: 0000000000000000
> RDX: 000000000000002f RSI: ffffffff9e1b1dcf RDI: 0000000000000246
> RBP: ffffba120061f720 R08: ffffffff9e1b1da0 R09: 000000000000002f
> R10: ffffffff9e1b2180 R11: 000000009e1b1db2 R12: ffff956df1e40000
> R13: ffff956df17c6000 R14: ffff956e029a99e0 R15: ffff956df17c6000
> FS: 00007fbd08cdd880(0000) GS:ffff956e0e500000(0000) knlGS:0000000000000000
> CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> CR2: 00005635d4c41678 CR3: 0000000271c64006 CR4: 0000000000770ee0
> PKRU: 55555554
> Call Trace:
> ? dev_printk+0x5d/0x74
> intel_dp_compute_config+0x11b/0x570 [i915]
> intel_ddi_compute_config+0x9f/0xe0 [i915]
> intel_modeset_pipe_config+0x212/0x9c0 [i915]
> intel_atomic_check+0x263/0x12c0 [i915]
> ? __drm_dbg+0x87/0x90 [drm]
> drm_atomic_check_only+0x2c7/0x450 [drm]
> drm_atomic_commit+0x18/0x50 [drm]
> intel_modeset_init_nogem+0x486/0xb10 [i915]
> i915_driver_probe+0x3e8/0x6e0 [i915]
> ? mutex_lock+0x13/0x40
> i915_pci_probe+0x5a/0x140 [i915]
> local_pci_probe+0x48/0x80
> pci_device_probe+0x10f/0x1c0
> really_probe+0x1db/0x440
> driver_probe_device+0xe9/0x160
> device_driver_attach+0x5d/0x70
> __driver_attach+0x8f/0x150
> ? device_driver_attach+0x70/0x70
> bus_for_each_dev+0x7e/0xc0
> driver_attach+0x1e/0x20
> bus_add_driver+0x152/0x1f0
> driver_register+0x74/0xd0
> __pci_register_driver+0x54/0x60
> i915_init+0x61/0x75 [i915]
> ? 0xffffffffc08a1000
> do_one_initcall+0x4a/0x1fa
> ? _cond_resched+0x19/0x30
> ? kmem_cache_alloc_trace+0x17e/0x2f0
> do_init_module+0x62/0x240
> load_module+0xfbe/0x11e0
> __do_sys_finit_module+0xbe/0x120
> ? __do_sys_finit_module+0xbe/0x120
> __x64_sys_finit_module+0x1a/0x20
> do_syscall_64+0x38/0x90
> entry_SYSCALL_64_after_hwframe+0x44/0xa9
> RIP: 0033:0x7fbd0925f89d
> Code: 00 c3 66 2e 0f 1f 84 00 00 00 00 00 90 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 73 01 c3 48 8b 0d c3 f5 0c 00 f7 d8 64 89 01 48
> RSP: 002b:00007fffa60dc628 EFLAGS: 00000246 ORIG_RAX: 0000000000000139
> RAX: ffffffffffffffda RBX: 00005635d4c942b0 RCX: 00007fbd0925f89d
> RDX: 0000000000000000 RSI: 00007fbd0913cded RDI: 0000000000000014
> RBP: 0000000000020000 R08: 0000000000000000 R09: 0000000000000000
> R10: 0000000000000014 R11: 0000000000000246 R12: 00007fbd0913cded
> R13: 0000000000000000 R14: 00005635d4c92b70 R15: 00005635d4c942b0
> ---[ end trace c48f367c543f3384 ]
> 
> [Fix]
> 
> Kernel driver patchset https://patchwork.freedesktop.org/series/82173/ targeting v5.11.
> 
> [Test Case]
> 
> 1. Boot with kernel built with these patches applied.
> 2. check the dmesg.
> 
> [Where problems could occur]
> 
> The fix could resolve the drm_WARN_ON.
> It ease the symptom that can't output the video with the TBT dock(WD19TB) at the first boot, but it may not fix.
> 
> Imre Deak (5):
>    drm/i915/skl: Work around incorrect BIOS WRPLL PDIV programming
>    drm/i915: Move the initial fastset commit check to encoder hooks
>    drm/i915: Check for unsupported DP link rates during initial commit
>    drm/i915: Add an encoder hook to sanitize its state during init/resume
>    drm/i915/tgl: Fix Combo PHY DPLL fractional divider for 38.4MHz ref
>      clock
> 
>   drivers/gpu/drm/i915/display/icl_dsi.c        | 14 +++++
>   drivers/gpu/drm/i915/display/intel_ddi.c      | 18 ++++++
>   drivers/gpu/drm/i915/display/intel_display.c  | 29 ++++-----
>   .../drm/i915/display/intel_display_types.h    | 15 +++++
>   drivers/gpu/drm/i915/display/intel_dp.c       | 62 +++++++++++++++++++
>   drivers/gpu/drm/i915/display/intel_dp.h       |  5 ++
>   drivers/gpu/drm/i915/display/intel_dp_mst.c   | 10 +++
>   drivers/gpu/drm/i915/display/intel_dpll_mgr.c | 54 +++++++++++-----
>   drivers/gpu/drm/i915/i915_reg.h               |  1 +
>   9 files changed, 176 insertions(+), 32 deletions(-)
> 

"BugLink" is missing from the commits, so status tracking doesn't work.


-- 
t



More information about the kernel-team mailing list