public inbox for intel-gfx@lists.freedesktop.org
 help / color / mirror / Atom feed
From: Ben Widawsky <benjamin.widawsky@intel.com>
To: Intel GFX <intel-gfx@lists.freedesktop.org>
Cc: Ben Widawsky <ben@bwidawsk.net>,
	Ben Widawsky <benjamin.widawsky@intel.com>
Subject: [PATCH 10/10] DONT_MERGE drm/i915: FORCE_RESTORE for gen8 semaphores
Date: Wed,  7 May 2014 10:27:06 -0700	[thread overview]
Message-ID: <1399483626-7540-11-git-send-email-benjamin.widawsky@intel.com> (raw)
In-Reply-To: <1399483626-7540-1-git-send-email-benjamin.widawsky@intel.com>

This appears to not actually be needed on the current code. Just putting
it on the ML so we can point bug reports at it later.

As pointed out by Ville, the current code is "broken" since we do
FORCE_RESTORE, and RESTORE_INHIBIT on the same dword. Anecdotally, this
seems fine.

Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
---
 drivers/gpu/drm/i915/i915_gem_context.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/drivers/gpu/drm/i915/i915_gem_context.c b/drivers/gpu/drm/i915/i915_gem_context.c
index f77b4c1..aa82fb4 100644
--- a/drivers/gpu/drm/i915/i915_gem_context.c
+++ b/drivers/gpu/drm/i915/i915_gem_context.c
@@ -661,6 +661,13 @@ static int do_switch(struct intel_ring_buffer *ring,
 	if (!to->is_initialized || i915_gem_context_is_default(to))
 		hw_flags |= MI_RESTORE_INHIBIT;
 
+	/* When SW intends to use semaphore signaling between Command streamers,
+	 * it must avoid lite restores in HW by programming "Force Restore" bit
+	 * to ‘1’ in context descriptor during context submission
+	 */
+	if (IS_GEN8(ring->dev) && i915_semaphore_is_enabled(ring->dev))
+		hw_flags |= MI_FORCE_RESTORE;
+
 	ret = mi_set_context(ring, to, hw_flags);
 	if (ret)
 		goto unpin_out;
-- 
1.9.2

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

      parent reply	other threads:[~2014-05-07 17:27 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-05-07 17:26 [PATCH 00/10] Semaphores again. Needs shepherd Ben Widawsky
2014-05-07 17:26 ` [PATCH 01/10] drm/i915: Make semaphore updates more precise Ben Widawsky
2014-05-07 17:26 ` [PATCH 02/10] drm/i915: gen specific ring init Ben Widawsky
2014-05-07 17:26 ` [PATCH 03/10] drm/i915/bdw: implement semaphore signal Ben Widawsky
2014-05-07 17:27 ` [PATCH 04/10] drm/i915/bdw: implement semaphore wait Ben Widawsky
2014-05-07 17:27 ` [PATCH 05/10] drm/i915: Implement MI decode for gen8 Ben Widawsky
2014-05-07 17:27 ` [PATCH 06/10] drm/i915: Extract semaphore error collection Ben Widawsky
2014-05-07 17:27 ` [PATCH 07/10] drm/i915/bdw: collect semaphore error state Ben Widawsky
2014-05-07 17:27 ` [PATCH 08/10] drm/i915: semaphore debugfs Ben Widawsky
2014-05-07 17:27 ` [PATCH 09/10] drm/i915/bdw: poll semaphores Ben Widawsky
2014-05-07 17:27 ` Ben Widawsky [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1399483626-7540-11-git-send-email-benjamin.widawsky@intel.com \
    --to=benjamin.widawsky@intel.com \
    --cc=ben@bwidawsk.net \
    --cc=intel-gfx@lists.freedesktop.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox