@@ -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);
@@ -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[];
@@ -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;