diff options
author | Diana Z <dzigterman@chromium.org> | 2020-10-20 11:53:59 -0600 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2020-10-20 23:33:46 +0000 |
commit | 6b9253dac97fd5a38019e862894a6b6cf99d0099 (patch) | |
tree | c9af24a47146909e2a7287c03167760b8914632d | |
parent | edd8b73e8a062b709c2757d6f0085d0fe8146f43 (diff) | |
download | chrome-ec-6b9253dac97fd5a38019e862894a6b6cf99d0099.tar.gz |
TCPMv2: Update dedicated capability if charger is allow-listed
Once we know the identity of our port partner, update whether they
are considered a dedicated charger.
BRANCH=None
BUG=b:169107245
TEST=on drawlat, plug in apple dongle multiple times and confirm that we
start charging from them even if discovery completes post-power role
swap
Signed-off-by: Diana Z <dzigterman@chromium.org>
Change-Id: I5b541cc9dca2c0e0481b79986573b2c503fe77c3
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2488140
Reviewed-by: Aseda Aboagye <aaboagye@chromium.org>
Reviewed-by: Denis Brockus <dbrockus@chromium.org>
-rw-r--r-- | common/usbc/usb_pe_drp_sm.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/common/usbc/usb_pe_drp_sm.c b/common/usbc/usb_pe_drp_sm.c index f6d150c47d..e599097f43 100644 --- a/common/usbc/usb_pe_drp_sm.c +++ b/common/usbc/usb_pe_drp_sm.c @@ -4979,6 +4979,13 @@ static void pe_init_port_vdm_identity_request_run(int port) /* PE_INIT_PORT_VDM_Identity_ACKed embedded here */ dfp_consume_identity(port, sop, cnt, payload); + +#ifdef CONFIG_CHARGE_MANAGER + /* Evaluate whether this is an allow-listed charger */ + if (pd_charge_from_device(pd_get_identity_vid(port), + pd_get_identity_pid(port))) + charge_manager_update_dualrole(port, CAP_DEDICATED); +#endif break; } case VDM_RESULT_NAK: |