drm/i915: Flatten engine init control flow
authorDaniel Vetter <daniel.vetter@ffwll.ch>
Wed, 19 Nov 2014 23:33:08 +0000 (00:33 +0100)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Wed, 3 Dec 2014 08:35:29 +0000 (09:35 +0100)
Now that sanity prevails and we have the clean split between software
init and starting the engines we can drop all the "have we allocate
this struct already?" nonsense.

Execlist code could benefit quite a bit more still, but that's for
another patch.

Reviewed-by: Dave Gordon <david.s.gordon@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
drivers/gpu/drm/i915/i915_cmd_parser.c
drivers/gpu/drm/i915/intel_lrc.c
drivers/gpu/drm/i915/intel_ringbuffer.c

index 22c992a..6e9eac4 100644 (file)
@@ -716,13 +716,13 @@ int i915_cmd_parser_init_ring(struct intel_engine_cs *ring)
        BUG_ON(!validate_cmds_sorted(ring, cmd_tables, cmd_table_count));
        BUG_ON(!validate_regs_sorted(ring));
 
-       if (hash_empty(ring->cmd_hash)) {
-               ret = init_hash_table(ring, cmd_tables, cmd_table_count);
-               if (ret) {
-                       DRM_ERROR("CMD: cmd_parser_init failed!\n");
-                       fini_hash_table(ring);
-                       return ret;
-               }
+       WARN_ON(!hash_empty(ring->cmd_hash));
+
+       ret = init_hash_table(ring, cmd_tables, cmd_table_count);
+       if (ret) {
+               DRM_ERROR("CMD: cmd_parser_init failed!\n");
+               fini_hash_table(ring);
+               return ret;
        }
 
        ring->needs_cmd_parser = true;
index 4ffb08c..d6f8253 100644 (file)
@@ -1833,8 +1833,7 @@ int intel_lr_context_deferred_create(struct intel_context *ctx,
        int ret;
 
        WARN_ON(ctx->legacy_hw_ctx.rcs_state != NULL);
-       if (ctx->engine[ring->id].state)
-               return 0;
+       WARN_ON(ctx->engine[ring->id].state);
 
        context_size = round_up(get_lr_context_size(ring), 4096);