Skip to content

Commit 37ef01a

Browse files
danvetjnikula
authored andcommitted
drm/i915: Dont enable CS_PARSER_ERROR interrupts at all
We stopped handling them in commit aaecdf6 Author: Daniel Vetter <[email protected]> Date: Tue Nov 4 15:52:22 2014 +0100 drm/i915: Stop gathering error states for CS error interrupts but just clearing is apparently not enough: A sufficiently dead gpu left behind by firmware (*cough* coreboot *cough*) can keep the gpu in an endless loop of such interrupts, eventually leading to the nmi firing. And definitely to what looks like a machine hang. Since we don't even enable these interrupts on gen5+ let's do the same on earlier platforms. Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=93171 Tested-by: Mono <[email protected]> Tested-by: [email protected] Cc: [email protected] Reviewed-by: Mika Kuoppala <[email protected]> Signed-off-by: Daniel Vetter <[email protected]> Signed-off-by: Jani Nikula <[email protected]>
1 parent e0d6149 commit 37ef01a

File tree

1 file changed

+2
-6
lines changed

1 file changed

+2
-6
lines changed

drivers/gpu/drm/i915/i915_irq.c

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3598,14 +3598,12 @@ static int i8xx_irq_postinstall(struct drm_device *dev)
35983598
~(I915_DISPLAY_PIPE_A_EVENT_INTERRUPT |
35993599
I915_DISPLAY_PIPE_B_EVENT_INTERRUPT |
36003600
I915_DISPLAY_PLANE_A_FLIP_PENDING_INTERRUPT |
3601-
I915_DISPLAY_PLANE_B_FLIP_PENDING_INTERRUPT |
3602-
I915_RENDER_COMMAND_PARSER_ERROR_INTERRUPT);
3601+
I915_DISPLAY_PLANE_B_FLIP_PENDING_INTERRUPT);
36033602
I915_WRITE16(IMR, dev_priv->irq_mask);
36043603

36053604
I915_WRITE16(IER,
36063605
I915_DISPLAY_PIPE_A_EVENT_INTERRUPT |
36073606
I915_DISPLAY_PIPE_B_EVENT_INTERRUPT |
3608-
I915_RENDER_COMMAND_PARSER_ERROR_INTERRUPT |
36093607
I915_USER_INTERRUPT);
36103608
POSTING_READ16(IER);
36113609

@@ -3767,14 +3765,12 @@ static int i915_irq_postinstall(struct drm_device *dev)
37673765
I915_DISPLAY_PIPE_A_EVENT_INTERRUPT |
37683766
I915_DISPLAY_PIPE_B_EVENT_INTERRUPT |
37693767
I915_DISPLAY_PLANE_A_FLIP_PENDING_INTERRUPT |
3770-
I915_DISPLAY_PLANE_B_FLIP_PENDING_INTERRUPT |
3771-
I915_RENDER_COMMAND_PARSER_ERROR_INTERRUPT);
3768+
I915_DISPLAY_PLANE_B_FLIP_PENDING_INTERRUPT);
37723769

37733770
enable_mask =
37743771
I915_ASLE_INTERRUPT |
37753772
I915_DISPLAY_PIPE_A_EVENT_INTERRUPT |
37763773
I915_DISPLAY_PIPE_B_EVENT_INTERRUPT |
3777-
I915_RENDER_COMMAND_PARSER_ERROR_INTERRUPT |
37783774
I915_USER_INTERRUPT;
37793775

37803776
if (I915_HAS_HOTPLUG(dev)) {

0 commit comments

Comments
 (0)