Re: [RFC 14/44] drm/i915: Added getparam for GPU scheduler

Daniel Vetter
2014-07-07T19:11:40Z

On Wed, Jul 02, 2014 at 11:21:42AM -0700, Jesse Barnes wrote:
> On Thu, 26 Jun 2014 18:24:05 +0100
> John.C.Harrison@Intel.com wrote:
>
> > From: John Harrison <John.C.Harrison@Intel.com>
> >
> > This is required by user land validation programs that need to know whether the
> > scheduler is available for testing or not.
> > ---
> > drivers/gpu/drm/i915/i915_dma.c | 3 +++
> > include/uapi/drm/i915_drm.h | 1 +
> > 2 files changed, 4 insertions(+)
> >
> > diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c
> > index 6c9ce82..1668316 100644
> > --- a/drivers/gpu/drm/i915/i915_dma.c
> > +++ b/drivers/gpu/drm/i915/i915_dma.c
> > @@ -1035,6 +1035,9 @@ static int i915_getparam(struct drm_device *dev, void *data,
> > value = 0;
> > #endif
> > break;
> > + case I915_PARAM_HAS_GPU_SCHEDULER:
> > + value = i915_scheduler_is_enabled(dev);
> > + break;
> > default:
> > DRM_DEBUG("Unknown parameter %d\n", param->param);
> > return -EINVAL;
> > diff --git a/include/uapi/drm/i915_drm.h b/include/uapi/drm/i915_drm.h
> > index bf54c78..de6f603 100644
> > --- a/include/uapi/drm/i915_drm.h
> > +++ b/include/uapi/drm/i915_drm.h
> > @@ -341,6 +341,7 @@ typedef struct drm_i915_irq_wait {
> > #define I915_PARAM_HAS_WT 27
> > #define I915_PARAM_CMD_PARSER_VERSION 28
> > #define I915_PARAM_HAS_NATIVE_SYNC 30
> > +#define I915_PARAM_HAS_GPU_SCHEDULER 31
> >
> > typedef struct drm_i915_getparam {
> > int param;
>
> I guess we have plenty of getparam space available. But another option
> would be for tests to check for a debugfs file that dumps scheduler
> info instead, and save the get params for non-debug applications.

Yeah, pure testing interfaces should reside in debugfs - much less
stringent abi compatibility requirements for that stuff.

Also, I want to see these validation tests as igt patches.
-Daniel
--
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch