linux_dsm_epyc7002/drivers/gpu/drm/i915
Daniel Vetter 15a13bbdff drm/i915: clear fencing tracking state when retiring requests
This fixes a resume regression introduced in

commit 7dd4906586
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Wed Mar 21 10:48:18 2012 +0000

    drm/i915: Mark untiled BLT commands as fenced on gen2/3

which fixed fencing tracking for untiled blt commands.

A side effect of that patch was that now also untiled objects have a
non-zero obj->last_fenced_seqno to track when a fence can be set up
after a pipelined tiling change. Unfortunately this was only cleared
by the fence setup and teardown code, resulting in tons of untiled but
inactive objects with non-zero last_fenced_seqno.

Now after resume we completely reset the seqno tracking, both on the
driver side (by setting dev_priv->next_seqno = 1) and on the hw side
(by allocating a new hws page, which contains the seqnos). Hilarity
and indefinite waits ensued from the stale seqnos in
obj->last_fenced_seqno from before the suspend.

The fix is to properly clear the fencing tracking state like we
already do for the normal gpu rendering while moving objects off the
active list.

Reported-and-tested-by: "Rafael J. Wysocki" <rjw@sisk.pl>
Cc: Jiri Slaby <jslaby@suse.cz>
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-Off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2012-04-12 09:02:37 +02:00
..
dvo_ch7xxx.c Drivers: i915: Fix all space related issues. 2011-09-19 18:01:47 -07:00
dvo_ch7017.c Drivers: i915: Fix all space related issues. 2011-09-19 18:01:47 -07:00
dvo_ivch.c Drivers: i915: Fix all space related issues. 2011-09-19 18:01:47 -07:00
dvo_sil164.c Drivers: i915: Fix all space related issues. 2011-09-19 18:01:47 -07:00
dvo_tfp410.c Drivers: i915: Fix all space related issues. 2011-09-19 18:01:47 -07:00
dvo.h drm/i915: Subclass intel_encoder. 2010-08-09 11:24:28 -07:00
i915_debugfs.c simple_open: automatically convert to simple_open() 2012-04-05 15:25:50 -07:00
i915_dma.c drm/i915: don't leak struct_mutex lock on ppgtt init failures 2012-04-03 10:25:33 +02:00
i915_drv.c drm/i915: make rc6 module parameter read-only 2012-04-11 21:36:38 +02:00
i915_drv.h drm/i915: disable ppgtt on snb when dmar is enabled 2012-04-02 15:59:07 +02:00
i915_gem_debug.c drm/i915: drop KM_USER0 argument to k(un)map_atomic 2011-10-20 15:26:37 -07:00
i915_gem_evict.c drm/i915: No need to search again after retiring requests 2012-02-27 17:37:13 +01:00
i915_gem_execbuffer.c drm/i915: Mark untiled BLT commands as fenced on gen2/3 2012-04-01 12:26:05 +02:00
i915_gem_gtt.c drm/i915: properly restore the ppgtt page directory on resume 2012-04-01 12:25:29 +02:00
i915_gem_tiling.c drm/i915: swizzling support for snb/ivb 2012-02-08 23:16:24 +01:00
i915_gem.c drm/i915: clear fencing tracking state when retiring requests 2012-04-12 09:02:37 +02:00
i915_ioc32.c drm: convert drm_ioctl to unlocked_ioctl 2009-12-18 11:22:31 +10:00
i915_irq.c drm/i915: Record the position of the request upon error 2012-02-15 14:27:18 +01:00
i915_reg.h drm/i915: implement ColorBlt w/a 2012-04-11 12:16:53 +02:00
i915_suspend.c drm/i915: Re-enable gen7 RC6 and GPU turbo after resume. 2012-01-24 13:25:10 -08:00
i915_trace_points.c drm/i915: Add tracepoints 2009-09-23 01:05:21 +01:00
i915_trace.h Drivers: i915: Fix all space related issues. 2011-09-19 18:01:47 -07:00
intel_acpi.c drm/i915: Silence _DSM errors 2012-01-16 21:08:19 +01:00
intel_bios.c drm/i915: quirk away broken OpRegion VBT 2012-04-01 12:29:44 +02:00
intel_bios.h drm/i915: VBT Parser cleanup for eDP block 2012-01-13 08:37:44 -08:00
intel_crt.c drm/i915: don't allow interlaced pipeconf on gen2 2012-02-10 17:28:45 +01:00
intel_display.c drm/i915: implement ColorBlt w/a 2012-04-11 12:16:53 +02:00
intel_dp.c drm/i915: properly compute dp dithering for user-created modes 2012-04-10 19:23:02 +02:00
intel_drv.h drm/i915: suspend fbdev device around suspend/hibernate 2012-03-29 07:44:27 +01:00
intel_dvo.c drm/i915: fixup interlaced vertical timings confusion, part 1 2012-02-10 17:24:06 +01:00
intel_fb.c drm/i915: suspend fbdev device around suspend/hibernate 2012-03-29 07:44:27 +01:00
intel_hdmi.c drm/i915: add a "force-dvi" HDMI audio mode 2012-02-14 10:03:18 +01:00
intel_i2c.c Revert "drm/i915: reenable gmbus on gen3+ again" 2012-04-11 12:11:23 +02:00
intel_lvds.c drm/i915: no-lvds quirk on MSI DC500 2012-04-03 10:44:05 +02:00
intel_modes.c drm/i915: use DDC_ADDR instead of hard-coding it 2012-03-21 10:20:38 +00:00
intel_opregion.c Drivers: i915: Fix all space related issues. 2011-09-19 18:01:47 -07:00
intel_overlay.c Revert "drivers/gpu/drm/i915/intel_overlay.c needs seq_file.h" 2012-02-16 10:31:23 +01:00
intel_panel.c drm/i915: fixup interlaced vertical timings confusion, part 1 2012-02-10 17:24:06 +01:00
intel_ringbuffer.c drm/i915/ringbuffer: Exclude last 2 cachlines of ring on 845g 2012-04-11 12:14:24 +02:00
intel_ringbuffer.h drm/i915: Record the tail at each request and use it to estimate the head 2012-02-15 14:26:03 +01:00
intel_sdvo_regs.h misc latin1 to utf8 conversions 2012-01-02 13:04:55 +01:00
intel_sdvo.c drm/i915: use the new hdmi_force_audio enum more 2012-02-27 17:45:36 +01:00
intel_sprite.c drm/i915: Removed IVB forced enable of sprite dest key. 2012-04-09 21:53:20 +02:00
intel_tv.c drm/i915: fixup interlaced vertical timings confusion, part 1 2012-02-10 17:24:06 +01:00
Makefile drm/i915: kill i915_mem.c 2012-01-17 20:01:01 +01:00