[Intel-gfx] [PATCH] drm/i915: Export the eLLC size from KMD via IOCTL

Guo, Yejun yejun.guo at intel.com
Thu Oct 10 05:11:40 CEST 2013


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 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



More information about the Intel-gfx mailing list