This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

How to release lsu shadow registers using prvid ?

Hi,

I am using SRIO peripheral on TI 6618 DSP.

The shadow register configuration is set to default i.e. each LSU is using 4 shadow registers.

Error Scenario: LSU is locked by one core say core 0 and need to be unlocked using the CBUSY bit. 

As per the SRIO user guide for the keystone device( Literature Number: SPRUGW1A, October 2011 )

" To overcome this issue, a CBUSY (clear busy) bit is present in the WO version of LSU_REG. A master on the device can intervene and set the CBUSY bit, along with the PRIVID information. If the PRIVID matched the information that came when the LSU was locked originally, the hardware will release the busy bit."

Can you please let me know from where i can read the PRVID to be used for unlocking the LSU?

I have tried PRVID - 9 with the CSL API (-- CSL_SRIO_CancelLSUTransaction( gSrioHandle, lsuNumber, privID) --). But this is not releasing the LSUs.

Please let me know the procedure of reading PRVID and the releasing the LSUs using PRVID.

Regards,

Chaitanaya

  • Here is a (partial) list of privID for masters for 6618:

     

    core 0   o

    core 1   1

    core 2   2

    core 3   3

    SRIO_cppi SRIO_M    9

     

    If the lock came from core 0, try to use privID 0 and report back

  • Thanks for your reply, 

    I have tried this, but this is not releasing the shadow registers.

    Is there any thing else which i need to do with this or does it require some time to release the shadow registers ?

    eg. privID = gCoreId;

    CSL_SRIO_CancelLSUTransaction( gSrioHandle, lsuNumber, privID);