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.

SRIO Doorbell Source



Hi all,

I was wondering if there was a way to get the source ID of a sender when receiving a doorbell.  We need to be able to know/figure out what source ID is sending the SRIO doorbell so that we can take the appropriate action.  We are looking at a network that could have more than 64 nodes, so we'll need a way to figure out where the doorbell is coming from.

I checked the documentation, and it looks like there is no way to know the source ID of the doorbell sender (even though it should be part of the physical layer packet), but I want to know for sure if there is a way to get this info, or if we will have to get creative with how we decode the info.

Thanks in advance,

Erick

  • Erik,

    Unfortunately, from the receiving device's perspective, there is no way for software to determine the srcid of the device sending the doorbell.  You will have to build a scheme for decoding this information.  Perhaps an Nwrite to a given/known memory location that the receiving device can access.  The sending device could  do an Nwrite to write the srcID into the receiving device's memory after doorbell completes successfully (good CC).  The receiving device would then get the interrupt and then check the memory location to see who sent it.

    Hope that helps,

    Travis

  • Hello Travis,

    Could each source have a different doorbell?  Doesn't the info field indiicate to the SRIO block which doorbell will be fired?  I know there are only 8 directly routed doorbells, but aren't there more indirect doorbells?

    Thanks,

    Brandy

  • Thanks for the info Travis, not what I wanted to here... but it is the answer I was expecting.

    Brandy, there are actually 2 and 4 bits in the doorbell info field that the 6670/6678 can decode into the 4 DOORBELL_ICSR_ICCR[i].RIO_DOORBELL_ICSR (with 16-bits a piece depending on the 4 bit field value).

  • Brandy,

    So yes, you can assign a srcID per doorbell bit, but as Erick mentioned, you are limited to 64 total doorbell interrupt bits.  If you need to track the srcID in systems with more than 64 srcIDs, you will have to share in some way.

    Regards,

    Travis

  • Thanks for the clarification, I thought that was the case but I also thought Erick mentioned he needed 64.  Anyhow.  It sounds like it is not an option for him.

    Brandy