1
0
Fork 0
mirror of synced 2025-03-06 20:59:54 +01:00
linux/drivers/gpu/drm/i915/gt
Simon Rettberg 023dfa9602 drm/i915/gt: Disable HiZ Raw Stall Optimization on broken gen7
When resetting CACHE_MODE registers, don't enable HiZ Raw Stall
Optimization on Ivybridge GT1 and Baytrail, as it causes severe glitches
when rendering any kind of 3D accelerated content.
This optimization is disabled on these platforms by default according to
official documentation from 01.org.

Fixes: ef99a60ffd ("drm/i915/gt: Clear CACHE_MODE prior to clearing residuals")
BugLink: https://gitlab.freedesktop.org/drm/intel/-/issues/3081
BugLink: https://gitlab.freedesktop.org/drm/intel/-/issues/3404
BugLink: https://gitlab.freedesktop.org/drm/intel/-/issues/3071
Reviewed-by: Manuel Bentele <development@manuel-bentele.de>
Signed-off-by: Simon Rettberg <simon.rettberg@rz.uni-freiburg.de>
Reviewed-by: Dave Airlie <airlied@redhat.com>
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
[Rodrigo removed invalid Fixes line]
Link: https://patchwork.freedesktop.org/patch/msgid/20210426161124.2b7fd708@dellnichtsogutkiste
(cherry picked from commit 929b734ad3)
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
2021-05-19 10:10:28 +03:00
..
selftests drm/i915: Serialise i915_active_fence_set() with itself 2019-11-27 17:02:14 +00:00
shaders drm/i915: Include asm sources for {ivb, hsw}_clear_kernel.c 2020-06-29 11:29:12 +03:00
uc Merge tag 'drm-intel-gt-next-2021-04-06' of git://anongit.freedesktop.org/drm/drm-intel into drm-next 2021-04-08 12:46:12 +10:00
debugfs_engines.c drm/i915/gt: allow setting generic data pointer 2020-03-26 21:20:51 +00:00
debugfs_engines.h drm/i915/gt: Move pm debug files into a gt aware debugfs 2019-12-22 15:25:10 +00:00
debugfs_gt.c drm/i915/gt: Add some missing blank lines after declaration 2021-03-24 19:30:35 +01:00
debugfs_gt.h drm/i915/gt: allow setting generic data pointer 2020-03-26 21:20:51 +00:00
debugfs_gt_pm.c drm/i915: Drop i915_request.lock requirement for intel_rps_boost() 2020-12-31 15:15:05 +00:00
debugfs_gt_pm.h drm/i915/gt: Move pm debug files into a gt aware debugfs 2019-12-22 15:25:10 +00:00
gen2_engine_cs.c drm/i915: Do not share hwsp across contexts any more, v8. 2021-03-24 11:38:56 +01:00
gen2_engine_cs.h drm/i915/gt: Split low level gen2-7 CS emitters 2020-06-02 10:42:00 +01:00
gen6_engine_cs.c drm/i915: Do not share hwsp across contexts any more, v8. 2021-03-24 11:38:56 +01:00
gen6_engine_cs.h drm/i915/gt: Split low level gen2-7 CS emitters 2020-06-02 10:42:00 +01:00
gen6_ppgtt.c drm/i915/gt: Prune inlines 2021-01-14 15:40:57 +00:00
gen6_ppgtt.h drm/i915/gt: Replace unnecessary ',' with '; ' 2021-03-24 19:30:35 +01:00
gen6_renderstate.c drm/i915/gt: SPDX cleanup 2021-03-24 19:30:34 +01:00
gen7_renderclear.c drm/i915/gt: Disable HiZ Raw Stall Optimization on broken gen7 2021-05-19 10:10:28 +03:00
gen7_renderclear.h drm/i915/gen7: Clear all EU/L3 residual contexts 2020-03-06 08:59:06 +00:00
gen7_renderstate.c drm/i915/gt: SPDX cleanup 2021-03-24 19:30:34 +01:00
gen8_engine_cs.c Merge tag 'drm-intel-next-2021-04-01' of git://anongit.freedesktop.org/drm/drm-intel into drm-next 2021-04-08 14:02:21 +10:00
gen8_engine_cs.h drm/i915/gt: Move gen8 CS emitters into gen8_engine_cs.h 2020-12-16 15:55:43 +00:00
gen8_ppgtt.c drm/i915/gt: Fix a double free in gen8_preallocate_top_level_pdp 2021-05-12 20:52:40 +03:00
gen8_ppgtt.h drm/i915/gtt: split up i915_gem_gtt 2020-01-07 19:27:36 +00:00
gen8_renderstate.c drm/i915/gt: SPDX cleanup 2021-03-24 19:30:34 +01:00
gen9_renderstate.c drm/i915/gt: SPDX cleanup 2021-03-24 19:30:34 +01:00
hsw_clear_kernel.c drm/i915/gen7: Clear all EU/L3 residual contexts 2020-03-06 08:59:06 +00:00
intel_breadcrumbs.c drm/i915/gt: SPDX cleanup 2021-03-24 19:30:34 +01:00
intel_breadcrumbs.h drm/i915/gt: Restore ce->signal flush before releasing virtual engine 2021-01-08 21:35:55 +00:00
intel_breadcrumbs_types.h drm/i915/gt: Shrink the critical section for irq signaling 2020-12-24 15:02:39 +00:00
intel_context.c drm/i915/gt: SPDX cleanup 2021-03-24 19:30:34 +01:00
intel_context.h drm/i915/gt: SPDX cleanup 2021-03-24 19:30:34 +01:00
intel_context_param.c drm/i915: Allow userspace to specify ringsize on construction 2020-02-25 19:23:19 +00:00
intel_context_param.h drm/i915: Fail too long user submissions by default 2021-03-26 01:01:27 +01:00
intel_context_sseu.c drm/i915/gt: Split logical ring contexts from execlist submission 2020-12-21 09:53:48 +00:00
intel_context_types.h Merge tag 'drm-intel-gt-next-2021-04-06' of git://anongit.freedesktop.org/drm/drm-intel into drm-next 2021-04-08 12:46:12 +10:00
intel_engine.h drm/i915/gt: Another tweak for flushing the tasklets 2020-12-20 18:15:17 +00:00
intel_engine_cs.c Merge tag 'drm-intel-gt-next-2021-04-06' of git://anongit.freedesktop.org/drm/drm-intel into drm-next 2021-04-08 12:46:12 +10:00
intel_engine_heartbeat.c Merge tag 'drm-intel-gt-next-2021-04-06' of git://anongit.freedesktop.org/drm/drm-intel into drm-next 2021-04-08 12:46:12 +10:00
intel_engine_heartbeat.h drm/i915/gt: SPDX cleanup 2021-03-24 19:30:34 +01:00
intel_engine_pm.c Merge tag 'drm-intel-gt-next-2021-04-06' of git://anongit.freedesktop.org/drm/drm-intel into drm-next 2021-04-08 12:46:12 +10:00
intel_engine_pm.h drm/i915/gt: SPDX cleanup 2021-03-24 19:30:34 +01:00
intel_engine_stats.h drm/i915/gt: Convert stats.active to plain unsigned int 2021-01-15 21:30:24 +00:00
intel_engine_types.h drm/i915/gt: SPDX cleanup 2021-03-24 19:30:34 +01:00
intel_engine_user.c drm for 5.13-rc1 2021-04-28 10:01:40 -07:00
intel_engine_user.h drm/i915/gt: SPDX cleanup 2021-03-24 19:30:34 +01:00
intel_execlists_submission.c Merge tag 'drm-intel-gt-next-2021-04-06' of git://anongit.freedesktop.org/drm/drm-intel into drm-next 2021-04-08 12:46:12 +10:00
intel_execlists_submission.h drm/i915: Request watchdog infrastructure 2021-03-26 00:58:52 +01:00
intel_ggtt.c Merge tag 'drm-intel-next-2021-04-01' of git://anongit.freedesktop.org/drm/drm-intel into drm-next 2021-04-08 14:02:21 +10:00
intel_ggtt_fencing.c drm/i915: Read C0DRB3/C1DRB3 as 16 bits again 2021-05-12 20:52:32 +03:00
intel_ggtt_fencing.h drm/i915/gt: SPDX cleanup 2021-03-24 19:30:34 +01:00
intel_gpu_commands.h drm/i915/gt: SPDX cleanup 2021-03-24 19:30:34 +01:00
intel_gt.c Merge tag 'drm-intel-gt-next-2021-04-06' of git://anongit.freedesktop.org/drm/drm-intel into drm-next 2021-04-08 12:46:12 +10:00
intel_gt.h Merge tag 'drm-intel-gt-next-2021-04-06' of git://anongit.freedesktop.org/drm/drm-intel into drm-next 2021-04-08 12:46:12 +10:00
intel_gt_buffer_pool.c drm/i915: Defer pin calls in buffer pool until first use by caller. 2021-03-24 17:27:20 +01:00
intel_gt_buffer_pool.h drm/i915: Defer pin calls in buffer pool until first use by caller. 2021-03-24 17:27:20 +01:00
intel_gt_buffer_pool_types.h Merge tag 'drm-intel-gt-next-2021-04-06' of git://anongit.freedesktop.org/drm/drm-intel into drm-next 2021-04-08 12:46:12 +10:00
intel_gt_clock_utils.c drm/i915/gt: Remove a bonus newline 2021-03-24 19:30:35 +01:00
intel_gt_clock_utils.h drm/i915/gt: Consolidate the CS timestamp clocks 2020-12-23 21:10:41 +00:00
intel_gt_irq.c drm/i915/gt: SPDX cleanup 2021-03-24 19:30:34 +01:00
intel_gt_irq.h drm/i915/gt: SPDX cleanup 2021-03-24 19:30:34 +01:00
intel_gt_pm.c drm/i915/gt: SPDX cleanup 2021-03-24 19:30:34 +01:00
intel_gt_pm.h drm/i915/gt: SPDX cleanup 2021-03-24 19:30:34 +01:00
intel_gt_pm_irq.c drm/i915/gt: SPDX cleanup 2021-03-24 19:30:34 +01:00
intel_gt_pm_irq.h drm/i915/gt: SPDX cleanup 2021-03-24 19:30:34 +01:00
intel_gt_requests.c Merge tag 'drm-intel-gt-next-2021-04-06' of git://anongit.freedesktop.org/drm/drm-intel into drm-next 2021-04-08 12:46:12 +10:00
intel_gt_requests.h drm/i915/gt: SPDX cleanup 2021-03-24 19:30:34 +01:00
intel_gt_types.h drm/i915: Request watchdog infrastructure 2021-03-26 00:58:52 +01:00
intel_gtt.c drm/i915: Use a single page table lock for each gtt. 2021-03-24 17:30:37 +01:00
intel_gtt.h Merge tag 'drm-intel-gt-next-2021-04-06' of git://anongit.freedesktop.org/drm/drm-intel into drm-next 2021-04-08 12:46:12 +10:00
intel_llc.c drm/i915/gt: SPDX cleanup 2021-03-24 19:30:34 +01:00
intel_llc.h drm/i915/gt: SPDX cleanup 2021-03-24 19:30:34 +01:00
intel_llc_types.h drm/i915/gt: SPDX cleanup 2021-03-24 19:30:34 +01:00
intel_lrc.c Merge tag 'drm-intel-gt-next-2021-04-06' of git://anongit.freedesktop.org/drm/drm-intel into drm-next 2021-04-08 12:46:12 +10:00
intel_lrc.h drm/i915/gt: Exercise lrc_wa_ctx initialisation failure 2021-01-09 16:02:57 +00:00
intel_lrc_reg.h drm/i915/gt: Wrap macro arg in () 2021-03-24 19:30:35 +01:00
intel_mocs.c drm/i915/gt: SPDX cleanup 2021-03-24 19:30:34 +01:00
intel_mocs.h drm/i915/gt: SPDX cleanup 2021-03-24 19:30:34 +01:00
intel_ppgtt.c Merge tag 'drm-intel-gt-next-2021-04-06' of git://anongit.freedesktop.org/drm/drm-intel into drm-next 2021-04-08 12:46:12 +10:00
intel_rc6.c drm/i915/gt: Remove a bonus newline 2021-03-24 19:30:35 +01:00
intel_rc6.h drm/i915/gt: SPDX cleanup 2021-03-24 19:30:34 +01:00
intel_rc6_types.h drm/i915/gt: SPDX cleanup 2021-03-24 19:30:34 +01:00
intel_region_lmem.c drm/i915: Distinction of memory regions 2021-03-24 19:31:58 +01:00
intel_region_lmem.h drm/i915: setup the LMEM region 2021-03-24 19:30:36 +01:00
intel_renderstate.c Merge tag 'drm-intel-gt-next-2021-04-06' of git://anongit.freedesktop.org/drm/drm-intel into drm-next 2021-04-08 12:46:12 +10:00
intel_renderstate.h drm/i915/gt: SPDX cleanup 2021-03-24 19:30:34 +01:00
intel_reset.c Merge tag 'drm-intel-gt-next-2021-04-06' of git://anongit.freedesktop.org/drm/drm-intel into drm-next 2021-04-08 12:46:12 +10:00
intel_reset.h drm/i915/gt: SPDX cleanup 2021-03-24 19:30:34 +01:00
intel_reset_types.h drm/i915/gt: Remove repeated words from comments 2021-03-24 19:30:35 +01:00
intel_ring.c drm/i915: allocate cmd ring in lmem 2021-03-24 19:30:36 +01:00
intel_ring.h drm/i915/gt: Add some missing blank lines after declaration 2021-03-24 19:30:35 +01:00
intel_ring_submission.c Merge tag 'drm-intel-gt-next-2021-04-06' of git://anongit.freedesktop.org/drm/drm-intel into drm-next 2021-04-08 12:46:12 +10:00
intel_ring_types.h drm/i915/gt: SPDX cleanup 2021-03-24 19:30:34 +01:00
intel_rps.c drm/i915/gt: SPDX cleanup 2021-03-24 19:30:34 +01:00
intel_rps.h drm/i915/gt: SPDX cleanup 2021-03-24 19:30:34 +01:00
intel_rps_types.h drm/i915/gt: SPDX cleanup 2021-03-24 19:30:34 +01:00
intel_sseu.c drm/i915/gt: SPDX cleanup 2021-03-24 19:30:34 +01:00
intel_sseu.h drm/i915/gt: SPDX cleanup 2021-03-24 19:30:34 +01:00
intel_sseu_debugfs.c drm/i915: Move sseu debugfs under gt/ 2020-07-08 21:40:15 +01:00
intel_sseu_debugfs.h drm/i915: Move sseu debugfs under gt/ 2020-07-08 21:40:15 +01:00
intel_timeline.c Merge tag 'drm-intel-gt-next-2021-04-06' of git://anongit.freedesktop.org/drm/drm-intel into drm-next 2021-04-08 12:46:12 +10:00
intel_timeline.h Merge tag 'drm-intel-gt-next-2021-04-06' of git://anongit.freedesktop.org/drm/drm-intel into drm-next 2021-04-08 12:46:12 +10:00
intel_timeline_types.h Merge tag 'drm-intel-gt-next-2021-04-06' of git://anongit.freedesktop.org/drm/drm-intel into drm-next 2021-04-08 12:46:12 +10:00
intel_workarounds.c Merge tag 'drm-intel-next-2021-04-01' of git://anongit.freedesktop.org/drm/drm-intel into drm-next 2021-04-08 14:02:21 +10:00
intel_workarounds.h drm/i915/gt: SPDX cleanup 2021-03-24 19:30:34 +01:00
intel_workarounds_types.h drm/i915/gt: SPDX cleanup 2021-03-24 19:30:34 +01:00
ivb_clear_kernel.c drm/i915/gen7: Clear all EU/L3 residual contexts 2020-03-06 08:59:06 +00:00
mock_engine.c Merge tag 'drm-intel-gt-next-2021-04-06' of git://anongit.freedesktop.org/drm/drm-intel into drm-next 2021-04-08 12:46:12 +10:00
mock_engine.h drm/i915/gt: SPDX cleanup 2021-03-24 19:30:34 +01:00
selftest_context.c Merge tag 'drm-intel-gt-next-2021-04-06' of git://anongit.freedesktop.org/drm/drm-intel into drm-next 2021-04-08 12:46:12 +10:00
selftest_engine.c drm/i915/gt: SPDX cleanup 2021-03-24 19:30:34 +01:00
selftest_engine.h drm/i915/gt: SPDX cleanup 2021-03-24 19:30:34 +01:00
selftest_engine_cs.c Merge tag 'drm-intel-gt-next-2021-04-06' of git://anongit.freedesktop.org/drm/drm-intel into drm-next 2021-04-08 12:46:12 +10:00
selftest_engine_heartbeat.c drm/i915/selftests: Restore previous heartbeat interval 2021-03-24 19:31:59 +01:00
selftest_engine_heartbeat.h drm/i915/selftests: Enable selftesting of busy-stats 2020-06-18 09:26:53 +01:00
selftest_engine_pm.c drm/i915/selftest: Synchronise with the GPU timestamp 2021-03-24 19:31:59 +01:00
selftest_execlists.c Merge tag 'drm-intel-gt-next-2021-04-06' of git://anongit.freedesktop.org/drm/drm-intel into drm-next 2021-04-08 12:46:12 +10:00
selftest_gt_pm.c drm/i915/gt: SPDX cleanup 2021-03-24 19:30:34 +01:00
selftest_hangcheck.c Merge tag 'drm-intel-gt-next-2021-04-06' of git://anongit.freedesktop.org/drm/drm-intel into drm-next 2021-04-08 12:46:12 +10:00
selftest_llc.c drm/i915/gt: SPDX cleanup 2021-03-24 19:30:34 +01:00
selftest_llc.h drm/i915/gt: SPDX cleanup 2021-03-24 19:30:34 +01:00
selftest_lrc.c Merge tag 'drm-intel-gt-next-2021-04-06' of git://anongit.freedesktop.org/drm/drm-intel into drm-next 2021-04-08 12:46:12 +10:00
selftest_mocs.c Merge tag 'drm-intel-gt-next-2021-04-06' of git://anongit.freedesktop.org/drm/drm-intel into drm-next 2021-04-08 12:46:12 +10:00
selftest_rc6.c drm/i915/gt: SPDX cleanup 2021-03-24 19:30:34 +01:00
selftest_rc6.h drm/i915/gt: SPDX cleanup 2021-03-24 19:30:34 +01:00
selftest_reset.c drm/i915/selftests: Prepare the selftests for engine resets with ring submission 2021-01-19 11:55:13 +00:00
selftest_ring.c drm/i915/gt: Incrementally check for rewinding 2020-06-16 11:34:23 +03:00
selftest_ring_submission.c drm/i915/selftests: Prepare ring submission for obj->mm.lock removal 2021-03-24 17:45:27 +01:00
selftest_rps.c drm/i915/gt: Plug IPS into intel_rps_set 2020-11-21 19:38:56 +00:00
selftest_rps.h drm/i915/gt: Fix up clock frequency 2020-04-27 17:34:33 +01:00
selftest_timeline.c Merge tag 'drm-intel-gt-next-2021-04-06' of git://anongit.freedesktop.org/drm/drm-intel into drm-next 2021-04-08 12:46:12 +10:00
selftest_workarounds.c Merge tag 'drm-intel-gt-next-2021-04-06' of git://anongit.freedesktop.org/drm/drm-intel into drm-next 2021-04-08 12:46:12 +10:00
shmem_utils.c drm/i915: Fix ww locking in shmem_create_from_object 2021-03-24 17:29:16 +01:00
shmem_utils.h drm/i915/gt: Keep a no-frills swappable copy of the default context state 2020-04-29 19:02:37 +01:00
st_shmem_utils.c drm/i915/gt: Keep a no-frills swappable copy of the default context state 2020-04-29 19:02:37 +01:00
sysfs_engines.c drm/i915/gt: Cleanup kasan warning for on-stack (unsigned long) casting 2020-10-16 11:08:44 +01:00
sysfs_engines.h drm/i915/gt: Expose engine properties via sysfs 2020-02-28 22:03:19 +00:00