[Intel-gfx] [PATCH] drm/i915: Export the eLLC size from KMD via IOCTL
Daniel Vetter
daniel at ffwll.ch
Thu Oct 10 09:08:00 CEST 2013
On Thu, Oct 10, 2013 at 03:11:40AM +0000, Guo, Yejun wrote:
> Hi Daniel,
>
> For example, the close source UMD driver also requires this information.
For upstream a userspace blob as consumer isn't good enough, Dave Airlie
has clearly established this precendence in a bunch of loud emails.
So I need something which is open-source as a consumer of this.
-Daniel
>
> Thanks for the reminder, please see the new patch below generated with git format-patch.
>
> From 6033637a040eeb8ae0f31bdbca8d9c988582f99d Mon Sep 17 00:00:00 2001
> From: GuoYejun <yejun.guo at intel.com>
> Date: Fri, 27 Sep 2013 16:26:18 +0800
> Subject: [PATCH] drm/i915: Export the eLLC size from KMD via IOCTL
>
> The usermode driver needs the eLLC information in order to
> make decisions which can result in significant performance improvements.
> Since all userspace drivers require this same information,
> it makes sense to store it in one globally accessible place, the kernel.
> ---
> 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 dd76d93..4ce36f4 100644
> --- a/drivers/gpu/drm/i915/i915_dma.c
> +++ b/drivers/gpu/drm/i915/i915_dma.c
> @@ -1003,6 +1003,9 @@ static int i915_getparam(struct drm_device *dev, void *data,
> case I915_PARAM_HAS_EXEC_HANDLE_LUT:
> value = 1;
> break;
> + case I915_PARAM_ELLC_SIZE:
> + value = dev_priv->ellc_size;
> + 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 3a4e97b..a0d4e00 100644
> --- a/include/uapi/drm/i915_drm.h
> +++ b/include/uapi/drm/i915_drm.h
> @@ -335,6 +335,7 @@ typedef struct drm_i915_irq_wait {
> #define I915_PARAM_HAS_EXEC_NO_RELOC 25
> #define I915_PARAM_HAS_EXEC_HANDLE_LUT 26
> #define I915_PARAM_HAS_WT 27
> +#define I915_PARAM_ELLC_SIZE 28
>
> typedef struct drm_i915_getparam {
> int param;
> --
> 1.7.9.5
>
>
> Thanks
> Yejun
>
> -----Original Message-----
> From: Daniel Vetter [mailto:daniel.vetter at ffwll.ch] On Behalf Of Daniel Vetter
> Sent: Wednesday, October 09, 2013 15:22
> To: Guo, Yejun
> Cc: intel-gfx at lists.freedesktop.org
> Subject: Re: [Intel-gfx] [PATCH] drm/i915: Export the eLLC size from KMD via IOCTL
>
> On Wed, Oct 09, 2013 at 12:06:06AM +0000, Guo, Yejun wrote:
> > commit 6033637a040eeb8ae0f31bdbca8d9c988582f99d
> > Author: GuoYejun <yejun.guo at intel.com<mailto:yejun.guo at intel.com>>
> > Date: Fri Sep 27 16:26:18 2013 +0800
> >
> > drm/i915: Export the eLLC size from KMD via IOCTL
> >
> > The usermode driver needs the eLLC information in order to
> > make decisions which can result in significant performance improvements.
> > Since all userspace drivers require this same information,
> > it makes sense to store it in one globally accessible place, the kernel.
>
> Do we have some examples of such userspace lying around?
>
> Also, your patch is missing the sob line and doesn't look like it's formatted with git format-patch.
>
> Cheers, Daniel
> >
> > diff --git a/drivers/gpu/drm/i915/i915_dma.c
> > b/drivers/gpu/drm/i915/i915_dma.c index dd76d93..4ce36f4 100644
> > --- a/drivers/gpu/drm/i915/i915_dma.c
> > +++ b/drivers/gpu/drm/i915/i915_dma.c
> > @@ -1003,6 +1003,9 @@ static int i915_getparam(struct drm_device *dev, void *data,
> > case I915_PARAM_HAS_EXEC_HANDLE_LUT:
> > value = 1;
> > break;
> > + case I915_PARAM_ELLC_SIZE:
> > + value = dev_priv->ellc_size;
> > + 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
> > 3a4e97b..a0d4e00 100644
> > --- a/include/uapi/drm/i915_drm.h
> > +++ b/include/uapi/drm/i915_drm.h
> > @@ -335,6 +335,7 @@ typedef struct drm_i915_irq_wait {
> > #define I915_PARAM_HAS_EXEC_NO_RELOC 25
> > #define I915_PARAM_HAS_EXEC_HANDLE_LUT 26
> > #define I915_PARAM_HAS_WT 27
> > +#define I915_PARAM_ELLC_SIZE 28
> >
> > typedef struct drm_i915_getparam {
> > int param;
> >
> >
> > Yejun
> > graphics software engineer
> > Tel: (+86) 021-6116-6181
> >
>
> > _______________________________________________
> > Intel-gfx mailing list
> > Intel-gfx at lists.freedesktop.org
> > http://lists.freedesktop.org/mailman/listinfo/intel-gfx
>
>
> --
> Daniel Vetter
> Software Engineer, Intel Corporation
> +41 (0) 79 365 57 48 - http://blog.ffwll.ch
--
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch
More information about the Intel-gfx
mailing list