Before issuing an API call to the PMC, a PU must wait until its previous API call is processed by the PMC. Implement a check for completion of a PMC action by reading the corresponding IPI observation register.
Issue an API call by populating the IPI payload buffer with API data and triggering an IPI interrupt to the PMC. For a blocking API call, the PMC responds by populating the response buffer with the status of the operation and up to 3 values. See Appendix B for a list of all errors that can be sent by the PMC if a PM operation was unsuccessful. The PU must wait until the PMC has finished processing the API call prior to reading the response buffer, to ensure that the data in the response buffer is valid.
Figure 1. Example Flow of Issuing API Call to the PMC