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 Restart the Lsu When confronting a doorbell Retry response?



My Srio communication system consist of 10 dsp useing switches for connection,

every time I Transfer a Msgi wiil post a doorbell to generate a interrupt to inform the target Dsp to receive it,However  becasue of  too many msg transaction.

when I post a doorbell to Target  dsp which doesn't finish its previous msg reception and still not clear it's doorbell IESR bit 。

in that case i find that i got a doorbell Retry response through reading LSU_STATE_REG and the error code is 110。

i find this error will block my Lsu and the make my next transection timeing-out.so i want to restart it.

is writing 1 to LSU_EG6 RESTART bit that can restart it succefully,and make it ready for next transection.

And in What time to restart it is better ?

when i got a error interrupt bit in LSU_IESR_ICSR and put the restart func in ISR handler?

or in other place to restart it ?

i really need hellp ,plz replay me .

  • Hi,

    The doorbell timeout CC is self explanatory, but the Retry CC occurs when a DSP receives a Retry doorbell response.  A retry response is sent by our DSP when an incoming doorbell request tries to set a ICSR bit that is already set, i.e. the RX devices has not serviced/cleared the preceding interrupt.  So if you modified your example to poll the ISCR bit, clear it, then send back a doorbell request, you should never see this CC.

    Please take a look at below similar thread:

    Thanks,

  • Thanks for your reply,
    you know that i does clear the Iscr bit in the Isr hadler(at the end of Isr function) ,and my whole Isr hadler consum about 1000 cycles.
    however i have mutiple Tx device which maybe transfer msgs to the same rx device .
    And that sometiomes occur a collision that a doorbell from dsp 2 arrives at dsp 0 while the previous doorbell ISR handler from dsp1 to dsp 0 hasn't finish and the clear ISCR bit hasn;t been excute yet.
    then dsp 2 got a doorbell retry response . and my next Transection will block time-out.
    this circumstances not always happen ,i can tolerate the miss of this doorbell transmission but i do need a way to restart the lsu or to make the lsu ready for next transmission.