linux_old1/drivers/gpu/drm/i915
Imre Deak f454c6940e drm/i915: get a runtime PM ref for the deferred GPU reset work
Atm we can end up in the GPU reset deferred work in D3 state if the last
runtime PM reference is dropped between detecting a hang/scheduling the
work and executing the work. At least one such case I could trigger is
the simulated reset via the i915_wedged debugfs entry. Fix this by
getting an RPM reference around accessing the HW in the reset work.

v2:
- Instead of getting/putting the RPM reference in the reset work itself,
  get it already before scheduling the work. By this we also prevent
  going to D3 before the work gets to run, in addition to making sure
  that we run the work itself in D0. (Ville, Daniel)
v3:
- fix inverted logic fail when putting the RPM ref on behalf of a
  cancelled GPU reset work (Ville)
v4:
- Taking the RPM ref in the interrupt handler isn't really needed b/c
  it's already guaranteed that we hold an RPM ref until the end of the
  reset work in all cases we care about. So take the ref in the reset
  work (for cases like i915_wedged_set). (Daniel)

Signed-off-by: Imre Deak <imre.deak@intel.com>
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@gmail.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2014-05-05 09:09:00 +02:00
..
Kconfig Merge tag 'drm-intel-next-2014-04-16' of git://anongit.freedesktop.org/drm-intel into drm-next 2014-05-01 09:11:37 +10:00
Makefile Merge remote-tracking branch 'airlied/drm-next' into drm-intel-next 2014-03-18 09:43:56 +01:00
dvo.h
dvo_ch7xxx.c drm/i915: Remove spurious semicolons 2014-04-09 21:54:33 +02:00
dvo_ch7017.c
dvo_ivch.c drm/i915: Remove spurious semicolons 2014-04-09 21:54:33 +02:00
dvo_ns2501.c drm/i915: Remove spurious semicolons 2014-04-09 21:54:33 +02:00
dvo_sil164.c drm/i915: Remove spurious semicolons 2014-04-09 21:54:33 +02:00
dvo_tfp410.c drm/i915: Remove spurious semicolons 2014-04-09 21:54:33 +02:00
i915_cmd_parser.c drm/i915: Add more registers to the whitelist for mesa 2014-04-09 21:54:05 +02:00
i915_debugfs.c drm/i915: get a runtime PM ref for debugfs entries where needed 2014-05-05 09:08:55 +02:00
i915_dma.c drm/i915: Use the coarse ping-pong mechanism based on drm fd to dispatch the BSD command on BDW GT3 2014-05-05 09:08:49 +02:00
i915_drv.c drm/i915: get a runtime PM ref for the deferred GT powersave enabling 2014-05-05 09:08:57 +02:00
i915_drv.h drm/i915: Use the coarse ping-pong mechanism based on drm fd to dispatch the BSD command on BDW GT3 2014-05-05 09:08:49 +02:00
i915_gem.c drm/i915: vlv: clean up GTLC wake control/status register macros 2014-05-05 09:08:50 +02:00
i915_gem_context.c Merge tag 'drm-intel-next-2014-04-16' of git://anongit.freedesktop.org/drm-intel into drm-next 2014-05-01 09:11:37 +10:00
i915_gem_debug.c drm/i915: prefer struct drm_i915_private to drm_i915_private_t 2014-03-31 15:34:21 +02:00
i915_gem_dmabuf.c drm/i915: dma_buf_vunmap is presumed not to fail, don't let it 2014-04-09 15:03:05 +02:00
i915_gem_evict.c drm/i915: prefer struct drm_i915_private to drm_i915_private_t 2014-03-31 15:34:21 +02:00
i915_gem_execbuffer.c drm/i915: Use the coarse ping-pong mechanism based on drm fd to dispatch the BSD command on BDW GT3 2014-05-05 09:08:49 +02:00
i915_gem_gtt.c drm/i915: Allow full PPGTT with param override 2014-04-24 13:34:58 +03:00
i915_gem_gtt.h drm/i915: Split out GTT specific header file 2014-04-01 22:58:07 +02:00
i915_gem_stolen.c drm/i915: restrict vt-d stolen memory workaround to pre-gen8 2014-03-31 10:45:34 +02:00
i915_gem_tiling.c drm/i915: prefer struct drm_i915_private to drm_i915_private_t 2014-03-31 15:34:21 +02:00
i915_gpu_error.c drm/i915:Initialize the second BSD ring on BDW GT3 machine 2014-05-05 09:08:46 +02:00
i915_ioc32.c
i915_irq.c drm/i915: get a runtime PM ref for the deferred GPU reset work 2014-05-05 09:09:00 +02:00
i915_params.c drm/i915: Add debug module option for VTd validation 2014-04-03 11:23:11 +02:00
i915_reg.h drm/i915: vlv: add RC6 residency counters 2014-05-05 09:08:52 +02:00
i915_suspend.c drm/i915: Kill most of the FBC register save/restore 2014-01-25 21:17:03 +01:00
i915_sysfs.c drm/i915: get a runtime PM ref for debugfs entries where needed 2014-05-05 09:08:55 +02:00
i915_trace.h drm/i915: Do not dereference pointers from ring buffer in evict event 2014-03-19 08:17:29 +01:00
i915_trace_points.c
i915_ums.c drm/i915: Only restore backlight combination mode reg for ums 2014-01-24 17:22:45 +01:00
intel_acpi.c Merge branch 'acpi-dsm' 2014-01-12 23:45:52 +01:00
intel_bios.c drm/i915: Validate VBT header before trusting it 2014-05-05 09:08:59 +02:00
intel_bios.h Merge tag 'drm-intel-next-2014-04-16' of git://anongit.freedesktop.org/drm-intel into drm-next 2014-05-01 09:11:37 +10:00
intel_crt.c Skip intel_crt_init for Dell XPS 8700 2014-04-04 09:30:53 +02:00
intel_ddi.c drm/i915: fix WARNs when reading DDI state while suspended 2014-04-01 22:53:45 +02:00
intel_display.c Merge tag 'drm-intel-next-2014-04-16' of git://anongit.freedesktop.org/drm-intel into drm-next 2014-05-01 09:11:37 +10:00
intel_dp.c drm/i915: remove unexplained vblank wait in the DP off code 2014-05-05 09:08:35 +02:00
intel_drv.h drm/i915: get a runtime PM ref for the deferred GT powersave enabling 2014-05-05 09:08:57 +02:00
intel_dsi.c drm/i915: Enable RANDOM resolution support for MIPI panels 2014-04-09 21:54:31 +02:00
intel_dsi.h drm/i915: Parameterize the Clockstop and escape_clk_div 2014-04-09 21:54:29 +02:00
intel_dsi_cmd.c drm/i915: Send DPI command explicitely in LP mode 2014-04-09 21:54:30 +02:00
intel_dsi_cmd.h drm/i915: Send DPI command explicitely in LP mode 2014-04-09 21:54:30 +02:00
intel_dsi_pll.c drm/i915: Try harder to get best m, n, p values with minimal error 2013-12-11 23:52:18 +01:00
intel_dvo.c drm/i915: Make encoder cloning more flexible 2014-03-10 21:33:26 +01:00
intel_fbdev.c drm/i915: Discard BIOS framebuffers too small to accommodate chosen mode 2014-04-24 13:34:37 +03:00
intel_hdmi.c Merge tag 'drm-intel-next-2014-04-16' of git://anongit.freedesktop.org/drm-intel into drm-next 2014-05-01 09:11:37 +10:00
intel_i2c.c drm/i915: Disable dp aux irq on g4x 2014-02-07 16:40:07 +01:00
intel_lvds.c drm/i915: Don't set the 8to6 dither flag when not scaling 2014-04-13 11:59:32 +02:00
intel_modes.c
intel_opregion.c Merge tag 'drm-intel-fixes-2014-02-06' of ssh://git.freedesktop.org/git/drm-intel into drm-next 2014-02-11 12:57:27 +10:00
intel_overlay.c Merge tag 'drm-intel-fixes-2014-04-04' of git://anongit.freedesktop.org/drm-intel into drm-next 2014-04-05 16:14:21 +10:00
intel_panel.c Merge tag 'drm-intel-next-2014-04-16' of git://anongit.freedesktop.org/drm-intel into drm-next 2014-05-01 09:11:37 +10:00
intel_pm.c drm/i915: get a runtime PM ref for the deferred GT powersave enabling 2014-05-05 09:08:57 +02:00
intel_ringbuffer.c drm/i915:Add the VCS2 switch in Intel_ring_setup_status_page 2014-05-05 09:08:48 +02:00
intel_ringbuffer.h drm/i915:Initialize the second BSD ring on BDW GT3 machine 2014-05-05 09:08:46 +02:00
intel_sdvo.c drm/i915/SDVO: For sysfs link put directory and target in correct order 2014-04-15 21:03:05 +02:00
intel_sdvo_regs.h drm/i915: use __packed instead of __attribute__((packed)) 2013-12-03 18:19:49 +01:00
intel_sideband.c drm/i915: Warn when DPIO read returns 0xffffffff 2014-04-03 11:28:39 +02:00
intel_sprite.c drm/i915: Shuffle sprite register writes into a tighter group 2014-01-24 17:22:53 +01:00
intel_tv.c drm/i915/tv: fix gen4 composite s-video tv-out 2014-03-28 18:33:16 +01:00
intel_uncore.c drm/i915: Use a macro to express the range of valid gens for reg_read 2014-04-01 22:58:23 +02:00