diff options
Diffstat (limited to 'arch/powerpc')
-rw-r--r-- | arch/powerpc/platforms/cell/spufs/backing_ops.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/arch/powerpc/platforms/cell/spufs/backing_ops.c b/arch/powerpc/platforms/cell/spufs/backing_ops.c index 50d98a154aaf..64eb15b22040 100644 --- a/arch/powerpc/platforms/cell/spufs/backing_ops.c +++ b/arch/powerpc/platforms/cell/spufs/backing_ops.c | |||
@@ -288,6 +288,12 @@ static void spu_backing_runcntl_write(struct spu_context *ctx, u32 val) | |||
288 | spin_lock(&ctx->csa.register_lock); | 288 | spin_lock(&ctx->csa.register_lock); |
289 | ctx->csa.prob.spu_runcntl_RW = val; | 289 | ctx->csa.prob.spu_runcntl_RW = val; |
290 | if (val & SPU_RUNCNTL_RUNNABLE) { | 290 | if (val & SPU_RUNCNTL_RUNNABLE) { |
291 | ctx->csa.prob.spu_status_R &= | ||
292 | ~SPU_STATUS_STOPPED_BY_STOP & | ||
293 | ~SPU_STATUS_STOPPED_BY_HALT & | ||
294 | ~SPU_STATUS_SINGLE_STEP & | ||
295 | ~SPU_STATUS_INVALID_INSTR & | ||
296 | ~SPU_STATUS_INVALID_CH; | ||
291 | ctx->csa.prob.spu_status_R |= SPU_STATUS_RUNNING; | 297 | ctx->csa.prob.spu_status_R |= SPU_STATUS_RUNNING; |
292 | } else { | 298 | } else { |
293 | ctx->csa.prob.spu_status_R &= ~SPU_STATUS_RUNNING; | 299 | ctx->csa.prob.spu_status_R &= ~SPU_STATUS_RUNNING; |