Bug 93862

Summary: [Bisected] "drm/amdgpu: fix amdgpu_bo_pin_restricted VRAM placing v2" is bad
Product: DRI Reporter: Ernst Sjöstrand <ernstp>
Component: DRM/AMDgpuAssignee: Default DRI bug account <dri-devel>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: medium    
Version: DRI git   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:
Attachments:
Description Flags
Xorg.0.log
none
glxinfo
none
dmesg none

Description Ernst Sjöstrand 2016-01-25 20:41:38 UTC
Updating to the latest drm-next-4.6-wip I could no longer log in to Gnome through GDM, I just got a black screen after entering my passwd. startx + gnome-session worked though.

However if I ran Unigine Heaven with Tessellation there, I saw I got the frames in the wrong order sometimes. This doesn't happen otherwise.

Bisecting was easy and pointed to:
78d0e182b6c1f5336f6e8cbb197f403276dabc7f
drm/amdgpu: fix amdgpu_bo_pin_restricted VRAM placing v2

Reverting that commit on top of drm-next-4.6-wip also solved the problem.
Comment 1 Michel Dänzer 2016-01-26 01:37:05 UTC
(In reply to Ernst Sjöstrand from comment #0)
> Updating to the latest drm-next-4.6-wip I could no longer log in to Gnome
> through GDM, I just got a black screen after entering my passwd. startx +
> gnome-session worked though.

Please attach the Xorg log and output of dmesg captured after getting the black screen.

Please also attach the output of glxinfo.
Comment 2 Ernst Sjöstrand 2016-01-26 03:51:13 UTC
Created attachment 121290 [details]
Xorg.0.log

Full of
[    40.002] (WW) AMDGPU(0): flip queue failed: Invalid argument
[    40.002] (WW) AMDGPU(0): Page flip failed: Invalid argument
[    40.002] (EE) AMDGPU(0): present flip failed
Comment 3 Ernst Sjöstrand 2016-01-26 04:00:18 UTC
Created attachment 121291 [details]
glxinfo

Glxinfo is identical before and after the revert.
Comment 4 Ernst Sjöstrand 2016-01-26 04:02:07 UTC
Created attachment 121292 [details]
dmesg

Full of:
[  240.780604] amdgpu 0000:01:00.0: ffff8800a8c31c00 pin failed
[  240.780630] [drm:amdgpu_crtc_page_flip [amdgpu]] *ERROR* failed to pin new rbo buffer before flip
[  240.859165] amdgpu 0000:01:00.0: ffff8800a8c31c00 pin failed
[  240.859186] [drm:amdgpu_crtc_page_flip [amdgpu]] *ERROR* failed to pin new rbo buffer before flip
Comment 5 Michel Dänzer 2016-01-26 07:43:12 UTC
The kernel change is correct, it merely exposed bugs in Mesa (https://patchwork.freedesktop.org/patch/71628/) and xf86-video-amdgpu (http://lists.x.org/archives/xorg-driver-ati/2016-January/028475.html).
Comment 6 Michel Dänzer 2016-01-28 01:35:49 UTC
Note that if you apply the Mesa fix, you also need to apply the xf86-video-amdgpu fix, or Xorg will fail to start up as you reported on IRC.
Comment 7 Ernst Sjöstrand 2016-01-29 08:33:59 UTC
Michael: thanks. Could hurt future bisects?
Could only get past it without the mesa changes but perhaps I messed something up. Lots of big changes right now!
Comment 8 Michel Dänzer 2016-01-29 08:45:21 UTC
Fixed in Mesa and xf86-video-amdgpu master. Both fixes are required.

Module: Mesa
Branch: master
Commit: 62f837e2ea7b854215efb2e110b176dad61c2af0
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=62f837e2ea7b854215efb2e110b176dad61c2af0

Author: Michel Dänzer <michel.daenzer@amd.com>
Date:   Tue Jan 26 16:15:59 2016 +0900

winsys/amdgpu: Handle RADEON_FLAG_NO_CPU_ACCESS


commit a3eac85d812ecc605436e6bd5b9ee7ebf307e3d3
Author: Michel Dänzer <michel.daenzer@amd.com>
Date:   Tue Jan 26 16:12:28 2016 +0900

    Only map front buffer if glamor acceleration is disabled (v2)

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.