Hi,
I have a question related to the multiple MSI activatations.
I read the https://e2e.ti.com/support/processors/f/791/t/649117?problem-of-c6678-DSP-MSI, but the things become more confusing and also the observed behavior seems to be extra confusing.
We have a basic setup with 2 EVMc6678 connected though PCIe and we want to generate various MSIs on both directions.
We configured the BAR0 and outbound regions on both sides such that to be able to access app registers for MSIs generation.
1. The confusion is related to MSI_CAP, MSI_LOW32, MSI_UP32 and MSI_DATA registers configuration. If we want to use all 32 MSIs I understand that we need to config MSI_CAP[MSI_EN]=1, MSI_CAP[MULT_MSG_EN]=5.
Why in your pdk examples you set MSI_CAP[MULT_MSG_CAP] field as this is read only?
2. Do we need to respect any order in terms of RC and EP configuration for these MSI related registers?
3. What values should we set for MSI_LOW32, MSI_UP32 and MSI_DATA for RC and EP on C6678?
4. The description of MULT_MSG_EN field says that "must not be greater than multiple message capable value", but MULT_MSG_CAP is read only. How could be this valid? Based on what is set the MULT_MSG_CAP by PCIe?
Thank you,
Daniel