[v3,resend,4/5] drm/i915: add I915_PARAM_HAS_RESOURCE_STREAMER to i915_getparam
diff mbox

Message ID 1434458491-13218-1-git-send-email-abdiel.janulgue@linux.intel.com
State New
Headers show

Commit Message

Abdiel Janulgue June 16, 2015, 12:41 p.m. UTC
This will let userspace know whether Resource Streamer is supported
in the kernel.

v2: Update I915_PARAM_HAS_RESOURCE_STREAMER so it's after
    I915_PARAM_HAS_GPU_RESET.
v3: Only advertise RS support for hardware that supports it.

Suggested-by: Kenneth Graunke <kenneth@whitecape.org>
Cc: Kenneth Graunke <kenneth@whitecape.org>
Signed-off-by: Abdiel Janulgue <abdiel.janulgue@linux.intel.com>
---
 drivers/gpu/drm/i915/i915_dma.c | 3 +++
 include/uapi/drm/i915_drm.h     | 1 +
 2 files changed, 4 insertions(+)

Comments

Abdiel Janulgue June 24, 2015, 6:30 a.m. UTC | #1
On 06/16/2015 03:41 PM, Abdiel Janulgue wrote:
> This will let userspace know whether Resource Streamer is supported
> in the kernel.
> 
> v2: Update I915_PARAM_HAS_RESOURCE_STREAMER so it's after
>     I915_PARAM_HAS_GPU_RESET.
> v3: Only advertise RS support for hardware that supports it.

Ping. Any status on this one?

> 
> Suggested-by: Kenneth Graunke <kenneth@whitecape.org>
> Cc: Kenneth Graunke <kenneth@whitecape.org>
> Signed-off-by: Abdiel Janulgue <abdiel.janulgue@linux.intel.com>
> ---
>  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 88795d2..4f55f51 100644
> --- a/drivers/gpu/drm/i915/i915_dma.c
> +++ b/drivers/gpu/drm/i915/i915_dma.c
> @@ -168,6 +168,9 @@ static int i915_getparam(struct drm_device *dev, void *data,
>  			i915.reset &&
>  			intel_has_gpu_reset(dev);
>  		break;
> +	case I915_PARAM_HAS_RESOURCE_STREAMER:
> +		value = IS_HASWELL(dev) || INTEL_INFO(dev)->gen >= 8;
> +               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 f88cc1c..51137bd 100644
> --- a/include/uapi/drm/i915_drm.h
> +++ b/include/uapi/drm/i915_drm.h
> @@ -355,6 +355,7 @@ typedef struct drm_i915_irq_wait {
>  #define I915_PARAM_SUBSLICE_TOTAL	 33
>  #define I915_PARAM_EU_TOTAL		 34
>  #define I915_PARAM_HAS_GPU_RESET	 35
> +#define I915_PARAM_HAS_RESOURCE_STREAMER 36
>  
>  typedef struct drm_i915_getparam {
>  	int param;
>
Abdiel Janulgue June 29, 2015, 7:52 a.m. UTC | #2
On 06/24/2015 09:30 AM, Abdiel Janulgue wrote:
> 
> 
> On 06/16/2015 03:41 PM, Abdiel Janulgue wrote:
>> This will let userspace know whether Resource Streamer is supported
>> in the kernel.
>>
>> v2: Update I915_PARAM_HAS_RESOURCE_STREAMER so it's after
>>     I915_PARAM_HAS_GPU_RESET.
>> v3: Only advertise RS support for hardware that supports it.
> 
> Ping. Any status on this one?

Chris?

> 
>>
>> Suggested-by: Kenneth Graunke <kenneth@whitecape.org>
>> Cc: Kenneth Graunke <kenneth@whitecape.org>
>> Signed-off-by: Abdiel Janulgue <abdiel.janulgue@linux.intel.com>
>> ---
>>  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 88795d2..4f55f51 100644
>> --- a/drivers/gpu/drm/i915/i915_dma.c
>> +++ b/drivers/gpu/drm/i915/i915_dma.c
>> @@ -168,6 +168,9 @@ static int i915_getparam(struct drm_device *dev, void *data,
>>  			i915.reset &&
>>  			intel_has_gpu_reset(dev);
>>  		break;
>> +	case I915_PARAM_HAS_RESOURCE_STREAMER:
>> +		value = IS_HASWELL(dev) || INTEL_INFO(dev)->gen >= 8;
>> +               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 f88cc1c..51137bd 100644
>> --- a/include/uapi/drm/i915_drm.h
>> +++ b/include/uapi/drm/i915_drm.h
>> @@ -355,6 +355,7 @@ typedef struct drm_i915_irq_wait {
>>  #define I915_PARAM_SUBSLICE_TOTAL	 33
>>  #define I915_PARAM_EU_TOTAL		 34
>>  #define I915_PARAM_HAS_GPU_RESET	 35
>> +#define I915_PARAM_HAS_RESOURCE_STREAMER 36
>>  
>>  typedef struct drm_i915_getparam {
>>  	int param;
>>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx
>
Chris Wilson June 29, 2015, 8:03 a.m. UTC | #3
On Mon, Jun 29, 2015 at 10:52:22AM +0300, Abdiel Janulgue wrote:
> 
> 
> On 06/24/2015 09:30 AM, Abdiel Janulgue wrote:
> > 
> > 
> > On 06/16/2015 03:41 PM, Abdiel Janulgue wrote:
> >> This will let userspace know whether Resource Streamer is supported
> >> in the kernel.
> >>
> >> v2: Update I915_PARAM_HAS_RESOURCE_STREAMER so it's after
> >>     I915_PARAM_HAS_GPU_RESET.
> >> v3: Only advertise RS support for hardware that supports it.
> > 
> > Ping. Any status on this one?
> 
> Chris?

Run it through indent, and I'm happy with it. I think we should make it
a HAS_RESOURCE_STREAMER() macro so we can share the definition between
here and execbuf validation, but that's icing on the cake.
-Chris

Patch
diff mbox

diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c
index 88795d2..4f55f51 100644
--- a/drivers/gpu/drm/i915/i915_dma.c
+++ b/drivers/gpu/drm/i915/i915_dma.c
@@ -168,6 +168,9 @@  static int i915_getparam(struct drm_device *dev, void *data,
 			i915.reset &&
 			intel_has_gpu_reset(dev);
 		break;
+	case I915_PARAM_HAS_RESOURCE_STREAMER:
+		value = IS_HASWELL(dev) || INTEL_INFO(dev)->gen >= 8;
+               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 f88cc1c..51137bd 100644
--- a/include/uapi/drm/i915_drm.h
+++ b/include/uapi/drm/i915_drm.h
@@ -355,6 +355,7 @@  typedef struct drm_i915_irq_wait {
 #define I915_PARAM_SUBSLICE_TOTAL	 33
 #define I915_PARAM_EU_TOTAL		 34
 #define I915_PARAM_HAS_GPU_RESET	 35
+#define I915_PARAM_HAS_RESOURCE_STREAMER 36
 
 typedef struct drm_i915_getparam {
 	int param;