On Mon, Aug 15, 2016 at 02:48:05PM +0300, Mika Kuoppala wrote:
> @@ -891,6 +894,8 @@ struct i915_gem_context {
>       unsigned long flags;
>  #define CONTEXT_NO_ZEROMAP           BIT(0)
>  #define CONTEXT_NO_ERROR_CAPTURE     BIT(1)
> +#define CONTEXT_SVM                  BIT(2)
> +
>       unsigned hw_id;
>       u32 user_handle;
>  
> @@ -909,6 +914,9 @@ struct i915_gem_context {
>       struct atomic_notifier_head status_notifier;
>       bool execlists_force_single_submission;
>  
> +     u32 pasid; /* svm, 20 bits */

Doesn't this conflict with hw_id for execlists.

> +     struct task_struct *task;

We don't need the task, we need the mm.

Holding the task is not sufficient.

>       struct list_head link;
>  
>       u8 remap_slice;
> @@ -2001,6 +2009,8 @@ struct drm_i915_private {
>  
>       struct i915_runtime_pm pm;
>  
> +     bool svm_available;

No better home / community?

> diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
> index 7e08c774a1aa..45d67b54c018 100644
> --- a/drivers/gpu/drm/i915/i915_gem.c
> +++ b/drivers/gpu/drm/i915/i915_gem.c
> @@ -4304,6 +4304,13 @@ i915_gem_init_hw(struct drm_device *dev)
>               }
>       }
>  
> +     if (INTEL_GEN(dev) >= 8) {
> +             if (intel_init_svm(dev))

init_hw ?

This looks more like one off early driver init.

> +                     DRM_DEBUG_DRIVER("Initialized Intel SVM support\n");
> +             else
> +                     DRM_ERROR("Failed to enable Intel SVM support\n");
> +     }
> +

-- 
Chris Wilson, Intel Open Source Technology Centre
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to