]> git.baikalelectronics.ru Git - kernel.git/commit
drm/i915: improve GEN7_ERR_INT clearing for fifo underrun reporting
authorDaniel Vetter <daniel.vetter@ffwll.ch>
Tue, 9 Jul 2013 20:59:16 +0000 (22:59 +0200)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Thu, 11 Jul 2013 12:35:48 +0000 (14:35 +0200)
commit39ac8b494af273b320ae7d3d8e2c09f7a3f06b65
treee95abefd980931b4c952751e0f62c7edc193a3b3
parent6c3710cb0bf2baaa6cef8da670ad2d940b71114c
drm/i915: improve GEN7_ERR_INT clearing for fifo underrun reporting

Same treatment as for SERR_INT: If we clear only the bit for the pipe
we're enabling (but unconditionally) then we can always check for
possible underruns after having disabled the interrupt. That way pipe
underruns won't be lost, but at worst only get reported in a delayed
fashion.

v2: The same logic bug as in the SERR handling change also existed
here. The same bugfix of only reporting missed underruns when the
error interrupt was masked applies, too.

v3: Do the same fixes as for the SERR handling that Paulo suggested in
his review:
- s/%i/%c/ fix in the debug output
- move the DE_ERR_INT_IVB read into the respective if block

Cc: Paulo Zanoni <przanoni@gmail.com>
Reviewed-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
[danvet: Fix up the checkpatch bikeshed Paulo noticed.]
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/i915_irq.c
drivers/gpu/drm/i915/i915_reg.h