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.

c6678 SRIO Transfer Complete Interrupt and doorbell interrupt

hello everyone:

In my project , I have to send data using DIO with Transferring Complete Interrupt, and use doorbell to notify external PE .

When I send my data to the external PE over,  I will go to the Transferring Complete Interrupt  to do some processing ,

When I return from  DIO  Transferring Complete Interrupt , I will send a doorbell to  the external PE , But  When I send a doorbell over ,it will also  go to the 

 DIO  Transferring Complete Interrupt , And this is not what I want,

I want to DIO over goto interrupt , doorbell over not goto interrupt .

I hope someone can help me!

Thanks!

  • Cheng,

    For enabling transfer completion interrupts for DIO transactions (NWRITE, NWRITE_R and NREAD). The following bit needs to be set, while setting up the LSU registers:

    LSU_REG4.Interrupt Req = '1'

    For disabling transfer completion interrupts for Doorbell transactions, while setting up the LSU registers for sending the doorbell:

    LSU_REG4.Interrupt Req = '0'

    A better approach here is to configure the LSU registers to automatically send a doorbell to the external PE on the completion of the DIO transaction and setting up a transfer completion interrupt for the same. This can be done by setting up the following:

    LSU_REG3.Drbll_val = '1'

    LSU_REG4.Interrupt Req = '1'

    LSU_REG5.Drbll Info = "Doorbell info" (The doorbell interrupt expected by the external PE)

    For more information, please refer to section 2.3.2 "Direct I/O Operation" in the SRIO users guide.