| # Copyright 2025 The ChromiumOS Authors |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| # |
| # Generated with https://sequencediagram.googleplex.com/ |
| |
| Title: PDC Public Request Call Flow |
| participant Console/Host as PUBLIC |
| participant Power Mgmt as PMGMT |
| participant DRIVER as DRIVER |
| participant PDC |
| |
| |
| Note over PMGMT: 1. State: (SRC|SNK)_ATTACHED |
| PUBLIC->PMGMT: 2. get_connector_status(port, &cs) |
| Note over PMGMT: 3. Queue\nGET_CONNECTOR_STATUS |
| Note over PMGMT: 4. Post\nSM_EVENT |
| Note over PUBLIC,PMGMT: 5. Wait \nPUBLIC_CMD_COMPLETE_EVENT[fillcolor="pink"] |
| Note over PMGMT: 6. State: SEND_CMD_START |
| PMGMT->DRIVER: 7. pdc_get_connector_status(&port->cs) |
| DRIVER-->PMGMT: 8. return 0 |
| |
| Note over PMGMT: 9. State: SEND_CMD_WAIT |
| |
| DRIVER->PDC: 10. GET_CONNECTOR_STATUS |
| DRIVER->PDC: 11. Read(&port->cs) |
| Note over DRIVER: 12. CCI Event\ncommand_completed |
| DRIVER->PMGMT: 13. pdc_cc_handler_cb |
| Note over PMGMT: 14. Post\nSM_EVENT |
| Note over PMGMT: 15. Post\nPUBLIC_CMD_COMPLETE_EVENT[fillcolor="pink"] |
| |
| PMGMT-->PUBLIC: |
| Note over PUBLIC: 16. Print CONNECTOR_STATUS |