[Cbe-oss-dev] [PATCH] spufs: Avoid restarting MFC in context saving

Kazunori Asayama asayama at sm.sony.co.jp
Tue Jul 3 23:08:48 EST 2007


Jeremy Kerr <jk at ozlabs.org> wrote:
> Asayama-san,
> 
> > When saving context, save_mfc_cntl is called to suspend MFC. The
> > suspend_mfc is used to restore context (and isolation mode support).
> > So the DMA has already been suspended when halt_mfc_decr is called,
> > and we must use Sm bit in halt_mfc_decr in order to keep that status.
> 
> Silly me, was under the (incorrect) impression that "suspend_mfc" was 
> where we suspend the mfc :)
> 
> Looking closer, you're exactly right. I think we should set Sm in 
> save_mfc_cntl(), after we've saved the register to the csa. How does 
> that sound?

Are you saying that we should add:

  out_be64(&priv2->mfc_control_RW, 1ull << 4);

at the end of save_mfc_cntl ?

I think that such an operation is nonsense; I understand that if we
don't want to change the MFC operation state, the Sm bit must be set
every time we write values to the register.

> 
> I can do up a patch if you prefer.
> 
> Cheers,
> 
> 
> Jeremy
> (who is going to read up on the save/restore process a little more)



More information about the cbe-oss-dev mailing list