|
@@ -387,6 +387,19 @@ static inline void save_ppu_querytype(struct spu_state *csa, struct spu *spu)
|
|
|
csa->prob.dma_querytype_RW = in_be32(&prob->dma_querytype_RW);
|
|
|
}
|
|
|
|
|
|
+static inline void save_ppu_tagstatus(struct spu_state *csa, struct spu *spu)
|
|
|
+{
|
|
|
+ struct spu_problem __iomem *prob = spu->problem;
|
|
|
+
|
|
|
+ /* Save the Prxy_TagStatus register in the CSA.
|
|
|
+ *
|
|
|
+ * It is unnecessary to restore dma_tagstatus_R, however,
|
|
|
+ * dma_tagstatus_R in the CSA is accessed via backing_ops, so
|
|
|
+ * we must save it.
|
|
|
+ */
|
|
|
+ csa->prob.dma_tagstatus_R = in_be32(&prob->dma_tagstatus_R);
|
|
|
+}
|
|
|
+
|
|
|
static inline void save_mfc_csr_tsq(struct spu_state *csa, struct spu *spu)
|
|
|
{
|
|
|
struct spu_priv2 __iomem *priv2 = spu->priv2;
|
|
@@ -1812,6 +1825,7 @@ static void save_csa(struct spu_state *prev, struct spu *spu)
|
|
|
save_mfc_queues(prev, spu); /* Step 19. */
|
|
|
save_ppu_querymask(prev, spu); /* Step 20. */
|
|
|
save_ppu_querytype(prev, spu); /* Step 21. */
|
|
|
+ save_ppu_tagstatus(prev, spu); /* NEW. */
|
|
|
save_mfc_csr_tsq(prev, spu); /* Step 22. */
|
|
|
save_mfc_csr_cmd(prev, spu); /* Step 23. */
|
|
|
save_mfc_csr_ato(prev, spu); /* Step 24. */
|