linux_dsm_epyc7002/drivers/char/agp
Chris Wilson 8516673a99 agp/intel: Flush all chipset writes after updating the GGTT
Before accessing the GGTT we must flush the PTE writes and make them
visible to the chipset, or else the indirect access may end up in the
wrong page. In commit 3497971a71 ("agp/intel: Flush chipset writes
after updating a single PTE"), we noticed corruption of the uploads for
pwrite and for capturing GPU error states, but it was presumed that the
explicit calls to intel_gtt_chipset_flush() were sufficient for the
execbuffer path. However, we have not been flushing the chipset between
the PTE writes and access via the GTT itself.

For simplicity, do the flush after any PTE update rather than try and
batch the flushes on a just-in-time basis.

References: 3497971a71 ("agp/intel: Flush chipset writes after updating a single PTE")
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Cc: Mika Kuoppala <mika.kuoppala@intel.com>
Cc: drm-intel-fixes@lists.freedesktop.org
Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20171208214616.30147-1-chris@chris-wilson.co.uk
2017-12-11 11:00:40 +00:00
..
agp.h agp: change agp_free_page_array to use kvfree 2015-01-29 12:37:41 +10:00
ali-agp.c agp: ali: constify pci_device_id. 2017-08-04 16:59:47 +10:00
alpha-agp.c mm, fs: reduce fault, page_mkwrite, and pfn_mkwrite to take only vmf 2017-02-24 17:46:54 -08:00
amd64-agp.c agp: amd64: constify pci_device_id. 2017-08-04 16:59:49 +10:00
amd-k7-agp.c agp: amd-k7: constify pci_device_id. 2017-08-04 16:59:45 +10:00
ati-agp.c agp: ati: constify pci_device_id. 2017-08-04 16:59:47 +10:00
backend.c agp: Fix up email address & attributions in AGP MODULE_AUTHOR tags 2014-12-23 20:03:10 +10:00
compat_ioctl.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
compat_ioctl.h agp: kill agp_flush_chipset and corresponding ioctl 2010-11-23 20:14:45 +00:00
efficeon-agp.c agp: efficeon: constify pci_device_id. 2017-08-04 16:59:48 +10:00
frontend.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
generic.c agp: use set_memory.h header 2017-05-08 17:15:13 -07:00
hp-agp.c [IA64] agp/hp-agp: Allow binding user memory to the AGP GART 2011-08-23 13:31:59 -07:00
i460-agp.c Drivers: char: remove __dev* attributes. 2013-01-03 15:57:15 -08:00
intel-agp.c agp: intel: constify pci_device_id. 2017-08-04 16:59:46 +10:00
intel-agp.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
intel-gtt.c agp/intel: Flush all chipset writes after updating the GGTT 2017-12-11 11:00:40 +00:00
isoch.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
Kconfig License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
nvidia-agp.c agp: nvidia: constify pci_device_id. 2017-08-04 16:59:50 +10:00
parisc-agp.c parisc: agp/parisc-agp: allow binding of user memory to the AGP GART 2013-07-31 23:42:00 +02:00
sgi-agp.c drivers/char: delete non-required instances of include <linux/init.h> 2014-02-07 15:10:19 -08:00
sis-agp.c agp: sis: constify pci_device_id. 2017-08-04 16:59:48 +10:00
sworks-agp.c agp: use set_memory.h header 2017-05-08 17:15:13 -07:00
uninorth-agp.c agp: uninorth: constify pci_device_id. 2017-08-04 16:59:43 +10:00
via-agp.c agp: Fix up email address & attributions in AGP MODULE_AUTHOR tags 2014-12-23 20:03:10 +10:00