SPRUI30H November 2015 – May 2024 DRA745 , DRA746 , DRA750 , DRA756
The device PCIe controller (EP) transmits an MSI by writing 0b1 to the TI config wrapper register PCIECTRL_TI_CONF_MSI_XMT[0] MSI_REQ_GRANT bit. The other fields indicate function number, TC, vector, for the MSI. The address, data (potentially modulated by the vector) are automatically extracted from the EP function’s MSI capability descriptor, previously programmed by the remote RC during enumeration.
For status, PCIECTRL_TI_CONF_MSI_XMT[0] MSI_REQ_GRANT can be polled. The bit remains HIGH (0b1) following a request (write to 0b1) and goes back LOW (0b0) once the MSI transmit request has been granted.
Bit PCIECTRL_TI_CONF_MSI_XMT[0] MSI_REQ_GRANT reflects only the PCIe local status, that is a confirmation that the MSI has been transmitted. Since the MSI is a posted write, there is no way for the EP to ensure that it has been correctly received by the RC.