From 1370a872dd381369fb1d75113a43a147fd31105f Mon Sep 17 00:00:00 2001 From: Eric Yilun Lin Date: Wed, 7 Apr 2021 16:08:59 +0800 Subject: TCPMv1: clear SourceCap in disconnected state Clear the SourceCaps to prevent misleading info. BUG=none TEST=`pd 0 srccaps` no output if adapter unplugged BRANCH=asurada Change-Id: Ibfefb3cc2e91c548fdf6579603dd5be20d68c08e Signed-off-by: Eric Yilun Lin Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2810659 Reviewed-by: Wai-Hong Tam --- board/servo_v4/usb_pd_policy.c | 8 -------- board/servo_v4p1/usb_pd_policy.c | 8 -------- common/usb_pd_policy.c | 2 -- common/usb_pd_protocol.c | 4 ++-- 4 files changed, 2 insertions(+), 20 deletions(-) diff --git a/board/servo_v4/usb_pd_policy.c b/board/servo_v4/usb_pd_policy.c index 7dad92b7c4..ace296c46f 100644 --- a/board/servo_v4/usb_pd_policy.c +++ b/board/servo_v4/usb_pd_policy.c @@ -1227,14 +1227,6 @@ DECLARE_CONSOLE_COMMAND(ada_srccaps, cmd_ada_srccaps, "", "Print adapter SrcCap"); -static void chg_pd_disconnect(void) -{ - /* Clear charger PDO on CHG port disconnected. */ - if (pd_is_disconnected(CHG)) - pd_set_src_caps(CHG, 0, NULL); -} -DECLARE_HOOK(HOOK_USB_PD_DISCONNECT, chg_pd_disconnect, HOOK_PRIO_DEFAULT); - static int cmd_dp_action(int argc, char *argv[]) { int i; diff --git a/board/servo_v4p1/usb_pd_policy.c b/board/servo_v4p1/usb_pd_policy.c index 6f972df2a3..707c24ee06 100644 --- a/board/servo_v4p1/usb_pd_policy.c +++ b/board/servo_v4p1/usb_pd_policy.c @@ -1282,14 +1282,6 @@ DECLARE_CONSOLE_COMMAND(ada_srccaps, cmd_ada_srccaps, "", "Print adapter SrcCap"); -static void chg_pd_disconnect(void) -{ - /* Clear charger PDO on CHG port disconnected. */ - if (pd_is_disconnected(CHG)) - pd_set_src_caps(CHG, 0, NULL); -} -DECLARE_HOOK(HOOK_USB_PD_DISCONNECT, chg_pd_disconnect, HOOK_PRIO_DEFAULT); - static int cmd_dp_action(int argc, char *argv[]) { int i; diff --git a/common/usb_pd_policy.c b/common/usb_pd_policy.c index d0194e2cdc..f035f6e355 100644 --- a/common/usb_pd_policy.c +++ b/common/usb_pd_policy.c @@ -85,7 +85,6 @@ DECLARE_EVENT_SOURCE(EC_MKBP_EVENT_DP_ALT_MODE_ENTERED, dp_alt_mode_entry_get_next_event); #endif /* CONFIG_MKBP_EVENT */ -#ifdef CONFIG_USB_PD_DUAL_ROLE /* Last received source cap */ static uint32_t pd_src_caps[CONFIG_USB_PD_PORT_MAX_COUNT][PDO_MAX_OBJECTS]; static uint8_t pd_src_cap_cnt[CONFIG_USB_PD_PORT_MAX_COUNT]; @@ -109,7 +108,6 @@ uint8_t pd_get_src_cap_cnt(int port) { return pd_src_cap_cnt[port]; } -#endif /* CONFIG_USB_PD_DUAL_ROLE */ static struct pd_cable cable[CONFIG_USB_PD_PORT_MAX_COUNT]; diff --git a/common/usb_pd_protocol.c b/common/usb_pd_protocol.c index 5d883760dd..ca28ed852a 100644 --- a/common/usb_pd_protocol.c +++ b/common/usb_pd_protocol.c @@ -3212,7 +3212,7 @@ void pd_task(void *u) break; case PD_STATE_SRC_DISCONNECTED: timeout = 10*MSEC; - + pd_set_src_caps(port, 0, NULL); #ifdef CONFIG_USB_PD_TCPC_LOW_POWER /* * If SW decided we should be in a low power state and @@ -3900,7 +3900,7 @@ void pd_task(void *u) #else timeout = 10*MSEC; #endif - + pd_set_src_caps(port, 0, NULL); #ifdef CONFIG_USB_PD_TCPC_LOW_POWER /* * If SW decided we should be in a low power state and -- cgit v1.2.1