Hi Daniel, For example, the close source UMD driver also requires this information. 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@xxxxxxxxx> 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@xxxxxxxx] On Behalf Of Daniel Vetter Sent: Wednesday, October 09, 2013 15:22 To: Guo, Yejun Cc: intel-gfx@xxxxxxxxxxxxxxxxxxxxx Subject: Re: [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@xxxxxxxxx<mailto:yejun.guo@xxxxxxxxx>> > 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@xxxxxxxxxxxxxxxxxxxxx > http://lists.freedesktop.org/mailman/listinfo/intel-gfx -- Daniel Vetter Software Engineer, Intel Corporation +41 (0) 79 365 57 48 - http://blog.ffwll.ch _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/intel-gfx