[POWERPC] spufs: bind_context sets SPU_STATE_RUNNABLE
authorChristoph Hellwig <hch@lst.de>
Tue, 13 Feb 2007 20:36:48 +0000 (21:36 +0100)
committerArnd Bergmann <arnd@klappe.arndb.de>
Tue, 13 Feb 2007 20:52:36 +0000 (21:52 +0100)
Only bind_context/unbind_context change the spu context state.  Thus
we can move all assignents of SPU_STATE_RUNNABLE into bind_context,
which parallels the unbind side aswell.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Arnd Bergmann <arnd.bergmann@de.ibm.com>
arch/powerpc/platforms/cell/spufs/context.c
arch/powerpc/platforms/cell/spufs/sched.c

index dd89aa7c1f1641e5f0e7737f20dff8ac665509e6..ccffc449763b215db323fa3bfc384bff1eb1be55 100644 (file)
@@ -139,7 +139,6 @@ int spu_acquire_exclusive(struct spu_context *ctx)
                ret = spu_activate(ctx, 0);
                if (ret)
                        goto out;
-               ctx->state = SPU_STATE_RUNNABLE;
        } else {
                /* We need to exclude userspace access to the context. */
                spu_unmap_mappings(ctx);
@@ -173,7 +172,6 @@ int spu_acquire_runnable(struct spu_context *ctx)
                ret = spu_activate(ctx, 0);
                if (ret)
                        goto out;
-               ctx->state = SPU_STATE_RUNNABLE;
        }
 
        downgrade_write(&ctx->state_sema);
index 6599cba9689b26174e65029a694968f7d478092e..7e9657eb690c4461011d72c13faa6e03923627b0 100644 (file)
@@ -118,6 +118,8 @@ static inline void bind_context(struct spu *spu, struct spu_context *ctx)
        spu->timestamp = jiffies;
        spu_cpu_affinity_set(spu, raw_smp_processor_id());
        spu_switch_notify(spu, ctx);
+
+       ctx->state = SPU_STATE_RUNNABLE;
 }
 
 static inline void unbind_context(struct spu *spu, struct spu_context *ctx)