aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc
diff options
context:
space:
mode:
authorJeremy Kerr <jk@ozlabs.org>2008-04-07 03:42:36 -0400
committerJeremy Kerr <jk@ozlabs.org>2008-05-04 23:33:42 -0400
commit943906ba4bebf629d5cd770e48b8ec0ddc433869 (patch)
tree24d8d7c9e112c0ec0bdbe875a636fef98cc00159 /arch/powerpc
parent5711fe900dfef8d9afdbbb6d0f9c9720919d1d66 (diff)
[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')
-rw-r--r--arch/powerpc/platforms/cell/spufs/switch.c4
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)
462 * Restore, Step 14. 462 * Restore, Step 14.
463 * Write MFC_CNTL[Pc]=1 (purge queue). 463 * Write MFC_CNTL[Pc]=1 (purge queue).
464 */ 464 */
465 out_be64(&priv2->mfc_control_RW, MFC_CNTL_PURGE_DMA_REQUEST); 465 out_be64(&priv2->mfc_control_RW,
466 MFC_CNTL_PURGE_DMA_REQUEST |
467 MFC_CNTL_SUSPEND_MASK);
466 eieio(); 468 eieio();
467} 469}
468 470