aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
Diffstat (limited to 'arch')
-rw-r--r--arch/powerpc/platforms/cell/spufs/switch.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/arch/powerpc/platforms/cell/spufs/switch.c b/arch/powerpc/platforms/cell/spufs/switch.c
index 9d9d82dd32ba..0f782ca662ba 100644
--- a/arch/powerpc/platforms/cell/spufs/switch.c
+++ b/arch/powerpc/platforms/cell/spufs/switch.c
@@ -1779,6 +1779,15 @@ static inline void restore_mfc_cntl(struct spu_state *csa, struct spu *spu)
1779 */ 1779 */
1780 out_be64(&priv2->mfc_control_RW, csa->priv2.mfc_control_RW); 1780 out_be64(&priv2->mfc_control_RW, csa->priv2.mfc_control_RW);
1781 eieio(); 1781 eieio();
1782 /*
1783 * FIXME: this is to restart a DMA that we were processing
1784 * before the save. better remember the fault information
1785 * in the csa instead.
1786 */
1787 if ((csa->priv2.mfc_control_RW & MFC_CNTL_SUSPEND_DMA_QUEUE_MASK)) {
1788 out_be64(&priv2->mfc_control_RW, MFC_CNTL_RESTART_DMA_COMMAND);
1789 eieio();
1790 }
1782} 1791}
1783 1792
1784static inline void enable_user_access(struct spu_state *csa, struct spu *spu) 1793static inline void enable_user_access(struct spu_state *csa, struct spu *spu)