android_kernel_oneplus_msm8998/drivers/gpu/drm/i915
Mika Kuoppala a9c1f90c8e drm/i915: Don't mask EI UP interrupt on IVB|SNB
Submitting a batchbuffer which simulates a gpu
hang by doing MI_BATCH_BUFFER_START into itself,
to test hangcheck, started to hard hang the whole box
(IVB). Bisecting lead to this commit:

commit 664b422c2966cd39b8f67e8d53a566ea8c877cd6
Author: Vinit Azad <vinit.azad@intel.com>
Date:   Wed Aug 14 13:34:33 2013 -0700

    drm/i915: Only unmask required PM interrupts

Experimenting with the mask register showed that
unmasking EI UP will prevent the hard hang in IVB and SNB.
HSW doesn't hang with EI UP masked.

Considering we are just disabling interrupts that aren't even
delivered to driver, this change is more likely to paper over some
weirdness in gpu's internal state machine. But until better
explanation can be found, let's trade little bit of power
for stability on these architectures.

v2: - Unmask EI_EXPIRED directly in I915_WRITE (Vinit)
v3: - Only unmask on SNB and IVB

Cc: Vinit Azad <vinit.azad@intel.com>
Signed-off-by: Mika Kuoppala <mika.kuoppala@intel.com>
Acked-by: Vinit Azad <vinit.azad@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2013-09-03 11:10:54 +02:00
..
dvo.h
dvo_ch7xxx.c drm/i915: dvo_ch7xxx: fix vsync polarity setting 2013-07-25 16:10:22 +02:00
dvo_ch7017.c
dvo_ivch.c
dvo_ns2501.c
dvo_sil164.c
dvo_tfp410.c
i915_debugfs.c drm/i915: Print seqnos as unsigned in debugfs 2013-08-23 14:52:37 +02:00
i915_dma.c drm/i915: Support render nodes 2013-09-02 10:51:42 +10:00
i915_drv.c drm/i915: Support render nodes 2013-09-02 10:51:42 +10:00
i915_drv.h Merge branch 'drm-next-3.12' of git://people.freedesktop.org/~agd5f/linux into drm-next 2013-09-02 09:31:40 +10:00
i915_gem.c Merge tag 'drm-intel-next-2013-08-23' of git://people.freedesktop.org/~danvet/drm-intel into drm-next 2013-08-30 09:47:41 +10:00
i915_gem_context.c drm/i915: mm_list is per VMA 2013-08-08 14:06:58 +02:00
i915_gem_debug.c drm/i915: Fix #endif comment 2013-08-09 10:45:52 +02:00
i915_gem_dmabuf.c Merge tag 'drm-intel-next-2013-08-23' of git://people.freedesktop.org/~danvet/drm-intel into drm-next 2013-08-30 09:47:41 +10:00
i915_gem_evict.c drm/i915/vma: Correct use after free in eviction 2013-08-23 14:52:21 +02:00
i915_gem_execbuffer.c drm/i915: Cleaning up the relocate entry function 2013-08-23 14:52:31 +02:00
i915_gem_gtt.c drm/i915: Use Write-Through cacheing for the display plane on Iris 2013-08-22 13:31:38 +02:00
i915_gem_stolen.c Merge tag 'drm-intel-next-2013-08-23' of git://people.freedesktop.org/~danvet/drm-intel into drm-next 2013-08-30 09:47:41 +10:00
i915_gem_tiling.c drm/i915: plumb VM into bind/unbind code 2013-08-08 14:04:20 +02:00
i915_gpu_error.c drm/i915: Get VECS semaphore info on error 2013-08-22 13:31:43 +02:00
i915_ioc32.c
i915_irq.c drm/i915: allow package C8+ states on Haswell (disabled) 2013-08-23 14:52:33 +02:00
i915_reg.h Merge branch 'drm-next-3.12' of git://people.freedesktop.org/~agd5f/linux into drm-next 2013-09-02 09:31:40 +10:00
i915_suspend.c Linux 3.10 2013-07-18 12:03:29 +02:00
i915_sysfs.c drm/i915: add error_state sysfs entry 2013-07-01 19:39:31 +02:00
i915_trace.h drm/i915: plumb VM into bind/unbind code 2013-08-08 14:04:20 +02:00
i915_trace_points.c
i915_ums.c
intel_acpi.c i915: fix ACPI _DSM warning 2013-08-05 19:04:05 +02:00
intel_bios.c
intel_bios.h
intel_crt.c drm/i915/crt: use native encoder->mode_set callback 2013-08-04 21:25:23 +02:00
intel_ddi.c drm/i915: add the FCLK case to intel_ddi_get_cdclk_freq 2013-08-23 14:52:25 +02:00
intel_display.c Merge branch 'drm-next-3.12' of git://people.freedesktop.org/~agd5f/linux into drm-next 2013-09-02 09:31:40 +10:00
intel_dp.c drm/i915: allow package C8+ states on Haswell (disabled) 2013-08-23 14:52:33 +02:00
intel_drv.h drm/i915: allow package C8+ states on Haswell (disabled) 2013-08-23 14:52:33 +02:00
intel_dvo.c drm/i915/dvo: use native encoder ->mode_set callback 2013-08-04 21:25:21 +02:00
intel_fb.c drm/i915: Export intel_framebuffer_fini 2013-08-06 20:08:50 +02:00
intel_hdmi.c Merge tag 'drm-intel-next-2013-08-23' of git://people.freedesktop.org/~danvet/drm-intel into drm-next 2013-08-30 09:47:41 +10:00
intel_i2c.c drm/i915: allow package C8+ states on Haswell (disabled) 2013-08-23 14:52:33 +02:00
intel_lvds.c drm/i915/lvds: use the native encoder ->mode_set callback 2013-08-04 21:25:25 +02:00
intel_modes.c
intel_opregion.c
intel_overlay.c drm/i915: Add VM to pin 2013-08-05 19:04:09 +02:00
intel_panel.c Merge branch 'drm-next-3.12' of git://people.freedesktop.org/~agd5f/linux into drm-next 2013-09-02 09:31:40 +10:00
intel_pm.c drm/i915: Don't mask EI UP interrupt on IVB|SNB 2013-09-03 11:10:54 +02:00
intel_ringbuffer.c Merge branch 'drm-next-3.12' of git://people.freedesktop.org/~agd5f/linux into drm-next 2013-09-02 09:31:40 +10:00
intel_ringbuffer.h drm/i915: Remove I915_READ_{NOPID, SYNC_0, SYNC_1})() 2013-08-23 14:52:24 +02:00
intel_sdvo.c i915: Fix SDVO potentially turning off randomly 2013-08-22 13:31:36 +02:00
intel_sdvo_regs.h
intel_sideband.c
intel_sprite.c drm/i915: Always call intel_update_sprite_watermarks() when disabling a plane 2013-08-08 14:11:15 +02:00
intel_tv.c drm/i915/tv: Use native encoder->mode_set callback 2013-08-04 21:25:22 +02:00
intel_uncore.c drm/i915: Convert the register access tracepoint to be conditional 2013-07-25 15:22:07 +02:00
Makefile drm/i915: Colocate all GT access routines in the same file 2013-07-25 15:21:50 +02:00