Am 27.06.2014 03:03, schrieb Michel Dänzer:
On 27.06.2014 09:53, Dieter Nützel wrote:
Am 26.06.2014 12:39, schrieb Christian König:
Am 26.06.2014 11:29, schrieb Michel Dänzer:
From: Michel Dänzer michel.daenzer@amd.com
Prevents radeon_crtc_handle_flip() from running before radeon_flip_work_func(), resulting in a kernel panic due to the BUG_ON() in drm_vblank_put().
Tested-by: Dieter Nützel Dieter@nuetzel-hh.de Signed-off-by: Michel Dänzer michel.daenzer@amd.com
Does patch #2 alone fixes the problem as well?
With #2 alone I get this during boot up (before plymouth):
[...]
[ 15.259867] [drm:radeon_crtc_handle_flip] *ERROR* radeon_crtc->flip_status = 0 != RADEON_FLIP_SUBMITTED(2)
That's the original patch I sent to you along with two others for testing. The patch I submitted in this series has these messages downgraded to debugging messages, as they just show the patch preventing bad stuff from happening as designed.
The question is, can you reproduce the panic or the 'impossible msc' lines in the Xorg log with only patch #2?
Here we go (the 'new' #2 alone):
For the panic I need more time. But the first 'impossible msc' line arise during X start:
[ 80.271] (II) RADEON(0): Modeline "1680x1050"x0.0 119.00 1680 1728 1760 1840 1050 1053 1059 1080 +hsync -vsync (64.7 kHz e) [ 80.271] (II) RADEON(0): Modeline "1920x1080"x60.0 172.80 1920 2040 2248 2576 1080 1081 1084 1118 -hsync +vsync (67.1 kHz e) [ 100.246] (WW) RADEON(0): radeon_dri2_flip_event_handler: Pageflip completion event has impossible msc 5302 < target_msc 5303
Some arise with KWin cube effects.
[ 1059.124] (WW) RADEON(0): radeon_dri2_flip_event_handler: Pageflip completion event has impossible msc 62948 < target_msc 62949 [ 1067.223] (WW) RADEON(0): radeon_dri2_flip_event_handler: Pageflip completion event has impossible msc 63435 < target_msc 63436 [ 1081.458] (WW) RADEON(0): radeon_dri2_flip_event_handler: Pageflip completion event has impossible msc 64290 < target_msc 64291 [ 1233.165] (WW) RADEON(0): radeon_dri2_flip_event_handler: Pageflip completion event has impossible msc 73416 < target_msc 73417 [ 1233.515] (WW) RADEON(0): radeon_dri2_flip_event_handler: Pageflip completion event has impossible msc 73437 < target_msc 73438 [ 1234.330] (WW) RADEON(0): radeon_dri2_flip_event_handler: Pageflip completion event has impossible msc 73486 < target_msc 73487 [ 1235.079] (WW) RADEON(0): radeon_dri2_flip_event_handler: Pageflip completion event has impossible msc 73531 < target_msc 73532
Sleep well!
-Dieter
But with Michel's #1+2 and 3 I got this in Xorg.0.log: (See Xorg.0.log.old.xz)
(EE) [mi] EQ overflowing. Additional events will be discarded until existing events are processed.
That may not be directly related to the page flipping issues.