OpenCloudOS-Kernel/drivers/gpu/drm/i915
Imre Deak e494837aee drm/i915: fix possible RPM ref leaking during RPS disabling
In

commit c6df39b5ea
Author: Imre Deak <imre.deak@intel.com>
Date:   Mon Apr 14 20:24:29 2014 +0300

    drm/i915: get a runtime PM ref for the deferred GT powersave enabling

I added an RPM get-ref when enabling RPS from a deferred work, but forgot
to add the corresponding put-ref when canceling the work. This may leave
RPM disabled.

Note that the race is real since we run the rps enabling with a
delayed work item after resume, so leaves enough time (in contrived
examples) to fit a quick autoresum in.

Signed-off-by: Imre Deak <imre.deak@intel.com>
Reviewed-by: Robert Beckett <robert.beckett@intel.com>
Testecase: igt/pm_rpm/system-suspend
[danvet: Mention testcase and add note.]
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2014-05-22 21:53:11 +02:00
..
Kconfig drm/i915: Introduce mapping of user pages into video memory (userptr) ioctl 2014-05-16 19:31:29 +02:00
Makefile drm/i915: Introduce mapping of user pages into video memory (userptr) ioctl 2014-05-16 19:31:29 +02:00
dvo.h drm/i915: Remove unused mode_fixup() vfunc of struct intel_dvo_dev_ops 2013-09-05 21:39:59 +02:00
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: Use hash tables for the command parser 2014-05-12 19:15:51 +02:00
i915_debugfs.c drm/i915/chv: Add cursor pipe offsets 2014-05-20 15:32:30 +02:00
i915_dma.c drm/i915: move bsd dispatch index somewhere better 2014-05-22 15:06:31 +02:00
i915_drv.c drm/i915: remove user GTT mappings early during runtime suspend 2014-05-22 21:49:49 +02:00
i915_drv.h drm/i915: move bsd dispatch index somewhere better 2014-05-22 15:06:31 +02:00
i915_gem.c drm/i915: Only discard backing storage on releasing the last ref 2014-05-22 15:06:34 +02:00
i915_gem_context.c drm/i915: Add null state batch to active list 2014-05-22 14:10:37 +02: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: Introduce mapping of user pages into video memory (userptr) ioctl 2014-05-16 19:31:29 +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: move bsd dispatch index somewhere better 2014-05-22 15:06:31 +02:00
i915_gem_gtt.c drm/i915/chv: Implement stolen memory size detection 2014-05-13 14:13:22 +02:00
i915_gem_gtt.h drm/i915/chv: PPAT setup for Cherryview 2014-05-06 18:29:34 +02:00
i915_gem_render_state.c drm/i915: Add null state batch to active list 2014-05-22 14:10:37 +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_gem_userptr.c drm/i915: Introduce mapping of user pages into video memory (userptr) ioctl 2014-05-16 19:31:29 +02:00
i915_gpu_error.c drm/i915: Introduce mapping of user pages into video memory (userptr) ioctl 2014-05-16 19:31:29 +02:00
i915_ioc32.c
i915_irq.c drm/i915: Fix gen2 and hsw+ scanline counter 2014-05-22 15:06:38 +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: Implement WaVcpClkGateDisableForMediaReset:ctg, elk 2014-05-22 16:34:57 +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: Add pipe update trace points 2014-05-06 10:18:03 +02: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 drm/i915/crt: Remove ->mode_set callback 2014-05-05 10:56:59 +02:00
intel_ddi.c drm/i915: grab the audio power domain when enabling audio on HSW+ 2014-05-22 15:06:33 +02:00
intel_display.c drm/i915: Fix gen2 and hsw+ scanline counter 2014-05-22 15:06:38 +02:00
intel_dp.c drm/i915: Drop now misleading DDI comment from dp_link_down 2014-05-20 22:50:05 +02:00
intel_drv.h drm/i915: Fix gen2 and hsw+ scanline counter 2014-05-22 15:06:38 +02:00
intel_dsi.c drm/i915: Add MIPI mmio reg base 2014-05-19 17:56:40 +02:00
intel_dsi.h drm/i915: MIPI PPS delays added 2014-05-15 22:44:21 +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/dvo: Remove ->mode_set callback 2014-05-05 10:56:55 +02:00
intel_fbdev.c drm/i915: Use the connector name in fbdev debug messages 2014-05-14 12:10:45 +02:00
intel_hdmi.c drm/i915/chv: Use RMW to toggle swing calc init 2014-05-20 15:53:09 +02: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/lvds: Remove ->mode_set callback 2014-05-16 11:59:09 +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 drm/i915: shuffle panel code 2014-05-20 21:07:50 +02:00
intel_pm.c drm/i915: fix possible RPM ref leaking during RPS disabling 2014-05-22 21:53:11 +02:00
intel_renderstate.h drm/i915: add render state initialization 2014-05-14 19:16:13 +02:00
intel_renderstate_gen6.c drm/i915: add null render states for gen6, gen7 and gen8 2014-05-14 19:17:08 +02:00
intel_renderstate_gen7.c drm/i915: add null render states for gen6, gen7 and gen8 2014-05-14 19:17:08 +02:00
intel_renderstate_gen8.c drm/i915: add null render states for gen6, gen7 and gen8 2014-05-14 19:17:08 +02:00
intel_ringbuffer.c drm/i915/chv: Add some workaround notes 2014-05-20 15:20:05 +02:00
intel_ringbuffer.h drm/i915: Use hash tables for the command parser 2014-05-12 19:15:51 +02:00
intel_sdvo.c drm/i915/sdvo: use config->has_hdmi_sink 2014-05-16 11:58:09 +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: vlv/chv: fix DSI sideband register accessing 2014-05-19 17:50:14 +02:00
intel_sprite.c drm/i915: Wait for pending page flips before enabling/disabling the primary plane 2014-05-22 15:06:33 +02:00
intel_tv.c drm/i915/tv: Remove ->mode_set callback 2014-05-05 10:56:59 +02:00
intel_uncore.c drm/i915: Implement WaVcpClkGateDisableForMediaReset:ctg, elk 2014-05-22 16:34:57 +02:00