[Cbe-oss-dev] [PATCH 1/3] spufs context switch - spu mfc save

Kazunori Asayama asayama at sm.sony.co.jp
Thu Apr 24 18:10:37 EST 2008


Jeremy Kerr wrote:
> Asayama-san,
> 
>> The MFC_CNTL[Ds] bit in the CSA is updated at the Step 12
>> (save_mfc_decr) by or'ing the actual value, however, such update
>> doesn't work correctly if the MFC_CNTL[Ds] changes from 1 to 0
>> between the Step 8 (save_mfc_cntl) and Step 11 (save_spu_status),
>> once your change is applied. So it will be needed that the
>> MFC_CNTL[Ds] bit in the CSA is masked at the Step 12 (save_mfc_decr)
>> or that the MFC_CNTL[Ds] is excluded at the Step 8 (save_mfc_cntl).
> 
> OK, so we just need to mask-out the Ds bit in the CSA before or-ing in 
> the Ds bit from the HW. Patch coming...
> 
>> There may be other similar bits in the MFC_CNTL. Please look into
>> behavior of each MFC_CNTL bit.
> 
> It looks like we should do the same with the Q bit. MFC commands can 
> still be issued while the queue is suspended.

Right, that is the problem mentioned in the message http://ozlabs.org/pipermail/cbe-oss-dev/2007-August/003139.html

> 
> The alternative would be to stop the SPU before we save MFC_CNTL...

Hmm, I'm not sure that such change has no unexpected side effect...

> 
> Cheers,
> 
> 
> Jeremy
-- 
(ASAYAMA Kazunori
  (asayama at sm.sony.co.jp))
t



More information about the cbe-oss-dev mailing list