drm/i915: expose _SLICE_MASK GETPARM
authorRobert Bragg <robert@sixbynine.org>
Tue, 13 Jun 2017 11:22:59 +0000 (12:22 +0100)
committerBen Widawsky <ben@bwidawsk.net>
Wed, 14 Jun 2017 19:31:57 +0000 (12:31 -0700)
Enables userspace to determine the maximum number of slices that can
be enabled on the device and also know what specific slices can be
enabled. This information is required, for example, to be able to
analyse some OA counter reports where the counter configuration
depends on the HW slice configuration.

Signed-off-by: Robert Bragg <robert@sixbynine.org>
Reviewed-by: Matthew Auld <matthew.auld@intel.com>
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
drivers/gpu/drm/i915/i915_drv.c
include/uapi/drm/i915_drm.h

index 1f802de7b94bad9a14c1024e0584c68d729798bb..d503612a7fc11196823e4277ee60a636c3bc4b9c 100644 (file)
@@ -374,6 +374,11 @@ static int i915_getparam(struct drm_device *dev, void *data,
                 */
                value = 1;
                break;
+       case I915_PARAM_SLICE_MASK:
+               value = INTEL_INFO(dev_priv)->sseu.slice_mask;
+               if (!value)
+                       return -ENODEV;
+               break;
        default:
                DRM_DEBUG("Unknown parameter %d\n", param->param);
                return -EINVAL;
index f24a80d2d42e0ebe9cb5d033706521430325b318..25695c3d9a76bd22fc5951ddbb7d00307af66e9c 100644 (file)
@@ -418,6 +418,9 @@ typedef struct drm_i915_irq_wait {
  */
 #define I915_PARAM_HAS_EXEC_CAPTURE     45
 
+/* Query the mask of slices available for this system */
+#define I915_PARAM_SLICE_MASK           46
+
 typedef struct drm_i915_getparam {
        __s32 param;
        /*