diff options
author | Jeremy Kerr <jk@ozlabs.org> | 2009-02-16 19:44:14 -0500 |
---|---|---|
committer | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2009-02-22 18:48:59 -0500 |
commit | 3688b46b89a1a64d5eeb0df5f9d82e109712fffe (patch) | |
tree | 51837883e7cfe16f1e8434758f1b4186b72c1a2c /arch/powerpc/platforms/cell | |
parent | 60ee031940c1b09c137b617a8829e2f081961fe0 (diff) |
powerpc/spufs: Clear purge status before setting up isolated mode
Currently, we may setup the MFC for isolated mode initilaisation with
the purge still active. This means that DMAs required to perform the
init do not happen.
This change clears the purge status after doing the purge, so that
the isolated init can proceed.
Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Diffstat (limited to 'arch/powerpc/platforms/cell')
-rw-r--r-- | arch/powerpc/platforms/cell/spufs/run.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/powerpc/platforms/cell/spufs/run.c b/arch/powerpc/platforms/cell/spufs/run.c index c58bd36b0c5b..4ddf769a64e5 100644 --- a/arch/powerpc/platforms/cell/spufs/run.c +++ b/arch/powerpc/platforms/cell/spufs/run.c | |||
@@ -117,6 +117,9 @@ static int spu_setup_isolated(struct spu_context *ctx) | |||
117 | cond_resched(); | 117 | cond_resched(); |
118 | } | 118 | } |
119 | 119 | ||
120 | /* clear purge status */ | ||
121 | out_be64(mfc_cntl, 0); | ||
122 | |||
120 | /* put the SPE in kernel mode to allow access to the loader */ | 123 | /* put the SPE in kernel mode to allow access to the loader */ |
121 | sr1 = spu_mfc_sr1_get(ctx->spu); | 124 | sr1 = spu_mfc_sr1_get(ctx->spu); |
122 | sr1 &= ~MFC_STATE1_PROBLEM_STATE_MASK; | 125 | sr1 &= ~MFC_STATE1_PROBLEM_STATE_MASK; |