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.

66AK2H12: How to identify the transmit / receive port of a doorbell packet

Part Number: 66AK2H12

Hi,

I have qestions about DoorBell operation for SRIO of 66AK2H12.

Q1: When the CPU receives a doorbell packet, Is there a way to identify from which port the packet was received?

Q2: Is there a way for the receiving side to identify from which transmission port it was sent?

Best Regards,
H.U

  • Part Number: 66AK2H12

    Hi,

    I'd like to use the doorbell interrupt to determine two different events separately.
    For example, when the transmission side has set the event A and the event B as follows:

    [SRIO transmission side]
    Event A setting:
      info.DoorBellReg = 00b
      info.DoorBellbit = 0000b
     
    Event B setting:
      info.DoorBellReg = 00b
      info.DoorBellbit = 0001b


    By checking ICS0 or ICS1 on the receiving side, I think that it is possible to judge which event is occurring.

    [SRIO receiving side]
    if ICS0 of DoorBell[0] occurred --> So, the receiving side can judge that the event A has occurred.
    if ICS1 of DoorBell[0] occurred --> So, the receiving side can judge that the event B has occurred.


    Is my understanding correct?


    Best Regards,
    H.U

  • Part Number: 66AK2H12

    Hi,

    I am investigating SRIO's DoorBell interrupt.

    The four DoorBell interrupts that DoorBell[0] to DoorBell[3] are generated according to the info.DoorBellReg field and the info.DoorBellbit field of the DoorBell packet. Also, it is irrelevant to the port number that received the DoorBell packet.

    For example, I think that DoorBell[3] interrupts may occur from DoorBell packet received at port0.

    Is my thinking correct?


    Best Regards,
    H.U

  • Hi H.U,

    Your understanding to the door bell bit, ICS and port is correct.

    FYI - this thread may help for handling simultaneous door bells: e2e.ti.com/.../195387

    Regards,
    Garrett
  • Hi Garrett,

    I'm sorry. Posting to the thread was going wrong, so I will repost them.
    I thought that I had separate threads...

    I would like to receive an individual response to each question (threads). Because I think they are different questions.


    Best Regards,
    H.U

  • Hi H.U,

    I think the two questions are relevant.

    >>if ICS0 of DoorBell[0] occurred --> So, the receiving side can judge that the event A has occurred.
    >>if ICS1 of DoorBell[0] occurred --> So, the receiving side can judge that the event B has occurred.

    The receiving side can determine the event based on ICSR (ICS0/1) with the DoorBellReg and DoorBellbit., which align with the Figure 2-22 Examples of DOORBELL_INFO Designations in SRIO UG.

    >>The four DoorBell interrupts that DoorBell[0] to DoorBell[3] are generated according to the info.DoorBellReg field and the info.DoorBellbit field of the DoorBell packet. Also, it is irrelevant to the port number that received the DoorBell packet.

    The DoorBell interrupt is irrelevant to port number, and only associated with the DoorBellReg field.

    Regards,
    Garrett