@@ -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 = dev_priv->ctx_disable ? 0 : 1;
+ break;
+ case I915_PARAM_HAS_PPGTT:
+ value = HAS_PPGTT(dev);
+ break;
default:
DRM_DEBUG_DRIVER("Unknown parameter %d\n",
param->param);
@@ -982,6 +982,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[];
@@ -295,6 +295,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;