File tree Expand file tree Collapse file tree 1 file changed +14
-1
lines changed Expand file tree Collapse file tree 1 file changed +14
-1
lines changed Original file line number Diff line number Diff line change @@ -1209,6 +1209,20 @@ void intel_gt_invalidate_tlbs(struct intel_gt *gt)
12091209 mutex_lock (& gt -> tlb_invalidate_lock );
12101210 intel_uncore_forcewake_get (uncore , FORCEWAKE_ALL );
12111211
1212+ spin_lock_irq (& uncore -> lock ); /* serialise invalidate with GT reset */
1213+
1214+ for_each_engine (engine , gt , id ) {
1215+ struct reg_and_bit rb ;
1216+
1217+ rb = get_reg_and_bit (engine , regs == gen8_regs , regs , num );
1218+ if (!i915_mmio_reg_offset (rb .reg ))
1219+ continue ;
1220+
1221+ intel_uncore_write_fw (uncore , rb .reg , rb .bit );
1222+ }
1223+
1224+ spin_unlock_irq (& uncore -> lock );
1225+
12121226 for_each_engine (engine , gt , id ) {
12131227 /*
12141228 * HW architecture suggest typical invalidation time at 40us,
@@ -1223,7 +1237,6 @@ void intel_gt_invalidate_tlbs(struct intel_gt *gt)
12231237 if (!i915_mmio_reg_offset (rb .reg ))
12241238 continue ;
12251239
1226- intel_uncore_write_fw (uncore , rb .reg , rb .bit );
12271240 if (__intel_wait_for_register_fw (uncore ,
12281241 rb .reg , rb .bit , 0 ,
12291242 timeout_us , timeout_ms ,
You can’t perform that action at this time.
0 commit comments