linux/drivers/gpu/drm/i915
Jiri Kosina ece4a17d23 drm/i915: read HEAD register back in init_ring_common() to enforce ordering
Withtout this, ring initialization fails reliabily during resume with

	[drm:init_ring_common] *ERROR* render ring initialization failed ctl 0001f001 head ffffff8804 tail 00000000 start 000e4000

This is not a complete fix, but it is verified to make the ring
initialization failures during resume much less likely.

We were not able to root-cause this bug (likely HW-specific to Gen4 chips)
yet. This is therefore used as a ducttape before problem is fully
understood and proper fix created, so that people don't suffer from
completely unusable systems in the meantime.

The discussion and debugging is happening at

	https://bugs.freedesktop.org/show_bug.cgi?id=76554

Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Cc: stable@vger.kernel.org
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2014-08-08 16:22:18 +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
dvo.h
i915_cmd_parser.c drm/i915: Add some L3 registers to the parser whitelist 2014-06-18 00:48:35 +02:00
i915_debugfs.c Merge remote-tracking branch 'airlied/drm-next' into drm-intel-next 2014-07-29 20:49:36 +02:00
i915_dma.c Linux 3.16 2014-08-05 09:04:59 +10:00
i915_drv.c Merge remote-tracking branch 'airlied/drm-next' into drm-intel-next 2014-07-29 20:49:36 +02:00
i915_drv.h drm/i915: Fix DEIER and GTIER collecting for BDW. 2014-08-07 14:04:08 +02:00
i915_gem_context.c drm/i915: Reorder ctx unref on ppgtt cleanup 2014-07-23 07:05:39 +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: Prevent negative relocation deltas from wrapping 2014-05-27 11:18:40 +03:00
i915_gem_execbuffer.c drm/i915: Extract the actual workload submission mechanism from execbuffer 2014-07-08 12:31:06 +02:00
i915_gem_gtt.c drm/i915: work around warning in i915_gem_gtt 2014-08-07 11:07:15 +02:00
i915_gem_gtt.h drm/i915: Added write-enable pte bit supportt 2014-06-17 09:21:47 +02:00
i915_gem_render_state.c drm/i915: fix freeze with blank screen booting highmem 2014-07-22 08:10:36 +02:00
i915_gem_stolen.c Linux 3.16 2014-08-05 09:04:59 +10: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/userptr: Keep spin_lock/unlock in the same block 2014-07-25 09:39:03 +02:00
i915_gem.c drm/i915: Bring GPU Freq to min while suspending. 2014-08-07 14:04:09 +02:00
i915_gpu_error.c drm/i915: Fix DEIER and GTIER collecting for BDW. 2014-08-07 14:04:08 +02:00
i915_ioc32.c drm: Remove DRM_ARRAY_SIZE() for ARRAY_SIZE() 2014-06-10 09:36:17 +10:00
i915_irq.c drm/i915: Don't accumulate hangcheck score on forward progress 2014-08-07 14:04:07 +02:00
i915_params.c drm/i915: reorganize the unclaimed register detection code 2014-07-23 07:05:36 +02:00
i915_reg.h drm/i915: Fix drain latency precision multipler for VLV 2014-08-07 11:07:21 +02:00
i915_suspend.c drm/i915: disable GT power saving early during system suspend 2014-05-22 21:53:27 +02:00
i915_sysfs.c drm/i915/chv: calculate rc6 residency correctly 2014-07-12 11:13:47 +02:00
i915_trace_points.c
i915_trace.h drm/i915: s/intel_ring_buffer/intel_engine_cs 2014-05-22 23:01:05 +02:00
i915_ums.c
intel_acpi.c
intel_bios.c drm/i915: Fix crash when failing to parse MIPI VBT 2014-08-08 16:22:18 +02:00
intel_bios.h drm/i915: Detect if MIPI panel based on VBT and initialize only if present 2014-06-05 08:52:33 +02:00
intel_crt.c Merge remote-tracking branch 'airlied/drm-next' into drm-intel-next 2014-07-29 20:49:36 +02:00
intel_ddi.c Merge tag 'drm-intel-next-2014-07-25-merged' of git://anongit.freedesktop.org/drm-intel into drm-next 2014-08-04 17:57:34 +10:00
intel_display.c drm/i915: Add correct hw/sw config check for DSI encoder 2014-08-07 11:07:17 +02:00
intel_dp_mst.c drm/i915: fix build without fbdev. 2014-07-22 20:11:29 +10:00
intel_dp.c drm/i915: Don't require dev->struct_mutex in psr_match_conditions 2014-08-07 11:07:18 +02:00
intel_drv.h drm/i915: factor out intel_edp_panel_vdd_sanitize 2014-08-07 11:07:16 +02:00
intel_dsi_cmd.c drm/i915: wait for all DSI FIFOs to be empty 2014-08-07 11:07:15 +02:00
intel_dsi_cmd.h drm/i915: wait for all DSI FIFOs to be empty 2014-08-07 11:07:15 +02:00
intel_dsi_panel_vbt.c drm/i915: Fix checkpatch errors 2014-06-11 16:57:33 +02:00
intel_dsi_pll.c drm/i915: Add correct hw/sw config check for DSI encoder 2014-08-07 11:07:17 +02:00
intel_dsi.c drm/i915: Add correct hw/sw config check for DSI encoder 2014-08-07 11:07:17 +02:00
intel_dsi.h drm/i915: Add correct hw/sw config check for DSI encoder 2014-08-07 11:07:17 +02:00
intel_dvo.c Merge tag 'drm-intel-next-2014-06-20' of git://anongit.freedesktop.org/drm-intel into drm-next 2014-07-09 10:38:42 +10:00
intel_fbdev.c drm/i915: fix initial fbdev setup warnings 2014-07-24 10:27:42 +10:00
intel_hdmi.c Merge remote-tracking branch 'airlied/drm-next' into drm-intel-next 2014-07-29 20:49:36 +02:00
intel_i2c.c drm/i915: Kill duplicated cdclk readout code from i2c 2014-07-07 11:27:52 +02:00
intel_lvds.c Linux 3.16 2014-08-05 09:04:59 +10:00
intel_modes.c
intel_opregion.c Linux 3.16 2014-08-05 09:04:59 +10:00
intel_overlay.c drm/i915: use helpers 2014-07-18 14:25:15 +10:00
intel_panel.c Linux 3.16 2014-08-05 09:04:59 +10:00
intel_pm.c drm/i915: Fix threshold for choosing 32 vs. 64 precisions for VLV DDL values 2014-08-07 11:07:22 +02:00
intel_renderstate_gen6.c drm/i915: Simplify processing of the golden render context state 2014-06-16 19:53:09 +02:00
intel_renderstate_gen7.c drm/i915: Simplify processing of the golden render context state 2014-06-16 19:53:09 +02:00
intel_renderstate_gen8.c drm/i915: Simplify processing of the golden render context state 2014-06-16 19:53:09 +02:00
intel_renderstate.h drm/i915: Simplify processing of the golden render context state 2014-06-16 19:53:09 +02:00
intel_ringbuffer.c drm/i915: read HEAD register back in init_ring_common() to enforce ordering 2014-08-08 16:22:18 +02:00
intel_ringbuffer.h drm/i915: Don't accumulate hangcheck score on forward progress 2014-08-07 14:04:07 +02:00
intel_sdvo_regs.h
intel_sdvo.c Merge tag 'topic/core-stuff-2014-06-30' of git://anongit.freedesktop.org/drm-intel into drm-next 2014-07-08 11:04:35 +10:00
intel_sideband.c drm/i915: vlv/chv: fix DSI sideband register accessing 2014-05-19 17:50:14 +02:00
intel_sprite.c Merge remote-tracking branch 'airlied/drm-next' into drm-intel-next 2014-07-29 20:49:36 +02:00
intel_tv.c drm: add register and unregister functions for connectors 2014-06-19 08:55:28 +02:00
intel_uncore.c drm/i915: BDW can also detect unclaimed registers 2014-07-23 07:05:37 +02:00
Kconfig drm/i915: Ditch UMS config option 2014-07-24 10:59:53 +02:00
Makefile drm/i915: add DP 1.2 MST support (v0.7) 2014-07-22 11:20:26 +10:00