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.

identify SRIO Doorbell source in C6678

i've a DSP that must exchange data with multiple devices (FPGA and DSP) via SRIO

We use doorbell for interrupt the core telling that new data is aviable or that buffer have been readen.

We need to expand our network and use different doorbell for signaling different operation to different buffers from different sources... So, is there any way to identify not only the Doorbell Info Field (reading the 4 Doorbell interrupt status reg) but also t he source (SrcID) that have sent the doorbell?

This field is present in Rapid-IO doorbell packet, so is possible to read and store that information?

  • Hi Mark,

    I think it is not possible. You will be able to handle the LSU Error Interrupts status based on SRCID.

    Thanks,

  • Hi Ganapathi,

    We are using c6678 EVM board and SRIO_TputBenchmarkingTestProject.

    We run the srio_nwrite_tests in C-I-C (Core to Core in internal loopback). The test runs successfully.
    I noticed that after the Consumer receives packets it sends a Doorbell to the Producer. Producer waits in the function waitMgmtPingResponse(). for the Doorbell.

    When the doorbell arrives,
    Srio_sockRecv (mgmtSocket, (Srio_DrvBuffer*)&doorbellInfo, &from);
    returns num_bytes=1

    I noticed that the "from" field doesn't get updated (as expected) with the source id of the Consumer which sent the Doorbell.

    Is there a way to know who sent the doorbell?

    Regards,
    Arun