public inbox for intel-gfx@lists.freedesktop.org
 help / color / mirror / Atom feed
* [PATCH v2] drm/i915/vlv: Update Wait for FIFO and wait for 20 free entries. v2
@ 2013-11-29 10:14 deepak.s
  2013-11-29 10:38 ` Chris Wilson
  0 siblings, 1 reply; 10+ messages in thread
From: deepak.s @ 2013-11-29 10:14 UTC (permalink / raw)
  To: intel-gfx; +Cc: Deepak S

From: Deepak S <deepak.s@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

v2: Apply mask when we read the number of free FIFO entries (Ville).

Signed-off-by: Deepak S <deepak.s@intel.com>
---
 drivers/gpu/drm/i915/intel_uncore.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/drivers/gpu/drm/i915/intel_uncore.c b/drivers/gpu/drm/i915/intel_uncore.c
index 0db5472..adf2b64 100644
--- a/drivers/gpu/drm/i915/intel_uncore.c
+++ b/drivers/gpu/drm/i915/intel_uncore.c
@@ -150,6 +150,13 @@ 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, GTFIFOCTL &
+						GT_FIFO_FREE_ENTRIES_MASK);
+
 	if (dev_priv->uncore.fifo_count < GT_FIFO_NUM_RESERVED_ENTRIES) {
 		int loop = 500;
 		u32 fifo = __raw_i915_read32(dev_priv, GTFIFOCTL) & GT_FIFO_FREE_ENTRIES_MASK;
-- 
1.8.4.2

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

end of thread, other threads:[~2013-12-04 11:22 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-11-29 10:14 [PATCH v2] drm/i915/vlv: Update Wait for FIFO and wait for 20 free entries. v2 deepak.s
2013-11-29 10:38 ` Chris Wilson
2013-11-29 11:22   ` S, Deepak
2013-11-29 11:36     ` Chris Wilson
2013-11-29 11:53       ` S, Deepak
2013-11-29 14:02         ` Daniel Vetter
     [not found]           ` <F359EE24E0B97E4A9739736D2C188EF3FB329A@BGSMSX102.gar.corp.intel.com>
2013-12-04  8:39             ` Daniel Vetter
2013-12-04  9:11               ` S, Deepak
     [not found]             ` <20131204093352.GB9481@nuc-i3427.alporthouse.com>
     [not found]               ` <F359EE24E0B97E4A9739736D2C188EF3FB3616@BGSMSX102.gar.corp.intel.com>
2013-12-04 11:07                 ` Daniel Vetter
2013-12-04 11:22                   ` S, Deepak

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