Преглед на файлове

[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>
Jeremy Kerr преди 17 години
родител
ревизия
943906ba4b
променени са 1 файла, в които са добавени 3 реда и са изтрити 1 реда
  1. 3 1
      arch/powerpc/platforms/cell/spufs/switch.c

+ 3 - 1
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();
 }