From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ben Widawsky Subject: [PATCH 1/9] drm/i915/context: context switch, and PPGTT params Date: Tue, 1 Feb 2011 10:16:18 -0800 Message-ID: <1296584186-20446-2-git-send-email-bwidawsk@gmail.com> References: <1296584186-20446-1-git-send-email-bwidawsk@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Received: from mail-gx0-f177.google.com (mail-gx0-f177.google.com [209.85.161.177]) by gabe.freedesktop.org (Postfix) with ESMTP id 635B89E8CE for ; Tue, 1 Feb 2011 10:17:53 -0800 (PST) Received: by gxk21 with SMTP id 21so2709953gxk.36 for ; Tue, 01 Feb 2011 10:17:52 -0800 (PST) In-Reply-To: <1296584186-20446-1-git-send-email-bwidawsk@gmail.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: intel-gfx-bounces+gcfxdi-intel-gfx=m.gmane.org@lists.freedesktop.org Errors-To: intel-gfx-bounces+gcfxdi-intel-gfx=m.gmane.org@lists.freedesktop.org To: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org Adding parameters for userspace to query what features the driver/hardware supports. In the future context and ppgtt will always go together, but for now we will use hardware contexts without ppgtt since there are some issues with ppgtt on the current generation. --- drivers/gpu/drm/i915/i915_dma.c | 6 ++++++ drivers/gpu/drm/i915/i915_drv.h | 3 +++ include/drm/i915_drm.h | 2 ++ 3 files changed, 11 insertions(+), 0 deletions(-) diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c index 17bd766..bbaf60c 100644 --- a/drivers/gpu/drm/i915/i915_dma.c +++ b/drivers/gpu/drm/i915/i915_dma.c @@ -771,6 +771,12 @@ static int i915_getparam(struct drm_device *dev, void *data, case I915_PARAM_HAS_EXEC_CONSTANTS: value = INTEL_INFO(dev)->gen >= 4; break; + case I915_PARAM_HAS_CONTEXTS: + value = HAS_HW_CONTEXTS(dev); + break; + case I915_PARAM_HAS_PPGTT: + value = HAS_PPGTT(dev); + break; default: DRM_DEBUG_DRIVER("Unknown parameter %d\n", param->param); diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h index a0149c6..caf0a28 100644 --- a/drivers/gpu/drm/i915/i915_drv.h +++ b/drivers/gpu/drm/i915/i915_drv.h @@ -950,6 +950,9 @@ enum intel_chip_family { #define HAS_PCH_CPT(dev) (INTEL_PCH_TYPE(dev) == PCH_CPT) #define HAS_PCH_IBX(dev) (INTEL_PCH_TYPE(dev) == PCH_IBX) +#define HAS_HW_CONTEXTS(dev) (INTEL_INFO(dev)->gen >= 4) +#define HAS_PPGTT(dev) (INTEL_INFO(dev)->gen >= 7) + #include "i915_trace.h" extern struct drm_ioctl_desc i915_ioctls[]; diff --git a/include/drm/i915_drm.h b/include/drm/i915_drm.h index 0039f1f..26759a8 100644 --- a/include/drm/i915_drm.h +++ b/include/drm/i915_drm.h @@ -290,6 +290,8 @@ typedef struct drm_i915_irq_wait { #define I915_PARAM_HAS_RELAXED_FENCING 12 #define I915_PARAM_HAS_COHERENT_RINGS 13 #define I915_PARAM_HAS_EXEC_CONSTANTS 14 +#define I915_PARAM_HAS_CONTEXTS 15 +#define I915_PARAM_HAS_PPGTT 16 typedef struct drm_i915_getparam { int param; -- 1.7.3.4