diff options
author | Jeremy Kerr <jk@ozlabs.org> | 2008-04-07 17:42:36 +1000 |
---|---|---|
committer | Jeremy Kerr <jk@ozlabs.org> | 2008-05-05 13:33:42 +1000 |
commit | 943906ba4bebf629d5cd770e48b8ec0ddc433869 (patch) | |
tree | 24d8d7c9e112c0ec0bdbe875a636fef98cc00159 /arch/powerpc/platforms/cell | |
parent | 5711fe900dfef8d9afdbbb6d0f9c9720919d1d66 (diff) | |
download | blackbird-op-linux-943906ba4bebf629d5cd770e48b8ec0ddc433869.tar.gz blackbird-op-linux-943906ba4bebf629d5cd770e48b8ec0ddc433869.zip |
[POWERPC] spufs: don't touch suspend bits when purging DMA queue
When we issue a MFC purge request, we may inadvertantly clear the
suspended status.
This change adds the MFC_CNTL_SUSPEND_MASK when we issue a purge
request, so that the suspend bit is masked out.
Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
Diffstat (limited to 'arch/powerpc/platforms/cell')
-rw-r--r-- | arch/powerpc/platforms/cell/spufs/switch.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/arch/powerpc/platforms/cell/spufs/switch.c b/arch/powerpc/platforms/cell/spufs/switch.c index d2a1249d36dd..65b423b6da48 100644 --- a/arch/powerpc/platforms/cell/spufs/switch.c +++ b/arch/powerpc/platforms/cell/spufs/switch.c @@ -462,7 +462,9 @@ static inline void purge_mfc_queue(struct spu_state *csa, struct spu *spu) * Restore, Step 14. * Write MFC_CNTL[Pc]=1 (purge queue). */ - out_be64(&priv2->mfc_control_RW, MFC_CNTL_PURGE_DMA_REQUEST); + out_be64(&priv2->mfc_control_RW, + MFC_CNTL_PURGE_DMA_REQUEST | + MFC_CNTL_SUSPEND_MASK); eieio(); } |