summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Yilun Lin <yllin@chromium.org>2021-04-07 16:08:59 +0800
committerCommit Bot <commit-bot@chromium.org>2021-04-08 03:30:36 +0000
commit1370a872dd381369fb1d75113a43a147fd31105f (patch)
tree9c77d07be4e3351f002a2f39a80cc610215defe1
parent974b3d7e4621a449672df5267007c7aeb2d7af68 (diff)
downloadchrome-ec-1370a872dd381369fb1d75113a43a147fd31105f.tar.gz
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 <yllin@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2810659 Reviewed-by: Wai-Hong Tam <waihong@google.com>
-rw-r--r--board/servo_v4/usb_pd_policy.c8
-rw-r--r--board/servo_v4p1/usb_pd_policy.c8
-rw-r--r--common/usb_pd_policy.c2
-rw-r--r--common/usb_pd_protocol.c4
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