linux/drivers/gpu/drm/i915
Kristian Høgsberg 07f4f3e8a2 i915: Set object to gtt domain when faulting it back in
When a GEM object is evicted from the GTT we set it to the CPU domain,
as it might get swapped in and out or ever mmapped regularly.  If the
object is mmapped through the GTT it can still get evicted in this way
by other objects requiring GTT space.  When the GTT mapping is touched
again we fault it back into the GTT, but fail to set it back to the
GTT domain.  This means we fail to flush any cached CPU writes to the
pages backing the object which will then happen "eventually", typically
after we write to the page through the uncached GTT mapping.

[anholt: Note that userland does do a set_domain(GTT, GTT) when starting
to access the GTT mapping.  That covers getting the existing mapping of the
object synchronized if it's bound to the GTT.  But set_domain(GTT, GTT)
doesn't do anything if the object is currently unbound.  This fix covers the
transition to being bound for GTT mapping.]

Fixes glyph and other pixmap corruption during swapping.  fd.o bug #21790

Signed-off-by: Kristian Høgsberg <krh@redhat.com>
Signed-off-by: Eric Anholt <eric@anholt.net>
2009-05-27 13:06:47 -07:00
..
Makefile drm/i915: Convert i915 proc files to seq_file and move to debugfs. 2009-03-27 15:12:01 -07:00
dvo.h drm/i915: fix sparse warnings: move 'extern' decls to header file 2008-12-29 17:47:26 +10:00
dvo_ch7xxx.c DRM: i915: add mode setting support 2008-12-29 17:47:23 +10:00
dvo_ch7017.c DRM: i915: add mode setting support 2008-12-29 17:47:23 +10:00
dvo_ivch.c DRM: i915: add mode setting support 2008-12-29 17:47:23 +10:00
dvo_sil164.c DRM: i915: add mode setting support 2008-12-29 17:47:23 +10:00
dvo_tfp410.c DRM: i915: add mode setting support 2008-12-29 17:47:23 +10:00
i915_dma.c drm/i915: Add new GET_PIPE_FROM_CRTC_ID ioctl. 2009-05-14 16:00:32 -07:00
i915_drv.c drm/i915: Unregister ACPI video driver when exiting 2009-04-17 13:31:07 -07:00
i915_drv.h drm/i915: Fetch SDVO LVDS mode lines from VBT, then reserve them 2009-05-22 12:54:22 -07:00
i915_gem.c i915: Set object to gtt domain when faulting it back in 2009-05-27 13:06:47 -07:00
i915_gem_debug.c drm/i915: Add a spinlock to protect the active_list 2009-04-01 15:22:07 -07:00
i915_gem_debugfs.c drm/i915: Implement batch and ring buffer dumping 2009-04-08 10:18:06 -07:00
i915_gem_tiling.c drm/i915: Fix tiling pitch handling on 8xx. 2009-05-26 19:11:31 -07:00
i915_ioc32.c
i915_irq.c drm/i915: Don't let an oops get triggered from irq_emit without dma init. 2009-04-17 13:30:50 -07:00
i915_mem.c drm: move to kref per-master structures. 2008-12-29 17:47:22 +10:00
i915_opregion.c drm/i915: Enable ASLE if present 2009-04-17 13:31:09 -07:00
i915_reg.h drm/i915: Fix tiling pitch handling on 8xx. 2009-05-26 19:11:31 -07:00
i915_suspend.c drm/i915: save/restore fence registers across suspend/resume 2009-04-30 16:04:40 -07:00
intel_bios.c drm/i915: Fetch SDVO LVDS mode lines from VBT, then reserve them 2009-05-22 12:54:22 -07:00
intel_bios.h drm/i915: Fetch SDVO LVDS mode lines from VBT, then reserve them 2009-05-22 12:54:22 -07:00
intel_crt.c drm/i915: Add support for VGA load detection (pre-945). 2009-05-26 10:34:47 -07:00
intel_display.c i915: support 8xx desktop cursors 2009-05-22 12:31:14 -07:00
intel_drv.h drm/i915: Add new GET_PIPE_FROM_CRTC_ID ioctl. 2009-05-14 16:00:32 -07:00
intel_dvo.c drm/i915: fix sparse warnings: move 'extern' decls to header file 2008-12-29 17:47:26 +10:00
intel_fb.c sysrq, intel_fb: fix sysrq g collision 2009-05-15 07:56:24 -05:00
intel_hdmi.c drm/i915: Set HDMI hot plug interrupt enable for only the output in question. 2009-05-14 16:00:31 -07:00
intel_i2c.c drm/i915: workaround IGD i2c bus issue in kernel side (v2) 2009-05-14 16:00:26 -07:00
intel_lvds.c drm/i915: Fetch SDVO LVDS mode lines from VBT, then reserve them 2009-05-22 12:54:22 -07:00
intel_modes.c drm/i915: workaround IGD i2c bus issue in kernel side (v2) 2009-05-14 16:00:26 -07:00
intel_sdvo.c drm/i915: Use an I2C algo to do the flip to SDVO DDC bus. 2009-05-22 13:21:31 -07:00
intel_sdvo_regs.h drm/i915: Fix SDVO CREATE_PREFERRED_INPUT_TIMING command 2009-04-01 15:22:04 -07:00
intel_tv.c drm/i915: fix TV mode setting in property change 2009-04-01 15:22:00 -07:00