linux/drivers/gpu/drm/i915
Sagar Kamble 016970beb0 drm/i915: Sharing platform specific sequence between runtime and system suspend/ resume paths
On VLV, post S0i3 during i915_drm_thaw following issue is observed during ring
initialization.

[ 335.604039] [drm:stop_ring] ERROR render ring :timed out trying to stop ring
[ 336.607340] [drm:stop_ring] ERROR render ring :timed out trying to stop ring
[ 336.607345] [drm:init_ring_common] ERROR failed to set render ring head to zero ctl 00000000 head 00000000 tail 00000000 start 00000000
[ 337.610645] [drm:stop_ring] ERROR bsd ring :timed out trying to stop ring
[ 338.613952] [drm:stop_ring] ERROR bsd ring :timed out trying to stop ring
[ 338.613956] [drm:init_ring_common] ERROR failed to set bsd ring head to zero ctl 00000000 head 00000000 tail 00000000 start 00000000
[ 339.617256] [drm:stop_ring] ERROR render ring :timed out trying to stop ring
[ 339.617258] -----------[ cut here ]-----------
[ 339.617267] WARNING: CPU: 0 PID: 6 at drivers/gpu/drm/i915/intel_ringbuffer.c:1666 intel_cleanup_ring+0xe6/0xf0()
[ 339.617396] --[ end trace 5ef5ed1a3c92e2a6 ]--
[ 339.617428] [drm:__i915_drm_thaw] ERROR failed to re-initialize GPU, declaring wedged!

This is happening since wake is not enabled and Gunit registers are not restored.
For this system suspend/resume paths need to follow save/restore and additional
platform specific setup in suspend_complete and resume_prepare.

suspend_complete is shared unconditionaly for VLV, HSW, BDW. resume_prepare for
HSW and BDW has pc8 disabling which is needed during thaw_early so sharing
uncondtionally. For VLV and SNB runtime resume specific sequence exists.

Cc: Imre Deak <imre.deak@intel.com>
Cc: Paulo Zanoni <paulo.r.zanoni@intel.com>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: Jani Nikula <jani.nikula@linux.intel.com>
Cc: Goel, Akash <akash.goel@intel.com>
Signed-off-by: Sagar Kamble <sagar.a.kamble@intel.com>
Reviewed-by: Imre Deak <imre.deak@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2014-08-14 16:13:34 +02:00
..
dvo.h
dvo_ch7xxx.c
dvo_ch7017.c
dvo_ivch.c
dvo_ns2501.c
dvo_sil164.c
dvo_tfp410.c
i915_cmd_parser.c drm/i915: Fix up checks for aliasing ppgtt 2014-08-13 14:23:31 +02:00
i915_debugfs.c drm/i915: Only track real ppgtt for a context 2014-08-13 14:23:33 +02:00
i915_dma.c drm/i915: Localise the fbdev console lock frobbing 2014-08-13 15:39:23 +02:00
i915_drv.c drm/i915: Sharing platform specific sequence between runtime and system suspend/ resume paths 2014-08-14 16:13:34 +02:00
i915_drv.h drm/i915: Localise the fbdev console lock frobbing 2014-08-13 15:39:23 +02:00
i915_gem.c drm/i915: Rework ppgtt init to no require an aliasing ppgtt 2014-08-13 14:23:31 +02:00
i915_gem_context.c drm/i915: Drop create_vm argument to i915_gem_create_context 2014-08-13 14:23:33 +02:00
i915_gem_debug.c
i915_gem_dmabuf.c
i915_gem_evict.c
i915_gem_execbuffer.c drm/i915: Only track real ppgtt for a context 2014-08-13 14:23:33 +02:00
i915_gem_gtt.c drm/i915: Cleanup aliasging ppgtt alongside the global gtt 2014-08-13 14:23:35 +02:00
i915_gem_gtt.h drm/i915: Extract commmon global gtt cleanup code 2014-08-13 14:23:35 +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: Remove fenced_gpu_access and pending_fenced_gpu_access 2014-08-11 12:20:25 +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_gpu_error.c drm/i915: Only track real ppgtt for a context 2014-08-13 14:23:33 +02:00
i915_ioc32.c
i915_irq.c drm/i915/bdw: Interrupts with logical rings 2014-08-11 23:06:58 +02:00
i915_params.c drm/i915/bdw: Macro for LRCs and module option for Execlists 2014-08-11 16:00:27 +02:00
i915_reg.h drm/i915: Add support for variable cursor size on 845/865 2014-08-13 14:23:38 +02:00
i915_suspend.c
i915_sysfs.c drm/i915/chv: calculate rc6 residency correctly 2014-07-12 11:13:47 +02:00
i915_trace.h
i915_trace_points.c
i915_ums.c
intel_acpi.c
intel_bios.c drm/i915: Gather the HDMI level shifter logic into one place 2014-08-08 17:43:46 +02:00
intel_bios.h drm/i915: Add support for Video Burst Mode for MIPI DSI 2014-08-08 17:43:45 +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 drm/i915: Fix wrong number of HDMI translation entries 2014-08-11 11:29:29 +02:00
intel_display.c drm/i915: Add support for variable cursor size on 845/865 2014-08-13 14:23:38 +02:00
intel_dp.c drm/i915: Make hpd debug messages less cryptic 2014-08-11 19:32:15 +02:00
intel_dp_mst.c drm/i915: fix build without fbdev. 2014-07-22 20:11:29 +10:00
intel_drv.h drm/i915: Localise the fbdev console lock frobbing 2014-08-13 15:39:23 +02:00
intel_dsi.c drm/i915: Align intel_dsi*.c files a bit 2014-08-08 17:43:45 +02:00
intel_dsi.h drm/i915: Add support for Video Burst Mode for MIPI DSI 2014-08-08 17:43:45 +02:00
intel_dsi_cmd.c drm/i915: Align intel_dsi*.c files a bit 2014-08-08 17:43:45 +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: Add support for Video Burst Mode for MIPI DSI 2014-08-08 17:43:45 +02:00
intel_dsi_pll.c drm/i915: Align intel_dsi*.c files a bit 2014-08-08 17:43:45 +02:00
intel_dvo.c
intel_fbdev.c drm/i915: Localise the fbdev console lock frobbing 2014-08-13 15:39:23 +02:00
intel_hdmi.c drm/i915: Introduce a for_each_intel_encoder() macro 2014-08-08 17:43:50 +02:00
intel_i2c.c
intel_lrc.c drm/i915: Only track real ppgtt for a context 2014-08-13 14:23:33 +02:00
intel_lrc.h drm/i915/bdw: New logical ring submission mechanism 2014-08-11 22:42:36 +02:00
intel_lvds.c drm/i915: Introduce a for_each_intel_encoder() macro 2014-08-08 17:43:50 +02: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: Remove set but unused 'gt_perf_status' 2014-08-11 13:27:34 +02:00
intel_renderstate.h
intel_renderstate_gen6.c
intel_renderstate_gen7.c
intel_renderstate_gen8.c
intel_ringbuffer.c drm/i915: Fix up checks for aliasing ppgtt 2014-08-13 14:23:31 +02:00
intel_ringbuffer.h drm/i915/bdw: GEN-specific logical ring emit batchbuffer start 2014-08-11 23:12:34 +02:00
intel_sdvo.c
intel_sdvo_regs.h
intel_sideband.c
intel_sprite.c drm/i915: Add rotation property for sprites 2014-08-08 17:43:53 +02:00
intel_tv.c
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/bdw: New source and header file for LRs, LRCs and Execlists 2014-08-11 16:00:07 +02:00