summaryrefslogtreecommitdiff
path: root/arch/powerpc/platforms/cell/spufs/spu_restore.c
diff options
context:
space:
mode:
authorMasato Noguchi <Masato.Noguchi@jp.sony.com>2007-07-20 19:39:41 (GMT)
committerArnd Bergmann <arnd@klappe.arndb.de>2007-07-20 19:42:03 (GMT)
commitca53da3abb1d49748931ff2acb66d5a6eeeba2a1 (patch)
tree071c3894b1aea8db2b4e9a0cf10789171bb1ab4c /arch/powerpc/platforms/cell/spufs/spu_restore.c
parentcf17df223c8cd56a92f34162f2a362eec9f4b157 (diff)
downloadlinux-fsl-qoriq-ca53da3abb1d49748931ff2acb66d5a6eeeba2a1.tar.xz
[CELL] spufs: change decrementer restore timing
The SPU decrementer should be restored after the LSCSA DMA has completed. Signed-off-by: Masato Noguchi <Masato.Noguchi@jp.sony.com> Signed-off-by: Jeremy Kerr <jk@ozlabs.org> Signed-off-by: Arnd Bergmann <arnd.bergmann@de.ibm.com>
Diffstat (limited to 'arch/powerpc/platforms/cell/spufs/spu_restore.c')
-rw-r--r--arch/powerpc/platforms/cell/spufs/spu_restore.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/powerpc/platforms/cell/spufs/spu_restore.c b/arch/powerpc/platforms/cell/spufs/spu_restore.c
index 7114e03..21a9c95 100644
--- a/arch/powerpc/platforms/cell/spufs/spu_restore.c
+++ b/arch/powerpc/platforms/cell/spufs/spu_restore.c
@@ -84,7 +84,7 @@ static inline void restore_decr(void)
unsigned int decr_running;
unsigned int decr;
- /* Restore, Step 6:
+ /* Restore, Step 6(moved):
* If the LSCSA "decrementer running" flag is set
* then write the SPU_WrDec channel with the
* decrementer value from LSCSA.
@@ -318,10 +318,10 @@ int main()
build_dma_list(lscsa_ea); /* Step 3. */
restore_upper_240kb(lscsa_ea); /* Step 4. */
/* Step 5: done by 'exit'. */
- restore_decr(); /* Step 6. */
enqueue_putllc(lscsa_ea); /* Step 7. */
set_tag_update(); /* Step 8. */
read_tag_status(); /* Step 9. */
+ restore_decr(); /* moved Step 6. */
read_llar_status(); /* Step 10. */
write_ppu_mb(); /* Step 11. */
write_ppuint_mb(); /* Step 12. */