alistair23-linux/drivers/gpu/drm/i915
Daniel Vetter a01025afa8 drm/i915: fixup i915_pipe_enabled check in i915_irq.c
Well, as well as we can without completely revamping the drm vblank
code. The issue are that
- The vblank code needs to work on both ums and kms.
- It deals always deals with pipes.
- It doesn't take any of the kms locks.

The last part is not really fixable without revamping the drm vblank
code, since the drm core <-> driver interactions is a veritable pile
of spaghettis. But the other pieces can be fixed by switching on the
MODESET driver flag and either checking the hw state directly (ums
case) or just querying our sw tracking (with broken locking, but
that's not worse than what we've had).

Note that this essentially reverts

commit 702e7a56af
Author: Paulo Zanoni <paulo.r.zanoni@intel.com>
Date:   Tue Oct 23 18:29:59 2012 -0200

    drm/i915: convert PIPECONF to use transcoder instead of pipe

for the ums case, which will fix a NULL deref (since we really don't
have any crtcs set up).

But the real reason to do this is to drop our reliance on the
cpu_transcoder: By only checking intel_crtc->active we don't need to
make sure that the pipe_config (or at least the cpu_transcoder)
contain safe values even when the pipe is off.

Cc: Paulo Zanoni <paulo.r.zanoni@intel.com>
Cc: Damien Lespiau <damien.lespiau@intel.com>
Reviewed-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2013-05-31 20:54:02 +02:00
..
dvo.h Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux 2012-10-03 23:29:23 -07: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
i915_debugfs.c drm/i915: change VLV IOSF sideband accessors to not return error code 2013-05-23 23:25:42 +02:00
i915_dma.c drm/i915: release scratch page at module unload 2013-05-31 20:53:59 +02:00
i915_drv.c drm/i915: Enable FBC at Haswell. 2013-05-10 21:56:49 +02:00
i915_drv.h drm/i915: track ring progression using seqnos 2013-05-31 20:53:54 +02:00
i915_gem.c drm/i915: pre-fixes for checkpatch 2013-05-31 20:53:56 +02:00
i915_gem_context.c drm/i915: context debug messages 2013-05-31 20:53:58 +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 Merge tag 'drm-intel-next-2013-03-23' of git://people.freedesktop.org/~danvet/drm-intel into drm-next 2013-04-05 10:18:13 +10:00
i915_gem_gtt.c Linux 3.10-rc2 2013-05-21 09:52:16 +02:00
i915_gem_stolen.c drm/i915: allow stolen, pre-allocated objects to avoid GTT allocation v2 2013-05-10 21:56:37 +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_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: fixup i915_pipe_enabled check in i915_irq.c 2013-05-31 20:54:02 +02:00
i915_reg.h drm/i915: refactor VLV IOSF sideband accessors to use one helper 2013-05-23 23:24:28 +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.h drm/i915: Allow DRM_ROOT_ONLY|DRM_MASTER to submit privileged batchbuffers 2012-10-17 21:06:59 +02:00
i915_trace_points.c drm/i915: [sparse] trivial sparse fixes 2012-04-18 10:34:49 +02:00
i915_ums.c drm/i915: Apply OCD to data/link m/n register #defines 2013-05-06 11:27:57 +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: add encoder get_config function v5 2013-05-21 09:55:19 +02:00
intel_ddi.c drm/i915: make intel_ddi_get_cdclk_freq return values in KHz 2013-05-21 11:54:41 +02:00
intel_display.c drm/i915: rename VLV IOSF sideband functions logically 2013-05-23 23:25:10 +02:00
intel_dp.c drm/i915: remove unused is_cpu_edp() 2013-05-31 20:54:01 +02:00
intel_drv.h drm/i915: add haswell_update_sprite_wm 2013-05-31 20:53:52 +02:00
intel_dvo.c drm/i915: add encoder get_config function v5 2013-05-21 09:55:19 +02:00
intel_fb.c drm/i915: clear the stolen fb before resuming 2013-05-07 22:25:11 +02:00
intel_hdmi.c drm/i915: rename VLV IOSF sideband functions logically 2013-05-23 23:25:10 +02:00
intel_i2c.c drm/i915: Don't touch South Display when PCH_NOP 2013-04-08 20:53:00 +02:00
intel_lvds.c drm/i915: add encoder get_config function v5 2013-05-21 09:55:19 +02: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 Linux 3.10-rc2 2013-05-21 09:52:16 +02:00
intel_overlay.c drm/i915: avoid big kmallocs on reading error state 2013-05-23 12:59:25 +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: add haswell_update_sprite_wm 2013-05-31 20:53:52 +02:00
intel_ringbuffer.c drm/i915: track ring progression using seqnos 2013-05-31 20:53:54 +02:00
intel_ringbuffer.h drm/i915: track ring progression using seqnos 2013-05-31 20:53:54 +02:00
intel_sdvo.c drm/i915: add encoder get_config function v5 2013-05-21 09:55:19 +02:00
intel_sdvo_regs.h drm/i915: clear the entire sdvo infoframe buffer 2012-10-24 15:12:48 +02: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: add "enable" argument to intel_update_sprite_watermarks 2013-05-31 20:53:52 +02:00
intel_tv.c drm/i915: Organize VBT stuff inside drm_i915_private 2013-05-10 21:56:46 +02:00
Makefile drm/i915: group sideband register accessors to a new file 2013-05-23 23:24:03 +02:00