linux/drivers/gpu/drm/i915
Daniel Vetter 6005ce4243 drm/i915: close tiny race in the ilk pcu even interrupt setup
By the time we write DEIER in the postinstall hook the interrupt
handler could run any time. And it does modify DEIER to handle
interrupts.

Hence the DEIER read-modify-write cycle for enabling the PCU event
source is racy. Close this races the same way we handle vblank
interrupts: Unconditionally enable the interrupt in the IER register,
but conditionally mask it in IMR. The later poses no such race since
the interrupt handler does not touch DEIMR.

Also update the comment, the clearing has already happened
unconditionally above.

v2: Actually shove the updated comment into the right train^W commit,
as spotted by Paulo.

Cc: Paulo Zanoni <przanoni@gmail.com>
Reviewed-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2013-07-01 11:14:55 +02:00
..
dvo_ch7xxx.c drm/i915: add support for dvo Chrontel 7010B 2013-05-20 22:02:49 +02:00
dvo_ch7017.c drm/i915/dvo: implement get_hw_state 2012-09-06 07:58:52 +02:00
dvo_ivch.c drm/i915/dvo: implement get_hw_state 2012-09-06 07:58:52 +02:00
dvo_ns2501.c drm/i915/dvo: implement get_hw_state 2012-09-06 07:58:52 +02:00
dvo_sil164.c drm/i915/dvo: implement get_hw_state 2012-09-06 07:58:52 +02:00
dvo_tfp410.c drm/i915/dvo: implement get_hw_state 2012-09-06 07:58:52 +02:00
dvo.h Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux 2012-10-03 23:29:23 -07:00
i915_debugfs.c drm/i915: s/LFP/LPF in DPIO PLL register names 2013-07-01 11:14:52 +02:00
i915_dma.c Merge tag 'drm-intel-next-2013-06-18' of git://people.freedesktop.org/~danvet/drm-intel into drm-next 2013-06-28 09:50:34 +10:00
i915_drv.c drm/i915: Fix PCH detect with multiple ISA bridges in VM 2013-07-01 11:14:41 +02:00
i915_drv.h drm/i915: Introduce an HAS_IPS() macro 2013-07-01 11:14:44 +02:00
i915_gem_context.c drm/i915: Fix context sizes on HSW 2013-07-01 11:14:54 +02:00
i915_gem_debug.c UAPI: (Scripted) Convert #include "..." to #include <path/...> in drivers/gpu/ 2012-10-02 18:01:07 +01:00
i915_gem_dmabuf.c drm/i915: fix dmabuf vmap support 2013-05-01 16:09:31 +10:00
i915_gem_evict.c drm/i915: Create a gtt structure 2013-01-17 22:33:56 +01:00
i915_gem_execbuffer.c drm/i915: add batch bo to i915_add_request() 2013-06-13 17:42:16 +02:00
i915_gem_gtt.c drm/i915: Rename the gtt_list to global_list 2013-06-03 10:51:14 +02:00
i915_gem_stolen.c drm/i915: Rename the gtt_list to global_list 2013-06-03 10:51:14 +02:00
i915_gem_tiling.c drm/i915: Increase max fence pitch limit to 256KB on IVB+ 2013-04-18 09:43:20 +02:00
i915_gem.c drm/i915: fix build warning on format specifier mismatch 2013-07-01 11:14:43 +02:00
i915_ioc32.c UAPI: (Scripted) Convert #include "..." to #include <path/...> in drivers/gpu/ 2012-10-02 18:01:07 +01:00
i915_irq.c drm/i915: close tiny race in the ilk pcu even interrupt setup 2013-07-01 11:14:55 +02:00
i915_reg.h drm/i915: Fix context sizes on HSW 2013-07-01 11:14:54 +02:00
i915_suspend.c drm/i915: protect backlight registers and data with a spinlock 2013-04-25 14:10:10 +02:00
i915_sysfs.c drm/i915: change VLV IOSF sideband accessors to not return error code 2013-05-23 23:25:42 +02:00
i915_trace_points.c drm/i915: [sparse] trivial sparse fixes 2012-04-18 10:34:49 +02:00
i915_trace.h drm/i915: Allow DRM_ROOT_ONLY|DRM_MASTER to submit privileged batchbuffers 2012-10-17 21:06:59 +02:00
i915_ums.c drm/i915: scrap register address storage 2013-06-10 19:54:14 +02:00
intel_acpi.c UAPI: (Scripted) Convert #include "..." to #include <path/...> in drivers/gpu/ 2012-10-02 18:01:07 +01:00
intel_bios.c drm/i915: Organize VBT stuff inside drm_i915_private 2013-05-10 21:56:46 +02:00
intel_bios.h drm/i915: set CPT FDI RX polarity bits based on VBT 2013-04-18 09:43:31 +02:00
intel_crt.c drm/i915: document why dvo/sdvo/crt need a special dpms function 2013-05-31 20:54:04 +02:00
intel_ddi.c drm/i915: fix the "ghost eDP" encoder unwind path 2013-06-28 14:14:19 +02:00
intel_display.c drm/i915: s/LFP/LPF in DPIO PLL register names 2013-07-01 11:14:52 +02:00
intel_dp.c drm/i915: rename intel_dp_destroy to intel_dp_connector_destroy 2013-07-01 11:14:41 +02:00
intel_drv.h drm/i915: propagate errors from intel_dp_init_connector 2013-06-28 14:14:17 +02:00
intel_dvo.c drm/i915: document why dvo/sdvo/crt need a special dpms function 2013-05-31 20:54:04 +02:00
intel_fb.c Merge tag 'drm-intel-next-2013-06-18' of git://people.freedesktop.org/~danvet/drm-intel into drm-next 2013-06-28 09:50:34 +10:00
intel_hdmi.c Revert "drm/i915: Don't use the HDMI port color range bit on Valleyview" 2013-07-01 11:14:53 +02:00
intel_i2c.c drm/i915: avoid premature DP AUX timeouts 2013-05-22 13:51:26 +02:00
intel_lvds.c Merge tag 'drm-intel-next-2013-06-18' of git://people.freedesktop.org/~danvet/drm-intel into drm-next 2013-06-28 09:50:34 +10:00
intel_modes.c drm/i915: Add "Automatic" mode for the "Broadcast RGB" property 2013-01-20 13:09:44 +01:00
intel_opregion.c drm/i915: tune down DIDL warning about too many outputs 2013-07-01 11:14:42 +02:00
intel_overlay.c drm/i915: change i915_add_request to macro 2013-06-13 17:42:15 +02:00
intel_panel.c drm/i915: Fix WARN_ON() on UP machines 2013-05-23 12:51:30 +02:00
intel_pm.c drm/i915: Don't increase the GPU frequency from the delayed VLV rps timer 2013-07-01 11:14:50 +02:00
intel_ringbuffer.c drm/i915: change i915_add_request to macro 2013-06-13 17:42:15 +02:00
intel_ringbuffer.h drm/i915: store ring hangcheck action 2013-06-13 17:42:17 +02:00
intel_sdvo_regs.h drm/i915: clear the entire sdvo infoframe buffer 2012-10-24 15:12:48 +02:00
intel_sdvo.c Merge tag 'drm-intel-next-2013-06-18' of git://people.freedesktop.org/~danvet/drm-intel into drm-next 2013-06-28 09:50:34 +10:00
intel_sideband.c drm/i915: change VLV IOSF sideband accessors to not return error code 2013-05-23 23:25:42 +02:00
intel_sprite.c drm/i915: Disable/restore all sprite planes around modeset 2013-06-06 13:47:39 +02:00
intel_tv.c drm/i915: consolidate and tighten encoder cloning checks 2013-06-05 12:33:14 +02:00
Makefile drm/i915: group sideband register accessors to a new file 2013-05-23 23:24:03 +02:00