[Intel-gfx] [PATCH 2/2] drm/i915/vlv: Update Wait for FIFO and wait for 20 free entries.
deepak.s at intel.com
deepak.s at intel.com
Wed Nov 27 16:46:42 CET 2013
From: Deepak S <deepak.s at intel.com>
On VLV, FIFO will be shared by both SW and HW. So, we read the
free entries through register and update dev_priv variable
and wait for only 20 entries to be free
Signed-off-by: Deepak S <deepak.s at intel.com>
---
drivers/gpu/drm/i915/intel_uncore.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/drivers/gpu/drm/i915/intel_uncore.c b/drivers/gpu/drm/i915/intel_uncore.c
index eac5661..3e7848a 100644
--- a/drivers/gpu/drm/i915/intel_uncore.c
+++ b/drivers/gpu/drm/i915/intel_uncore.c
@@ -147,6 +147,12 @@ static int __gen6_gt_wait_for_fifo(struct drm_i915_private *dev_priv)
{
int ret = 0;
+ /* On VLV, FIFO will be shared by both SW and HW.
+ * So, we need to read the FREE_ENTRIES everytime */
+ if (IS_VALLEYVIEW(dev_priv->dev))
+ dev_priv->uncore.fifo_count =
+ __raw_i915_read32(dev_priv, GT_FIFO_FREE_ENTRIES);
+
if (dev_priv->uncore.fifo_count < GT_FIFO_NUM_RESERVED_ENTRIES) {
int loop = 500;
u32 fifo = __raw_i915_read32(dev_priv, GT_FIFO_FREE_ENTRIES);
--
1.8.4.2
More information about the Intel-gfx
mailing list