diff options
author | Jeremy Kerr <jk@ozlabs.org> | 2008-03-26 23:59:58 -0400 |
---|---|---|
committer | Jeremy Kerr <jk@ozlabs.org> | 2008-03-27 23:36:08 -0400 |
commit | 36d29edb6dded938bf07f741a0bb0f2a7116e617 (patch) | |
tree | 67746c4fc5a0ac7a1a3c07a403d0f7a264c88a4d /arch | |
parent | 4eb5aef583aab29dc125b6c2feb0b31f2e350c45 (diff) |
[POWERPC] spufs: save MFC command channel before purging MFC queue
During the context save process, we currently save the MFC command
channel after purging the MFC queues. This causes a systemsim warning,
as the command channel may be in an unknown state after the purge.
This change does the save before purging the MFC queues.
Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/powerpc/platforms/cell/spufs/switch.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/powerpc/platforms/cell/spufs/switch.c b/arch/powerpc/platforms/cell/spufs/switch.c index e9dc7a55d1b9..d2a1249d36dd 100644 --- a/arch/powerpc/platforms/cell/spufs/switch.c +++ b/arch/powerpc/platforms/cell/spufs/switch.c | |||
@@ -1815,6 +1815,7 @@ static void save_csa(struct spu_state *prev, struct spu *spu) | |||
1815 | save_mfc_csr_ato(prev, spu); /* Step 24. */ | 1815 | save_mfc_csr_ato(prev, spu); /* Step 24. */ |
1816 | save_mfc_tclass_id(prev, spu); /* Step 25. */ | 1816 | save_mfc_tclass_id(prev, spu); /* Step 25. */ |
1817 | set_mfc_tclass_id(prev, spu); /* Step 26. */ | 1817 | set_mfc_tclass_id(prev, spu); /* Step 26. */ |
1818 | save_mfc_cmd(prev, spu); /* Step 26a - moved from 44. */ | ||
1818 | purge_mfc_queue(prev, spu); /* Step 27. */ | 1819 | purge_mfc_queue(prev, spu); /* Step 27. */ |
1819 | wait_purge_complete(prev, spu); /* Step 28. */ | 1820 | wait_purge_complete(prev, spu); /* Step 28. */ |
1820 | setup_mfc_sr1(prev, spu); /* Step 30. */ | 1821 | setup_mfc_sr1(prev, spu); /* Step 30. */ |
@@ -1831,7 +1832,6 @@ static void save_csa(struct spu_state *prev, struct spu *spu) | |||
1831 | save_ppuint_mb(prev, spu); /* Step 41. */ | 1832 | save_ppuint_mb(prev, spu); /* Step 41. */ |
1832 | save_ch_part1(prev, spu); /* Step 42. */ | 1833 | save_ch_part1(prev, spu); /* Step 42. */ |
1833 | save_spu_mb(prev, spu); /* Step 43. */ | 1834 | save_spu_mb(prev, spu); /* Step 43. */ |
1834 | save_mfc_cmd(prev, spu); /* Step 44. */ | ||
1835 | reset_ch(prev, spu); /* Step 45. */ | 1835 | reset_ch(prev, spu); /* Step 45. */ |
1836 | } | 1836 | } |
1837 | 1837 | ||