Lines Matching refs:prev

1775 static int quiece_spu(struct spu_state *prev, struct spu *spu)
1787 if (check_spu_isolate(prev, spu)) { /* Step 2. */
1790 disable_interrupts(prev, spu); /* Step 3. */
1791 set_watchdog_timer(prev, spu); /* Step 4. */
1792 inhibit_user_access(prev, spu); /* Step 5. */
1793 if (check_spu_isolate(prev, spu)) { /* Step 6. */
1796 set_switch_pending(prev, spu); /* Step 7. */
1797 save_mfc_cntl(prev, spu); /* Step 8. */
1798 save_spu_runcntl(prev, spu); /* Step 9. */
1799 save_mfc_sr1(prev, spu); /* Step 10. */
1800 save_spu_status(prev, spu); /* Step 11. */
1801 save_mfc_stopped_status(prev, spu); /* Step 12. */
1802 halt_mfc_decr(prev, spu); /* Step 13. */
1803 save_timebase(prev, spu); /* Step 14. */
1804 remove_other_spu_access(prev, spu); /* Step 15. */
1805 do_mfc_mssync(prev, spu); /* Step 16. */
1806 issue_mfc_tlbie(prev, spu); /* Step 17. */
1807 handle_pending_interrupts(prev, spu); /* Step 18. */
1812 static void save_csa(struct spu_state *prev, struct spu *spu)
1819 save_mfc_queues(prev, spu); /* Step 19. */
1820 save_ppu_querymask(prev, spu); /* Step 20. */
1821 save_ppu_querytype(prev, spu); /* Step 21. */
1822 save_ppu_tagstatus(prev, spu); /* NEW. */
1823 save_mfc_csr_tsq(prev, spu); /* Step 22. */
1824 save_mfc_csr_cmd(prev, spu); /* Step 23. */
1825 save_mfc_csr_ato(prev, spu); /* Step 24. */
1826 save_mfc_tclass_id(prev, spu); /* Step 25. */
1827 set_mfc_tclass_id(prev, spu); /* Step 26. */
1828 save_mfc_cmd(prev, spu); /* Step 26a - moved from 44. */
1829 purge_mfc_queue(prev, spu); /* Step 27. */
1830 wait_purge_complete(prev, spu); /* Step 28. */
1831 setup_mfc_sr1(prev, spu); /* Step 30. */
1832 save_spu_npc(prev, spu); /* Step 31. */
1833 save_spu_privcntl(prev, spu); /* Step 32. */
1834 reset_spu_privcntl(prev, spu); /* Step 33. */
1835 save_spu_lslr(prev, spu); /* Step 34. */
1836 reset_spu_lslr(prev, spu); /* Step 35. */
1837 save_spu_cfg(prev, spu); /* Step 36. */
1838 save_pm_trace(prev, spu); /* Step 37. */
1839 save_mfc_rag(prev, spu); /* Step 38. */
1840 save_ppu_mb_stat(prev, spu); /* Step 39. */
1841 save_ppu_mb(prev, spu); /* Step 40. */
1842 save_ppuint_mb(prev, spu); /* Step 41. */
1843 save_ch_part1(prev, spu); /* Step 42. */
1844 save_spu_mb(prev, spu); /* Step 43. */
1845 reset_ch(prev, spu); /* Step 45. */
1848 static void save_lscsa(struct spu_state *prev, struct spu *spu)
1856 resume_mfc_queue(prev, spu); /* Step 46. */
1858 setup_mfc_slbs(prev, spu, spu_save_code, sizeof(spu_save_code));
1859 set_switch_active(prev, spu); /* Step 48. */
1860 enable_interrupts(prev, spu); /* Step 49. */
1861 save_ls_16kb(prev, spu); /* Step 50. */
1862 set_spu_npc(prev, spu); /* Step 51. */
1863 set_signot1(prev, spu); /* Step 52. */
1864 set_signot2(prev, spu); /* Step 53. */
1865 send_save_code(prev, spu); /* Step 54. */
1866 set_ppu_querymask(prev, spu); /* Step 55. */
1867 wait_tag_complete(prev, spu); /* Step 56. */
1868 wait_spu_stopped(prev, spu); /* Step 57. */
1916 static void harvest(struct spu_state *prev, struct spu *spu)
1924 disable_interrupts(prev, spu); /* Step 2. */
1925 inhibit_user_access(prev, spu); /* Step 3. */
1926 terminate_spu_app(prev, spu); /* Step 4. */
1927 set_switch_pending(prev, spu); /* Step 5. */
1929 remove_other_spu_access(prev, spu); /* Step 6. */
1930 suspend_mfc_and_halt_decr(prev, spu); /* Step 7. */
1931 wait_suspend_mfc_complete(prev, spu); /* Step 8. */
1932 if (!suspend_spe(prev, spu)) /* Step 9. */
1933 clear_spu_status(prev, spu); /* Step 10. */
1934 do_mfc_mssync(prev, spu); /* Step 11. */
1935 issue_mfc_tlbie(prev, spu); /* Step 12. */
1936 handle_pending_interrupts(prev, spu); /* Step 13. */
1937 purge_mfc_queue(prev, spu); /* Step 14. */
1938 wait_purge_complete(prev, spu); /* Step 15. */
1939 reset_spu_privcntl(prev, spu); /* Step 16. */
1940 reset_spu_lslr(prev, spu); /* Step 17. */
1941 setup_mfc_sr1(prev, spu); /* Step 18. */
1943 reset_ch_part1(prev, spu); /* Step 20. */
1944 reset_ch_part2(prev, spu); /* Step 21. */
1945 enable_interrupts(prev, spu); /* Step 22. */
1946 set_switch_active(prev, spu); /* Step 23. */
1947 set_mfc_tclass_id(prev, spu); /* Step 24. */
1948 resume_mfc_queue(prev, spu); /* Step 25. */
2022 static int __do_spu_save(struct spu_state *prev, struct spu *spu)
2038 rc = quiece_spu(prev, spu); /* Steps 2-16. */
2043 harvest(prev, spu);
2049 save_csa(prev, spu); /* Steps 17-43. */
2050 save_lscsa(prev, spu); /* Steps 44-53. */
2051 return check_save_status(prev, spu); /* Step 54. */
2087 * @prev: pointer to SPU context save area, to be saved.
2092 int spu_save(struct spu_state *prev, struct spu *spu)
2097 rc = __do_spu_save(prev, spu); /* Steps 2-53. */