Bug 110949

Summary: Continuious warnings from agd5f 5.3-wip branch
Product: DRI Reporter: Mike Lothian <mike>
Component: DRM/AMDgpuAssignee: Default DRI bug account <dri-devel>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: medium CC: mike, nicholas.kazlauskas
Version: XOrg git   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:
Attachments:
Description Flags
Compressed log none

Description Mike Lothian 2019-06-19 13:22:53 UTC
Created attachment 144594 [details]
Compressed log

Jun 19 14:20:01 quark kernel: [drm] pstate TEST_DEBUG_DATA: 0x36F6F00F
Jun 19 14:20:01 quark kernel: WARNING: CPU: 6 PID: 229 at drivers/gpu/drm/amd/amdgpu/../display/dc/dcn10/dcn10_hw_sequencer.c:872 dcn10_verify_allow_pstate_change_high+0x20/0x240
Jun 19 14:20:01 quark kernel: Modules linked in:
Jun 19 14:20:01 quark kernel: CPU: 6 PID: 229 Comm: kworker/u32:8 Tainted: G        W         5.2.0-rc2-agd5f+ #380
Jun 19 14:20:01 quark kernel: Hardware name: System manufacturer System Product Name/ROG STRIX X470-I GAMING, BIOS 2202 04/11/2019
Jun 19 14:20:01 quark kernel: Workqueue: events_unbound commit_work
Jun 19 14:20:01 quark kernel: RIP: 0010:dcn10_verify_allow_pstate_change_high+0x20/0x240
Jun 19 14:20:01 quark kernel: Code: 66 2e 0f 1f 84 00 00 00 00 00 55 53 48 89 fb 48 8b 87 80 02 00 00 48 8b b8 b0 01 00 00 e8 28 02 01 00 84 c0 0f 85 1b 02 00 00 <0f> 0b 80 bb 97 01 00 00 00 0f 84 0c 02 00 00 48 8b 83 80 02 00 00
Jun 19 14:20:01 quark kernel: RSP: 0018:ffffc9000049fb00 EFLAGS: 00010246
Jun 19 14:20:01 quark kernel: RAX: 0000000000000000 RBX: ffff8887fbc38000 RCX: 0000000000000000
Jun 19 14:20:01 quark kernel: RDX: 0000000000000000 RSI: ffff888800b96148 RDI: 00000000ffffffff
Jun 19 14:20:01 quark kernel: RBP: ffffc9000049fb78 R08: 0000000000000400 R09: 00000000000140f9
Jun 19 14:20:01 quark kernel: R10: 0000000000000007 R11: 0000000000000000 R12: ffff8887fbc38000
Jun 19 14:20:01 quark kernel: R13: ffff8887fb404800 R14: 0000000000000001 R15: 0000000000000004
Jun 19 14:20:01 quark kernel: FS:  0000000000000000(0000) GS:ffff888800b80000(0000) knlGS:0000000000000000
Jun 19 14:20:01 quark kernel: CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
Jun 19 14:20:01 quark kernel: CR2: 00007fcaaf660368 CR3: 00000007efd26000 CR4: 00000000003406a0
Jun 19 14:20:01 quark kernel: Call Trace:
Jun 19 14:20:01 quark kernel:  ? dc_commit_updates_for_stream+0xa7e/0xec0
Jun 19 14:20:01 quark kernel:  ? amdgpu_dm_commit_planes.constprop.0+0x70c/0x910
Jun 19 14:20:01 quark kernel:  ? amdgpu_dm_atomic_commit_tail+0x359/0xde0
Jun 19 14:20:01 quark kernel:  ? load_balance+0x177/0x9e0
Jun 19 14:20:01 quark kernel:  ? sched_clock_cpu+0x10/0xd0
Jun 19 14:20:01 quark kernel:  ? preempt_count_add+0x74/0xa0
Jun 19 14:20:01 quark kernel:  ? _raw_spin_lock_irq+0xf/0x30
Jun 19 14:20:01 quark kernel:  ? _raw_spin_unlock_irq+0xe/0x20
Jun 19 14:20:01 quark kernel:  ? wait_for_completion_timeout+0xe3/0x110
Jun 19 14:20:01 quark kernel:  ? _raw_spin_unlock_irq+0xe/0x20
Jun 19 14:20:01 quark kernel:  ? finish_task_switch+0x7a/0x240
Jun 19 14:20:01 quark kernel:  ? __update_idle_core+0x1b/0xa0
Jun 19 14:20:01 quark kernel:  ? commit_tail+0x34/0x60
Jun 19 14:20:01 quark kernel:  ? commit_tail+0x34/0x60
Jun 19 14:20:01 quark kernel:  ? process_one_work+0x199/0x310
Jun 19 14:20:01 quark kernel:  ? worker_thread+0x45/0x3c0
Jun 19 14:20:01 quark kernel:  ? kthread+0xf8/0x130
Jun 19 14:20:01 quark kernel:  ? wq_update_unbound_numa+0x10/0x10
Jun 19 14:20:01 quark kernel:  ? kthread_park+0x80/0x80
Jun 19 14:20:01 quark kernel:  ? ret_from_fork+0x1f/0x30
Jun 19 14:20:01 quark kernel: ---[ end trace 25db1648dbe2f9f1 ]---
Comment 1 Mike Lothian 2019-06-19 13:46:19 UTC
37fb6e8a96fbc9c809c58f9490267ffe7101ac33 is the first bad commit
commit 37fb6e8a96fbc9c809c58f9490267ffe7101ac33
Author: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com>
Date:   Fri Jun 7 11:16:55 2019 -0400

    drm/amd/display: Enable fast plane updates when state->allow_modeset = true

    [Why]
    Whenever the a modeset is allowed (but not neccessarily required) we
    currently recreate all the planes in the state. Most IGT tests and
    legacy IOCTLs create atomic commits with this flag set, so the pipes
    are often unnecessarily reprogrammed.

    Poor performance and stuttering can occur when many of these commits
    are frequently issued.

    This flag was needed when the appropriate conditions for checking
    whether the planes needed a reset were not in place, but
    should_reset_plane should cover everything needed now.

    [How]
    Drop the check for state->allow_modeset in should_reset_plane.

    All planes on a CRTC should reset in the following conditions:
    - The CRTC needs a modeset
    - The CRTC degamma changes
    - Planes are added or removed to the CRTC

    These conditions are all covered in should_reset_plane.

    We still can't drop the format change check in should_reset_plane since
    fill_dc_plane_info_and_addr isn't called when validating the state, so
    we can't tell if a FULL update is needed or not.

    Signed-off-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com>
    Reviewed-by: David Francis <david.francis@amd.com>
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>

 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 8 --------
 1 file changed, 8 deletions(-)
Comment 2 Mike Lothian 2019-06-19 13:50:24 UTC
It reverts cleanly and the warnings go away once its gone
Comment 3 Nicholas Kazlauskas 2019-06-20 12:28:38 UTC
Seems like there's still issues with dropping the check depending on the ASIC revision and probably userspace that's being used.

I can revert this for now while investigating the issue.
Comment 4 Mike Lothian 2019-06-20 15:08:42 UTC
If there's anything you'd like me to test for you, please do shout

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.