Merge branch 'for-linus' into for-next
[deliverable/linux.git] / drivers / gpu / drm / i915 / i915_gem_context.c
index 8c688a5f1589316b3f303d9a5b90857af7e112f8..43761c5bcacadd33368c0de66d54cf94c2f5e361 100644 (file)
@@ -141,8 +141,6 @@ static void i915_gem_context_clean(struct intel_context *ctx)
        if (!ppgtt)
                return;
 
-       WARN_ON(!list_empty(&ppgtt->base.active_list));
-
        list_for_each_entry_safe(vma, next, &ppgtt->base.inactive_list,
                                 mm_list) {
                if (WARN_ON(__i915_vma_unbind_no_wait(vma)))
@@ -556,7 +554,7 @@ mi_set_context(struct drm_i915_gem_request *req, u32 hw_flags)
                                if (signaller == ring)
                                        continue;
 
-                               intel_ring_emit(ring, RING_PSMI_CTL(signaller->mmio_base));
+                               intel_ring_emit_reg(ring, RING_PSMI_CTL(signaller->mmio_base));
                                intel_ring_emit(ring, _MASKED_BIT_ENABLE(GEN6_PSMI_SLEEP_MSG_DISABLE));
                        }
                }
@@ -581,7 +579,7 @@ mi_set_context(struct drm_i915_gem_request *req, u32 hw_flags)
                                if (signaller == ring)
                                        continue;
 
-                               intel_ring_emit(ring, RING_PSMI_CTL(signaller->mmio_base));
+                               intel_ring_emit_reg(ring, RING_PSMI_CTL(signaller->mmio_base));
                                intel_ring_emit(ring, _MASKED_BIT_DISABLE(GEN6_PSMI_SLEEP_MSG_DISABLE));
                        }
                }
@@ -925,6 +923,14 @@ int i915_gem_context_getparam_ioctl(struct drm_device *dev, void *data,
        case I915_CONTEXT_PARAM_NO_ZEROMAP:
                args->value = ctx->flags & CONTEXT_NO_ZEROMAP;
                break;
+       case I915_CONTEXT_PARAM_GTT_SIZE:
+               if (ctx->ppgtt)
+                       args->value = ctx->ppgtt->base.total;
+               else if (to_i915(dev)->mm.aliasing_ppgtt)
+                       args->value = to_i915(dev)->mm.aliasing_ppgtt->base.total;
+               else
+                       args->value = to_i915(dev)->gtt.base.total;
+               break;
        default:
                ret = -EINVAL;
                break;
This page took 0.025729 seconds and 5 git commands to generate.