From patchwork Tue Oct 15 20:50:38 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rodrigo Vivi X-Patchwork-Id: 3049141 Return-Path: X-Original-To: patchwork-intel-gfx@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork2.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.19.201]) by patchwork2.web.kernel.org (Postfix) with ESMTP id 08FB3BF924 for ; Tue, 15 Oct 2013 23:07:16 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 34038201BD for ; Tue, 15 Oct 2013 23:07:15 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) by mail.kernel.org (Postfix) with ESMTP id 2A62F201B6 for ; Tue, 15 Oct 2013 23:07:11 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 1957FE601E for ; Tue, 15 Oct 2013 16:07:11 -0700 (PDT) X-Original-To: intel-gfx@lists.freedesktop.org Delivered-To: intel-gfx@lists.freedesktop.org Received: from mail-pa0-f45.google.com (mail-pa0-f45.google.com [209.85.220.45]) by gabe.freedesktop.org (Postfix) with ESMTP id 60D6FE641E for ; Tue, 15 Oct 2013 13:50:46 -0700 (PDT) Received: by mail-pa0-f45.google.com with SMTP id rd3so9643997pab.4 for ; Tue, 15 Oct 2013 13:50:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=xYytebCMgBvJ3F1fLuyk8m9CWfR690s1xIVahNAFuJs=; b=Him4PuhxscQ6X3casH+fQInEDdzEVzK2ek/p3xEzQY5cj48J+Ka5TMHutbBrt0FYYz ooh+AyctJuCyXo8a2qYOm508GCB2LUFCA+r0LniOp9GYsCX6CBCEs0tXSyNjQUfNLMOl Q2dzjxtJ/LL0rDXcZqGYhvHTSshMATQYDZv501uPKnyeq0wYYhc29/o8vTp6hgnIDgNs Qf7M34d/0jEjseWglzcAe5WQh8gm4a4+yvz/ighr6NsPqSO1H/tE/4pkKs/8Rut9Cpfe TNvsFJoFUe7ycIH979S8Pthp5eWbPz5/pJk/XwQMQca+gmjTQ6kKJeANcJ+NGkSosBZ1 BHpA== X-Received: by 10.67.14.67 with SMTP id fe3mr10553280pad.134.1381870246176; Tue, 15 Oct 2013 13:50:46 -0700 (PDT) Received: from localhost (jfdmzpr06-ext.jf.intel.com. [134.134.137.75]) by mx.google.com with ESMTPSA id va8sm86557524pbc.16.1969.12.31.16.00.00 (version=TLSv1.2 cipher=RC4-SHA bits=128/128); Tue, 15 Oct 2013 13:50:45 -0700 (PDT) From: Rodrigo Vivi To: intel-gfx@lists.freedesktop.org Date: Tue, 15 Oct 2013 17:50:38 -0300 Message-Id: <1381870238-30552-1-git-send-email-rodrigo.vivi@gmail.com> X-Mailer: git-send-email 1.7.11.7 In-Reply-To: <1381848067-5269-2-git-send-email-rodrigo.vivi@gmail.com> References: <1381848067-5269-2-git-send-email-rodrigo.vivi@gmail.com> Subject: [Intel-gfx] [PATCH] i915_drm: add exec flag to warn kernel that userspace is using predication X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Sender: intel-gfx-bounces+patchwork-intel-gfx=patchwork.kernel.org@lists.freedesktop.org Errors-To: intel-gfx-bounces+patchwork-intel-gfx=patchwork.kernel.org@lists.freedesktop.org X-Spam-Status: No, score=-4.6 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, DKIM_SIGNED, FREEMAIL_FROM, RCVD_IN_DNSWL_MED, RP_MATCHES_RCVD, T_DKIM_INVALID, UNPARSEABLE_RELAY autolearn=unavailable version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP If Userspace isn't using MI_PREDICATE all slices must be enabled for backward compatibility. If I915_EXEC_USE_PREDICATE isn't set and defaul is set to half, kernel will force all slices on. v2: include more tests and s/GT_FULL/USE_PREDICATE on code and on commit message. Signed-off-by: Rodrigo Vivi --- include/drm/i915_drm.h | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/include/drm/i915_drm.h b/include/drm/i915_drm.h index aa983f3..933656c 100644 --- a/include/drm/i915_drm.h +++ b/include/drm/i915_drm.h @@ -670,6 +670,12 @@ struct drm_i915_gem_execbuffer2 { /** Resets the SO write offset registers for transform feedback on gen7. */ #define I915_EXEC_GEN7_SOL_RESET (1<<8) +/* If this flag is set userspace is using predicate and half slices can be + * let disabled for power saving. Otherwise use all slices even when disabled + * by boot parameter or via sysfs interface + */ +#define I915_EXEC_USE_PREDICATE (1<<13) + #define I915_EXEC_CONTEXT_ID_MASK (0xffffffff) #define i915_execbuffer2_set_context_id(eb2, context) \ (eb2).rsvd1 = context & I915_EXEC_CONTEXT_ID_MASK