public inbox for intel-gfx@lists.freedesktop.org
 help / color / mirror / Atom feed
* [PATCH] drm/i915/gvt: Implement WaForceWakeRenderDuringMmioTLBInvalidate
@ 2016-10-20 10:57 Arkadiusz Hiler
  2016-10-20 11:17 ` ✗ Fi.CI.BAT: warning for " Patchwork
                   ` (6 more replies)
  0 siblings, 7 replies; 14+ messages in thread
From: Arkadiusz Hiler @ 2016-10-20 10:57 UTC (permalink / raw)
  To: intel-gfx; +Cc: Mika Kuoppala

When invalidating RCS TLB the device can enter RC6 state interrupting
the process, therefore the need for render forcewake for the whole
procedure.

This WA is needed for all production SKL SKUs.

References: HSD#2136899, HSD#1404391274
Cc: Mika Kuoppala <mika.kuoppala@intel.com>
Cc: Zhenyu Wang <zhenyuw@linux.intel.com>
Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
---
 drivers/gpu/drm/i915/gvt/render.c | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/drivers/gpu/drm/i915/gvt/render.c b/drivers/gpu/drm/i915/gvt/render.c
index f54ab85..f5000ea 100644
--- a/drivers/gpu/drm/i915/gvt/render.c
+++ b/drivers/gpu/drm/i915/gvt/render.c
@@ -134,11 +134,22 @@ static void handle_tlb_pending_event(struct intel_vgpu *vgpu, int ring_id)
 
 	reg = _MMIO(regs[ring_id]);
 
+	/* WaForceWakeRenderDuringMmioTLBInvalidate:skl
+	 * we need to put a forcewake when invalidating RCS TLB caches,
+	 * otherwise device can go to RC6 state and interrupt invalidation
+	 * process */
+	if (IS_SKYLAKE(dev_priv) && ring_id == RCS)
+		intel_uncore_forcewake_get(dev_priv, FORCEWAKE_RENDER);
+
 	I915_WRITE(reg, 0x1);
 
 	if (wait_for_atomic((I915_READ(reg) == 0), 50))
 		gvt_err("timeout in invalidate ring (%d) tlb\n", ring_id);
 
+	if (IS_SKYLAKE(dev_priv) && ring_id == RCS)
+		intel_uncore_forcewake_put(dev_priv, FORCEWAKE_RENDER);
+
+
 	gvt_dbg_core("invalidate TLB for ring %d\n", ring_id);
 }
 
-- 
2.7.4

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply related	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2016-10-21 11:46 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-10-20 10:57 [PATCH] drm/i915/gvt: Implement WaForceWakeRenderDuringMmioTLBInvalidate Arkadiusz Hiler
2016-10-20 11:17 ` ✗ Fi.CI.BAT: warning for " Patchwork
2016-10-20 11:52   ` Arkadiusz Hiler
2016-10-20 12:04     ` Ville Syrjälä
2016-10-20 12:55       ` Arkadiusz Hiler
2016-10-20 14:29 ` [PATCH] " Mika Kuoppala
2016-10-20 15:20   ` Arkadiusz Hiler
2016-10-21  4:15     ` Zhenyu Wang
2016-10-20 14:47 ` Ville Syrjälä
2016-10-21 10:32 ` [PATCH v2] " Arkadiusz Hiler
2016-10-21 10:55   ` Mika Kuoppala
2016-10-21 11:11 ` [PATCH v3] " Arkadiusz Hiler
2016-10-21 11:16 ` ✗ Fi.CI.BAT: warning for drm/i915/gvt: Implement WaForceWakeRenderDuringMmioTLBInvalidate (rev3) Patchwork
2016-10-21 11:46 ` ✓ Fi.CI.BAT: success for drm/i915/gvt: Implement WaForceWakeRenderDuringMmioTLBInvalidate (rev4) Patchwork

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox