Lines Matching refs:ctx

36 static void spufs_handle_event(struct spu_context *ctx,  in spufs_handle_event()  argument
41 if (ctx->flags & SPU_CREATE_EVENTS_ENABLED) { in spufs_handle_event()
42 ctx->event_return |= type; in spufs_handle_event()
43 wake_up_all(&ctx->stop_wq); in spufs_handle_event()
58 ctx->ops->restart_dma(ctx); in spufs_handle_event()
68 ctx->ops->npc_read(ctx) - 4; in spufs_handle_event()
77 int spufs_handle_class0(struct spu_context *ctx) in spufs_handle_class0() argument
79 unsigned long stat = ctx->csa.class_0_pending & CLASS0_INTR_MASK; in spufs_handle_class0()
85 spufs_handle_event(ctx, ctx->csa.class_0_dar, in spufs_handle_class0()
89 spufs_handle_event(ctx, ctx->csa.class_0_dar, in spufs_handle_class0()
93 spufs_handle_event(ctx, ctx->csa.class_0_dar, in spufs_handle_class0()
96 ctx->csa.class_0_pending = 0; in spufs_handle_class0()
110 int spufs_handle_class1(struct spu_context *ctx) in spufs_handle_class1() argument
126 ea = ctx->csa.class_1_dar; in spufs_handle_class1()
127 dsisr = ctx->csa.class_1_dsisr; in spufs_handle_class1()
132 spuctx_switch_state(ctx, SPU_UTIL_IOWAIT); in spufs_handle_class1()
134 pr_debug("ctx %p: ea %016llx, dsisr %016llx state %d\n", ctx, ea, in spufs_handle_class1()
135 dsisr, ctx->state); in spufs_handle_class1()
137 ctx->stats.hash_flt++; in spufs_handle_class1()
138 if (ctx->state == SPU_STATE_RUNNABLE) in spufs_handle_class1()
139 ctx->spu->stats.hash_flt++; in spufs_handle_class1()
142 spu_release(ctx); in spufs_handle_class1()
158 mutex_lock(&ctx->state_mutex); in spufs_handle_class1()
165 ctx->csa.class_1_dar = ctx->csa.class_1_dsisr = 0; in spufs_handle_class1()
174 ctx->stats.maj_flt++; in spufs_handle_class1()
176 ctx->stats.min_flt++; in spufs_handle_class1()
177 if (ctx->state == SPU_STATE_RUNNABLE) { in spufs_handle_class1()
179 ctx->spu->stats.maj_flt++; in spufs_handle_class1()
181 ctx->spu->stats.min_flt++; in spufs_handle_class1()
184 if (ctx->spu) in spufs_handle_class1()
185 ctx->ops->restart_dma(ctx); in spufs_handle_class1()
187 spufs_handle_event(ctx, ea, SPE_EVENT_SPE_DATA_STORAGE); in spufs_handle_class1()
189 spuctx_switch_state(ctx, SPU_UTIL_SYSTEM); in spufs_handle_class1()