diff options
author | Jameson Thies <jthies@google.com> | 2022-05-05 21:13:24 +0000 |
---|---|---|
committer | Chromeos LUCI <chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com> | 2022-05-06 17:17:20 +0000 |
commit | 5f00bcf5d3569e3abbce630df4a3bc537d63dd39 (patch) | |
tree | 2bd76b9d2e31824236f3eadb1d55ad41cbdacb1f | |
parent | 12c473337e3bdcce6d180d266c9e9f8127448f33 (diff) | |
download | chrome-ec-5f00bcf5d3569e3abbce630df4a3bc537d63dd39.tar.gz |
TCPMV2: Followup on Give_Status addition
Addressing comments on http://crrev/c/3587509, and moving Get_Status
request case from extended messages to control messages.
BUG=b:227236917
TEST=observed Status response on twinkie, plus "make runhosttests" and
"make try_build_boards"
BRANCH=NONE
Signed-off-by: Jameson Thies <jthies@google.com>
Change-Id: I0702cdda58a302e8ecfb7cc977273d12a6fdb4fa
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3631298
Reviewed-by: Diana Z <dzigterman@chromium.org>
-rw-r--r-- | common/usbc/usb_pe_drp_sm.c | 32 |
1 files changed, 17 insertions, 15 deletions
diff --git a/common/usbc/usb_pe_drp_sm.c b/common/usbc/usb_pe_drp_sm.c index 8625359712..9812999cfc 100644 --- a/common/usbc/usb_pe_drp_sm.c +++ b/common/usbc/usb_pe_drp_sm.c @@ -2675,19 +2675,14 @@ static void pe_src_ready_run(int port) /* Extended Message Requests */ if (ext > 0) { switch (type) { -#if defined(CONFIG_USB_PD_EXTENDED_MESSAGES) -#if defined(CONFIG_BATTERY) +#if defined(CONFIG_USB_PD_EXTENDED_MESSAGES) && defined(CONFIG_BATTERY) case PD_EXT_GET_BATTERY_CAP: set_state_pe(port, PE_GIVE_BATTERY_CAP); break; case PD_EXT_GET_BATTERY_STATUS: set_state_pe(port, PE_GIVE_BATTERY_STATUS); break; -#endif /* CONFIG_BATTERY */ - case PD_CTRL_GET_STATUS: - set_state_pe(port, PE_GIVE_STATUS); - return; -#endif /* CONFIG_USB_PD_EXTENDED_MESSAGES */ +#endif /* CONFIG_USB_PD_EXTENDED_MESSAGES && CONFIG_BATTERY */ default: extended_message_not_supported(port, payload); } @@ -2783,6 +2778,11 @@ static void pe_src_ready_run(int port) PE_SEND_NOT_SUPPORTED); return; #endif /* CONFIG_USB_PD_DATA_RESET_MSG */ +#ifdef CONFIG_USB_PD_EXTENDED_MESSAGES + case PD_CTRL_GET_STATUS: + set_state_pe(port, PE_GIVE_STATUS); + return; +#endif /* CONFIG_USB_PD_EXTENDED_MESSAGES */ /* * Receiving an unknown or unsupported message * shall be responded to with a not supported message. @@ -3526,19 +3526,14 @@ static void pe_snk_ready_run(int port) /* Extended Message Request */ if (ext > 0) { switch (type) { -#if defined(CONFIG_USB_PD_EXTENDED_MESSAGES) -#if defined(CONFIG_BATTERY) +#if defined(CONFIG_USB_PD_EXTENDED_MESSAGES) && defined(CONFIG_BATTERY) case PD_EXT_GET_BATTERY_CAP: set_state_pe(port, PE_GIVE_BATTERY_CAP); break; case PD_EXT_GET_BATTERY_STATUS: set_state_pe(port, PE_GIVE_BATTERY_STATUS); break; -#endif /* CONFIG_BATTERY */ - case PD_CTRL_GET_STATUS: - set_state_pe(port, PE_GIVE_STATUS); - return; -#endif /* CONFIG_USB_PD_EXTENDED_MESSAGES */ +#endif /* CONFIG_USB_PD_EXTENDED_MESSAGES && CONFIG_BATTERY */ default: extended_message_not_supported(port, payload); } @@ -3620,6 +3615,11 @@ static void pe_snk_ready_run(int port) PE_SEND_NOT_SUPPORTED); return; #endif /* CONFIG_USB_PD_DATA_RESET_MSG */ +#ifdef CONFIG_USB_PD_EXTENDED_MESSAGES + case PD_CTRL_GET_STATUS: + set_state_pe(port, PE_GIVE_STATUS); + return; +#endif /* CONFIG_USB_PD_EXTENDED_MESSAGES */ case PD_CTRL_NOT_SUPPORTED: /* Do nothing */ break; @@ -4302,8 +4302,10 @@ static void pe_give_status_entry(int port) uint32_t *len = &tx_emsg[port].len; print_current_state(port); - if (dpm_get_status_msg(port, msg, len) != EC_SUCCESS) + if (dpm_get_status_msg(port, msg, len) != EC_SUCCESS) { pe_set_ready_state(port); + return; + } send_ext_data_msg(port, TCPCI_MSG_SOP, PD_EXT_STATUS); } |