Created attachment 95767 [details] dmesg System Environment: -------------------------- Platform: Ivybridge/Haswell Kernel: drm-intel-fixes/5c673b60a9b3b23486f4eda75c72e91d31d26a2b Bug detailed description: ----------------------------- kms_cursor_crc kms_plane and kms_pipe_crc_basic are timeout on Ivybridge and Haswell with -nightly and -fixes kernel. They work well on -queued kernel. Bisect shows: 5c673b60a9b3b23486f4eda75c72e91d31d26a2b is the first bad commit commit 5c673b60a9b3b23486f4eda75c72e91d31d26a2b Author: Daniel Vetter <daniel.vetter@ffwll.ch> AuthorDate: Fri Mar 7 20:34:46 2014 +0100 Commit: Jani Nikula <jani.nikula@intel.com> CommitDate: Wed Mar 12 17:20:34 2014 +0200 drm/i915: Don't enable display error interrupts from the start We need to enable interrupt processing before all the modeset state is set up. But that means we can fall over when we get a pipe underrun. This shouldn't happen as long as the bios works correctly but as usual this turns out to be wishful thinking. So disable error interrupts at irq install time and rely on the re-enabling code in the modeset functions to take care of this. Note that due to the SDE interrupt handling race we must uncondtionally enable all interrupt sources in SDEIER, hence no need to enable the SERR bit specifically. On gmch platforms we don't have an explicit enable/mask bit for fifo underruns. Fixing this up would require a bit of software tracking, hence is material for a separate patch. To make this possible we need to switch all gmch platforms to the new pipestat interrupt handling scheme Imre implemented for vlv, and then also add a safe form of sw state checking to __cpu_fifo_underrun_reporting_enabled a bit. v2: Also handle the ilk/snb cpu fifo underrun bits accordingly. Spotted by Ville. v3: Also handle the south interrupt underrun bits on ibx. Again spotted by Ville. Reported-by: Rob Clark <robdclark@gmail.com> Cc: Rob Clark <robdclark@gmail.com> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com> Cc: stable@vger.kernel.org Tested-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> Signed-off-by: Jani Nikula <jani.nikula@intel.com> run ./kms_cursor_crc --run-subtest cursor-black-visible-offscreen output: IGT-Version: 1.5-g9812768 (x86_64) (Linux: 3.14.0-rc5_drm-intel-fixes_5c673b_20140313+ x86_64)
Just stumbled over this myself, but for me hsw seems to still work. Will look a bit into this.
Please test this patch: http://patchwork.freedesktop.org/patch/22716/ It works on my ivb, so please make especially sure it fixes the issue on hsw, too.
(In reply to comment #2) > Please test this patch: > > http://patchwork.freedesktop.org/patch/22716/ > > It works on my ivb, so please make especially sure it fixes the issue on > hsw, too. Test this patch, the timeout issue goes away. But call trace appears in dmesg.
Created attachment 96270 [details] dmesg(patch)
The two backtraces are an issue on hsw with the runtime pm. Please file a separate bug and try to find good/bad commits and bisect - I suspect this started poppping up last week when I've merged Paulo's latest pile of patches.
commit 15d7959b13afc6528681183f8255a7ec89033677 Author: Daniel Vetter <daniel.vetter@ffwll.ch> Date: Mon Mar 24 00:01:41 2014 +0100 drm/i915: Fix initial pipe underrun state tracking
Test on latest -nightly kernel, It works well.
Closing old verified+fixed.
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.