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.
Hi,
1. We have the following description for TXIGMASK field of Tx Address Overlay Control Register (Base Address + 0x1c):
"The txigmask is used to create the mask that is logically anded to the incoming address to create the address sent to the remote."
Can you please explain how a TX mask can be applied to an incoming address? Incoming from who if the mask is for TX direction? Shouldn't we speak about transmitted address?
2. In the "C66x KeyStone Training HyperLink" document, page 27) it says that txigmask = depends on the maximum segment size and as example we have: 10 → 0x07FF_FFFF (2 segments)
What is the relation of segment size and txigmask value with the number of segments from parentheses?
+ In your example from hyplnkLLDIFace.c you have set the RXSegVal.rxLenVal = 21; and the comment is /* 2MB */.
Actually the value 21 for rxlen_val has a corespondence of 4MB.
If someone tries to read the TI documentation while following the TI examples will be more confusing instead of having clarifications.
Maybe worth to make some code and technical documentation reviews before releasing your products.
Hi,
Q1. The txigmask is used to create the mask that is logically anded to the incoming address to create the address sent to the remote. ==========> The incoming address comes from Hyperlink master port, this can be from CPU or EDMA, to the Tx direction. That is, to the remote device over Hyperlink connection.
Q2 txigmask = depends on the maximum segment size: 11 → mask 0x0FFF_FFFF (1 segment), 10 → 0x07FF_FFFF (2 segments), 8 → 0x01FF_FFFF (8 segments) , 0 → 0x0001_FFFF (16 segments)
The maximum outbound region is 256MB, so If Txigmask= 11, the mask = 0x0FFFFFFF, this is already 256MB, you only have 1 segment. ... If Txigmask= 8, the mask = 0x01FFFFFF. That is 32MB window, so you have 256/32=8 segments.
Q3 + In your example from hyplnkLLDIFace.c you have set the RXSegVal.rxLenVal = 21; and the comment is /* 2MB */.===========>The comment is wrong, it should be 4MB. Sorry for the confusion.
Regards, Eric