blob: af6eb9ba4e12f69cb249c0e77320db4393a927eb [file] [log] [blame]
# 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