From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ben Widawsky Subject: [PATCH 27/56] drm/i915: Extract context switch skip logic Date: Fri, 9 May 2014 20:59:22 -0700 Message-ID: <1399694391-3935-28-git-send-email-benjamin.widawsky@intel.com> References: <1399694391-3935-1-git-send-email-benjamin.widawsky@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Received: from mail.bwidawsk.net (bwidawsk.net [166.78.191.112]) by gabe.freedesktop.org (Postfix) with ESMTP id 123F16F08D for ; Fri, 9 May 2014 21:01:35 -0700 (PDT) In-Reply-To: <1399694391-3935-1-git-send-email-benjamin.widawsky@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Intel GFX Cc: Ben Widawsky , Ben Widawsky List-Id: intel-gfx@lists.freedesktop.org We have some fanciness coming up. This patch just breaks out the logic. Signed-off-by: Ben Widawsky --- drivers/gpu/drm/i915/i915_gem_context.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/i915/i915_gem_context.c b/drivers/gpu/drm/i915/i915_gem_context.c index f2dc17a..7eb4091 100644 --- a/drivers/gpu/drm/i915/i915_gem_context.c +++ b/drivers/gpu/drm/i915/i915_gem_context.c @@ -594,6 +594,16 @@ mi_set_context(struct intel_ring_buffer *ring, return ret; } +static inline bool should_skip_switch(struct intel_ring_buffer *ring, + struct i915_hw_context *from, + struct i915_hw_context *to) +{ + if (from == to && from->last_ring == ring && !to->remap_slice) + return true; + + return false; +} + static int do_switch(struct intel_ring_buffer *ring, struct i915_hw_context *to) { @@ -608,7 +618,7 @@ static int do_switch(struct intel_ring_buffer *ring, BUG_ON(!i915_gem_obj_is_pinned(from->obj)); } - if (from == to && from->last_ring == ring && !to->remap_slice) + if (should_skip_switch(ring, from, to)) return 0; /* Trying to pin first makes error handling easier. */ -- 1.9.2