mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2025-01-21 16:41:50 +07:00
0b72a251bf
When we allocate space in the GGTT we may have to allocate a larger
region than will be populated by the object to accommodate fencing. Make
sure that this space beyond the end of the buffer points safely into
scratch space, in case the HW tries to access it anyway (e.g. fenced
access to the last tile row).
v2: Preemptively / conservatively guard gen6 ggtt as well.
Reported-by: Imre Deak <imre.deak@intel.com>
References: https://gitlab.freedesktop.org/drm/intel/-/issues/1554
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Matthew Auld <matthew.auld@intel.com>
Cc: Imre Deak <imre.deak@intel.com>
Cc: stable@vger.kernel.org
Reviewed-by: Matthew Auld <matthew.auld@intel.com>
Reviewed-by: Imre Deak <imre.deak@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20200331152348.26946-1-chris@chris-wilson.co.uk
(cherry picked from commit
|
||
---|---|---|
.. | ||
selftests | ||
uc | ||
debugfs_engines.c | ||
debugfs_engines.h | ||
debugfs_gt_pm.c | ||
debugfs_gt_pm.h | ||
debugfs_gt.c | ||
debugfs_gt.h | ||
gen6_ppgtt.c | ||
gen6_ppgtt.h | ||
gen6_renderstate.c | ||
gen7_renderclear.c | ||
gen7_renderclear.h | ||
gen7_renderstate.c | ||
gen8_ppgtt.c | ||
gen8_ppgtt.h | ||
gen8_renderstate.c | ||
gen9_renderstate.c | ||
hsw_clear_kernel.c | ||
intel_breadcrumbs.c | ||
intel_context_param.c | ||
intel_context_param.h | ||
intel_context_sseu.c | ||
intel_context_types.h | ||
intel_context.c | ||
intel_context.h | ||
intel_engine_cs.c | ||
intel_engine_heartbeat.c | ||
intel_engine_heartbeat.h | ||
intel_engine_pm.c | ||
intel_engine_pm.h | ||
intel_engine_pool_types.h | ||
intel_engine_pool.c | ||
intel_engine_pool.h | ||
intel_engine_types.h | ||
intel_engine_user.c | ||
intel_engine_user.h | ||
intel_engine.h | ||
intel_ggtt.c | ||
intel_gpu_commands.h | ||
intel_gt_irq.c | ||
intel_gt_irq.h | ||
intel_gt_pm_irq.c | ||
intel_gt_pm_irq.h | ||
intel_gt_pm.c | ||
intel_gt_pm.h | ||
intel_gt_requests.c | ||
intel_gt_requests.h | ||
intel_gt_types.h | ||
intel_gt.c | ||
intel_gt.h | ||
intel_gtt.c | ||
intel_gtt.h | ||
intel_llc_types.h | ||
intel_llc.c | ||
intel_llc.h | ||
intel_lrc_reg.h | ||
intel_lrc.c | ||
intel_lrc.h | ||
intel_mocs.c | ||
intel_mocs.h | ||
intel_ppgtt.c | ||
intel_rc6_types.h | ||
intel_rc6.c | ||
intel_rc6.h | ||
intel_renderstate.c | ||
intel_renderstate.h | ||
intel_reset_types.h | ||
intel_reset.c | ||
intel_reset.h | ||
intel_ring_submission.c | ||
intel_ring_types.h | ||
intel_ring.c | ||
intel_ring.h | ||
intel_rps_types.h | ||
intel_rps.c | ||
intel_rps.h | ||
intel_sseu.c | ||
intel_sseu.h | ||
intel_timeline_types.h | ||
intel_timeline.c | ||
intel_timeline.h | ||
intel_workarounds_types.h | ||
intel_workarounds.c | ||
intel_workarounds.h | ||
ivb_clear_kernel.c | ||
mock_engine.c | ||
mock_engine.h | ||
selftest_context.c | ||
selftest_engine_cs.c | ||
selftest_engine_heartbeat.c | ||
selftest_engine_pm.c | ||
selftest_engine.c | ||
selftest_engine.h | ||
selftest_gt_pm.c | ||
selftest_hangcheck.c | ||
selftest_llc.c | ||
selftest_llc.h | ||
selftest_lrc.c | ||
selftest_mocs.c | ||
selftest_rc6.c | ||
selftest_rc6.h | ||
selftest_reset.c | ||
selftest_ring_submission.c | ||
selftest_timeline.c | ||
selftest_workarounds.c | ||
sysfs_engines.c | ||
sysfs_engines.h |