diff options
author | Jeremy Kerr <jk@ozlabs.org> | 2008-04-07 03:42:36 -0400 |
---|---|---|
committer | Jeremy Kerr <jk@ozlabs.org> | 2008-05-04 23:33:42 -0400 |
commit | 943906ba4bebf629d5cd770e48b8ec0ddc433869 (patch) | |
tree | 24d8d7c9e112c0ec0bdbe875a636fef98cc00159 /arch/powerpc | |
parent | 5711fe900dfef8d9afdbbb6d0f9c9720919d1d66 (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.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) | |||
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 | ||