linux_dsm_epyc7002/drivers/gpu/drm/i915
Chris Wilson e7b526bb85 drm/i915: Move non-phys cursors into the GTT
Cursors need to be in the GTT domain when being accessed by the GPU.
Previously this was a fortuitous byproduct of userspace using pwrite()
to upload the image data into the cursor. The redundant clflush was
removed in commit 9b8c4a and so the image was no longer being flushed
out of the caches into main memory. One could also devise a scenario
where the cursor was rendered by the GPU, prior to being attached as the
cursor, resulting in similar corruption due to the missing MI_FLUSH.

Fixes:

  Bug 28335 - Cursor corruption caused by commit 9b8c4a0b21
  https://bugs.freedesktop.org/show_bug.cgi?id=28335

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reported-and-tested-by: Jeff Chua <jeff.chua.linux@gmail.com>
Tested-by: Linus Torvalds <torvalds@linux-foundation.org>
Reported-by: Andy Isaacson <adi@hexapodia.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2010-06-05 20:37:37 -07:00
..
dvo_ch7xxx.c drm/i915: Remove dead KMS encoder save/restore code. 2010-04-12 09:23:30 -07:00
dvo_ch7017.c drm/i915: Remove dead KMS encoder save/restore code. 2010-04-12 09:23:30 -07:00
dvo_ivch.c drm/i915: Remove dead KMS encoder save/restore code. 2010-04-12 09:23:30 -07:00
dvo_sil164.c drm/i915: Remove dead KMS encoder save/restore code. 2010-04-12 09:23:30 -07:00
dvo_tfp410.c drm/i915: Remove dead KMS encoder save/restore code. 2010-04-12 09:23:30 -07:00
dvo.h drm/i915: Remove dead KMS encoder save/restore code. 2010-04-12 09:23:30 -07:00
i915_debugfs.c drm/i915: Clean up leftover bits from hws move to ring structure. 2010-05-26 14:51:47 -07:00
i915_dma.c Merge branch 'drm-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 2010-06-03 07:19:45 -07:00
i915_drv.c drm/i915: Storage class should be before const qualifier 2010-05-26 14:10:26 -07:00
i915_drv.h drm/i915: Clean up leftover bits from hws move to ring structure. 2010-05-26 14:51:47 -07:00
i915_gem_debug.c drm/i915: drop pointer to drm_gem_object 2010-04-20 13:23:14 +10:00
i915_gem_tiling.c drm/i915: don't allow tiling changes on pinned buffers v2 2010-05-10 13:38:30 -07:00
i915_gem.c drm/i915: Fix up address spaces in slow_kernel_write() 2010-05-28 11:03:29 -07:00
i915_ioc32.c drm: convert drm_ioctl to unlocked_ioctl 2009-12-18 11:22:31 +10:00
i915_irq.c drm/i915: Only print an message if there was an error 2010-05-28 10:39:25 -07:00
i915_mem.c drm: Remove memory debugging infrastructure. 2009-06-18 13:00:33 -07:00
i915_opregion.c drm/i915: set DIDL using the ACPI video output device _ADR method return. 2010-04-18 17:05:13 -07:00
i915_reg.h drm/i915: Unmask interrupt for render engine on Sandybridge 2010-05-28 11:17:26 -07:00
i915_suspend.c drm/i915: Only save/restore FBC on the platform that supports FBC 2010-04-12 09:25:54 -07:00
i915_trace_points.c drm/i915: Add tracepoints 2009-09-23 01:05:21 +01:00
i915_trace.h drm/i915: Convert more trace events to DEFINE_EVENT 2010-05-26 13:49:13 -07:00
intel_bios.c drm/i915: Honor sync polarity from VBT panel timing descriptors 2010-06-01 10:19:37 -07:00
intel_bios.h drm/i915: parse eDP panel color depth from VBT block 2010-01-15 14:12:47 -08:00
intel_crt.c drm/i915/gen4: Extra CRT hotplug paranoia 2010-05-26 13:53:20 -07:00
intel_display.c drm/i915: Move non-phys cursors into the GTT 2010-06-05 20:37:37 -07:00
intel_dp.c i915: remove unneeded null checks 2010-05-26 14:16:52 -07:00
intel_drv.h drm/fbdev: rework output polling to be back in the core. (v4) 2010-05-18 17:40:11 +10:00
intel_dvo.c Merge remote branch 'anholt/drm-intel-next' of /home/airlied/kernel/drm-next into drm-core-next 2010-04-20 13:11:45 +10:00
intel_fb.c drm/i915: Check error code whilst moving buffer to GTT domain. 2010-05-28 10:49:56 -07:00
intel_hdmi.c drm/i915: Fix HDMI mode select for Cougarpoint PCH 2010-05-26 14:14:52 -07:00
intel_i2c.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
intel_lvds.c Merge remote branch 'anholt/drm-intel-next' of /home/airlied/kernel/drm-next into drm-core-next 2010-04-20 13:11:45 +10:00
intel_modes.c Merge remote branch 'anholt/drm-intel-next' of /home/airlied/kernel/drm-next into drm-core-next 2010-04-20 13:11:45 +10:00
intel_overlay.c drm/i915: convert some gem structures to per-ring V2 2010-05-26 13:42:11 -07:00
intel_ringbuffer.c drm/i915: Fix PIPE_CONTROL command on Sandybridge 2010-05-28 11:11:23 -07:00
intel_ringbuffer.h drm/i915: introduce intel_ring_buffer structure (V2) 2010-05-26 13:24:49 -07:00
intel_sdvo_regs.h drm/i915: enable sdvo lvds scaling function. 2009-07-01 11:44:45 -07:00
intel_sdvo.c i915/intel_sdvo: remove unneeded null check 2010-05-26 14:16:35 -07:00
intel_tv.c Revert "drm/i915: Configure the TV sense state correctly on GM45 to make TV detection reliable" 2010-04-20 14:25:51 +10:00
Makefile drm/i915: Move ringbuffer-related code to intel_ringbuffer.c. 2010-05-26 12:36:00 -07:00