linux_dsm_epyc7002/drivers/gpu/drm/i915
Chris Wilson 372fbb8e39 drm/i915: Decouple GPU error reporting from ring initialisation
Currently we report through our error state only the rings that have
been initialised (as detected by ring->obj). This check is done after
the GPU reset and ring re-initialisation, which means that the software
state may not be the same as when we captured the hardware error and we
may not print out any of the vital information for debugging the hang.

This (and the implied object leak) is a regression from

commit 3d57e5bd12
Author: Ben Widawsky <ben@bwidawsk.net>
Date:   Mon Oct 14 10:01:36 2013 -0700

    drm/i915: Do a fuller init after reset

Note that we are already starting to get bug reports with incomplete
error states from 3.13, which also hampers debugging userspace driver
issues.

v2: Prevent a NULL dereference on 830gm/845g after a GPU reset where
    the scratch obj may be NULL.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Ben Widawsky <ben@bwidawsk.net>
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
References: https://bugs.freedesktop.org/show_bug.cgi?id=74094
Cc: stable@vger.kernel.org # please don't delay since it's a
vital support/debug feature for the intel gfx stack in general
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
[danvet: Add a bit of fluff to make it clear we need this expedited in
stable.]
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2014-01-27 17:10:33 +01:00
..
dvo_ch7xxx.c
dvo_ch7017.c
dvo_ivch.c
dvo_ns2501.c drm/i915/ns2501: Rip out the reenable hack 2013-11-04 16:32:31 +01:00
dvo_sil164.c
dvo_tfp410.c
dvo.h drm/i915: Remove unused mode_fixup() vfunc of struct intel_dvo_dev_ops 2013-09-05 21:39:59 +02:00
i915_debugfs.c drm/i915/vlv: Add drpc debugfs support for valleyview 2014-01-10 18:00:14 +01:00
i915_dma.c i915: remove pm_qos request on error 2014-01-25 12:52:48 +01:00
i915_drv.c i915: send D1 opregion notification 2014-01-22 10:34:36 +01:00
i915_drv.h drm/i915: Decouple GPU error reporting from ring initialisation 2014-01-27 17:10:33 +01:00
i915_gem_context.c Merge commit origin/master into drm-intel-next 2014-01-16 22:06:30 +01:00
i915_gem_debug.c
i915_gem_dmabuf.c drm/i915: Pin pages whilst allocating for dma-buf vmap() 2013-11-29 15:51:20 +01:00
i915_gem_evict.c drm/i915: Repeat evictions whilst pageflip completions are outstanding 2014-01-22 10:34:41 +01:00
i915_gem_execbuffer.c drm/i915: Clarify relocation errnos 2014-01-22 09:58:25 +01:00
i915_gem_gtt.c Merge commit origin/master into drm-intel-next 2014-01-16 22:06:30 +01:00
i915_gem_stolen.c drm/i915: grab a pages pin count for preallocate stolen 2013-12-18 13:25:29 +01:00
i915_gem_tiling.c drm/i915: prevent tiling changes on framebuffer backing storage 2013-10-16 22:04:52 +02:00
i915_gem.c drm/i915: Wait for completion of pending flips when starved of fences 2014-01-22 10:34:40 +01:00
i915_gpu_error.c drm/i915: Decouple GPU error reporting from ring initialisation 2014-01-27 17:10:33 +01:00
i915_ioc32.c
i915_irq.c drm/i915: Add a kludge for DSL incrementing too late and ISR not working 2014-01-20 12:21:36 +02:00
i915_reg.h Revert "drm/i915: Mask reserved bits in display/sprite address registers" 2014-01-24 17:22:00 +01:00
i915_suspend.c drm/i915: Drop I915_ prefix from HAS_FBC 2014-01-10 10:28:28 +01:00
i915_sysfs.c drm/i915: add some runtime PM get/put calls 2013-12-10 22:50:17 +01:00
i915_trace_points.c
i915_trace.h drm/i915: Add a tracepoint for using a semaphore 2013-10-01 07:45:24 +02:00
i915_ums.c drm/i915: do not save/restore backlight registers in KMS 2013-11-14 12:22:32 +01:00
intel_acpi.c ACPI: Eliminate the DEVICE_ACPI_HANDLE() macro 2013-11-14 23:17:21 +01:00
intel_bios.c drm/i915: parse backlight modulation frequency from the BIOS VBT 2013-12-16 10:02:48 +01:00
intel_bios.h drm/i915: parse backlight modulation frequency from the BIOS VBT 2013-12-16 10:02:48 +01:00
intel_crt.c drm/i915: Return a drm_mode_status enum in the mode_valid vfuncs 2013-11-28 16:49:33 +01:00
intel_ddi.c Merge branch 'drm-intel-next' of git://people.freedesktop.org/~danvet/drm-intel into drm-next 2014-01-20 10:21:54 +10:00
intel_display.c Revert "drm/i915: Mask reserved bits in display/sprite address registers" 2014-01-24 17:22:00 +01:00
intel_dp.c drm/i915: VLV2 - Fix hotplug detect bits 2014-01-23 11:51:10 +01:00
intel_drv.h drm/i915: Wait for completion of pending flips when starved of fences 2014-01-22 10:34:40 +01:00
intel_dsi_cmd.c drm/i915/dsi: s/size_t/int/ 2013-09-04 17:34:51 +02:00
intel_dsi_cmd.h drm/i915/dsi: s/size_t/int/ 2013-09-04 17:34:51 +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_dsi.c drm/i915: Parametrize the dphy and other spec specific parameters 2013-12-11 23:52:20 +01:00
intel_dsi.h drm/i915: Parametrize the dphy and other spec specific parameters 2013-12-11 23:52:20 +01:00
intel_dvo.c drm/i915: Return a drm_mode_status enum in the mode_valid vfuncs 2013-11-28 16:49:33 +01:00
intel_fbdev.c drm/i915: remove duplicate MODULE_LICENSE definition 2014-01-07 10:20:47 +01:00
intel_hdmi.c drm/i915: Don't cast away const from infoframe buffer 2013-12-10 14:49:04 +01:00
intel_i2c.c drm/i915/vlv: split CCK and DDR freq usage 2013-11-05 19:28:47 +01:00
intel_lvds.c drm/i915: Make downclock deduction common for all panels 2013-12-10 13:26:15 +01:00
intel_modes.c
intel_opregion.c drm/i915: Eliminate lots of WARNs when there's no backlight present 2014-01-22 10:34:38 +01:00
intel_overlay.c drm/i915: No panel fitter on 830M or non-mobile gen2/3 platforms 2014-01-10 18:03:17 +01:00
intel_panel.c drm/i915: Eliminate lots of WARNs when there's no backlight present 2014-01-22 10:34:38 +01:00
intel_pm.c Merge commit origin/master into drm-intel-next 2014-01-16 22:06:30 +01:00
intel_ringbuffer.c drm/i915: Fix disabled semaphores 2014-01-22 09:58:26 +01:00
intel_ringbuffer.h drm/i915: Write RING_TAIL once per-request 2013-09-10 15:35:58 +02:00
intel_sdvo_regs.h drm/i915: use __packed instead of __attribute__((packed)) 2013-12-03 18:19:49 +01:00
intel_sdvo.c drm/i915: Don't cast away const from infoframe buffer 2013-12-10 14:49:04 +01:00
intel_sideband.c drm/i915: Use FLISDSI interface for band gap reset 2013-12-11 23:52:17 +01:00
intel_sprite.c Revert "drm/i915: Mask reserved bits in display/sprite address registers" 2014-01-24 17:22:00 +01:00
intel_tv.c drm/i915/tv: add ->get_config callback 2013-11-18 22:24:33 +01:00
intel_uncore.c drm/i915: Allow reading the TIMESTAMP register on Gen8. 2014-01-22 10:48:09 +01:00
Kconfig i915, fbdev: Fix Kconfig typo 2013-11-21 21:59:02 +01:00
Makefile drm/i915: only build i915_debugfs.c when CONFIG_DEBUG_FS is enabled 2013-12-16 16:53:32 +01:00