[Intel-gfx] [PATCH 1/9] drm/i915/context: context switch, and PPGTT params
Ben Widawsky
bwidawsk at gmail.com
Tue Feb 1 19:16:18 CET 2011
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
More information about the Intel-gfx
mailing list