aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc
diff options
context:
space:
mode:
Diffstat (limited to 'arch/powerpc')
-rw-r--r--arch/powerpc/platforms/cell/spufs/switch.c13
1 files changed, 4 insertions, 9 deletions
diff --git a/arch/powerpc/platforms/cell/spufs/switch.c b/arch/powerpc/platforms/cell/spufs/switch.c
index d4dea1874847..c970b14bf7db 100644
--- a/arch/powerpc/platforms/cell/spufs/switch.c
+++ b/arch/powerpc/platforms/cell/spufs/switch.c
@@ -180,7 +180,7 @@ static inline void save_mfc_cntl(struct spu_state *csa, struct spu *spu)
180 case MFC_CNTL_SUSPEND_COMPLETE: 180 case MFC_CNTL_SUSPEND_COMPLETE:
181 if (csa) { 181 if (csa) {
182 csa->priv2.mfc_control_RW = 182 csa->priv2.mfc_control_RW =
183 in_be64(&priv2->mfc_control_RW) | 183 MFC_CNTL_SUSPEND_MASK |
184 MFC_CNTL_SUSPEND_DMA_QUEUE; 184 MFC_CNTL_SUSPEND_DMA_QUEUE;
185 } 185 }
186 break; 186 break;
@@ -190,9 +190,7 @@ static inline void save_mfc_cntl(struct spu_state *csa, struct spu *spu)
190 MFC_CNTL_SUSPEND_DMA_STATUS_MASK) == 190 MFC_CNTL_SUSPEND_DMA_STATUS_MASK) ==
191 MFC_CNTL_SUSPEND_COMPLETE); 191 MFC_CNTL_SUSPEND_COMPLETE);
192 if (csa) { 192 if (csa) {
193 csa->priv2.mfc_control_RW = 193 csa->priv2.mfc_control_RW = 0;
194 in_be64(&priv2->mfc_control_RW) &
195 ~MFC_CNTL_SUSPEND_DMA_QUEUE;
196 } 194 }
197 break; 195 break;
198 } 196 }
@@ -251,11 +249,8 @@ static inline void save_mfc_decr(struct spu_state *csa, struct spu *spu)
251 * Read MFC_CNTL[Ds]. Update saved copy of 249 * Read MFC_CNTL[Ds]. Update saved copy of
252 * CSA.MFC_CNTL[Ds]. 250 * CSA.MFC_CNTL[Ds].
253 */ 251 */
254 if (in_be64(&priv2->mfc_control_RW) & MFC_CNTL_DECREMENTER_RUNNING) { 252 csa->priv2.mfc_control_RW |=
255 csa->priv2.mfc_control_RW |= MFC_CNTL_DECREMENTER_RUNNING; 253 in_be64(&priv2->mfc_control_RW) & MFC_CNTL_DECREMENTER_RUNNING;
256 } else {
257 csa->priv2.mfc_control_RW &= ~MFC_CNTL_DECREMENTER_RUNNING;
258 }
259} 254}
260 255
261static inline void halt_mfc_decr(struct spu_state *csa, struct spu *spu) 256static inline void halt_mfc_decr(struct spu_state *csa, struct spu *spu)