summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMika Kuoppala <mika.kuoppala@linux.intel.com>2017-11-29 16:27:45 +0200
committerMika Kuoppala <mika.kuoppala@linux.intel.com>2017-11-29 16:53:08 +0200
commit80fd0238524583f522d802a895ffad52951f258e (patch)
tree9af890f1264ddd6bfdb1e83676cda15a4c86d9a2
parent19de99a0dcf33874c2e571c7e2c755e31c3090c0 (diff)
debugssvm
-rw-r--r--drivers/gpu/drm/i915/i915_gem_context.c2
-rw-r--r--drivers/gpu/drm/i915/i915_gem_execbuffer.c21
2 files changed, 18 insertions, 5 deletions
diff --git a/drivers/gpu/drm/i915/i915_gem_context.c b/drivers/gpu/drm/i915/i915_gem_context.c
index 9359237b0017..3879ba305f64 100644
--- a/drivers/gpu/drm/i915/i915_gem_context.c
+++ b/drivers/gpu/drm/i915/i915_gem_context.c
@@ -319,6 +319,8 @@ static int i915_gem_context_enable_svm(struct i915_gem_context *ctx)
ctx->desc_template = create_svm_ctx_desc();
+ DRM_DEBUG_DRIVER("svm enabled for context %u\n", ctx->user_handle);
+
return 0;
}
diff --git a/drivers/gpu/drm/i915/i915_gem_execbuffer.c b/drivers/gpu/drm/i915/i915_gem_execbuffer.c
index e5d378919f59..826d7a898fa6 100644
--- a/drivers/gpu/drm/i915/i915_gem_execbuffer.c
+++ b/drivers/gpu/drm/i915/i915_gem_execbuffer.c
@@ -2640,11 +2640,15 @@ static int svm_select_context(struct drm_file *file,
struct i915_gem_context *ctx;
ctx = i915_gem_context_lookup(file->driver_priv, ctx_id);
- if (unlikely(!ctx))
+ if (unlikely(!ctx)) {
+ DRM_DEBUG_DRIVER("no such context %u\n", ctx_id);
return -ENOENT;
+ }
- if (!i915_gem_context_is_svm(ctx))
+ if (!i915_gem_context_is_svm(ctx)) {
+ DRM_DEBUG_DRIVER("context is not svm enabled %u\n", ctx_id);
return -EIO;
+ }
*ctx_out = ctx;
@@ -2727,8 +2731,10 @@ int i915_gem_exec_svm(struct drm_device *dev, void *data, struct drm_file *file)
const u64 bb = exec_svm->batch_ptr;
int ret;
- if (!access_ok(VERIFY_WRITE, bb, sizeof(bb)))
+ if (!access_ok(VERIFY_WRITE, bb, sizeof(bb))) {
+ DRM_DEBUG("no access\n");
return -EFAULT;
+ }
if (flags & ~(I915_EXEC_SVM_FENCE_OUT | I915_EXEC_SVM_FENCE_IN)) {
DRM_DEBUG("bad flags: 0x%08x\n", flags);
@@ -2737,8 +2743,10 @@ int i915_gem_exec_svm(struct drm_device *dev, void *data, struct drm_file *file)
engine = eb_select_engine(dev_priv, file,
lower_32_bits(exec_svm->flags));
- if (!engine)
+ if (!engine) {
+ DRM_DEBUG("no engine\n");
return -EINVAL;
+ }
intel_runtime_pm_get(dev_priv);
@@ -2747,13 +2755,16 @@ int i915_gem_exec_svm(struct drm_device *dev, void *data, struct drm_file *file)
goto pm_put;
ret = svm_select_context(file, ctx_id, &ctx);
- if (ret)
+ if (ret) {
+ DRM_DEBUG("no context\n");
goto unlock;
+ }
i915_gem_context_get(ctx);
req = i915_gem_request_alloc(engine, ctx);
if (IS_ERR(req)) {
+ DRM_DEBUG("no request\n");
ret = PTR_ERR(req);
goto ctx_put;
}