diff options
author | Scott Collyer <scollyer@google.com> | 2021-05-21 11:30:46 -0700 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2021-05-27 09:16:50 +0000 |
commit | e9aae45d73c326331b07a0db171e64d73402907f (patch) | |
tree | 27d9d8c5e03678d085b7724358aed6e2a58501f0 /board/coachz/base_detect.c | |
parent | 01f77c9f69dc22c9bbd4d1a01f3954f29fd5adb0 (diff) | |
download | chrome-ec-e9aae45d73c326331b07a0db171e64d73402907f.tar.gz |
stm32g4: ucpd: Clear tx interrupts before enable
The ucpd driver enables, then disables tx interrupts before and after
each message is sent. This CL fixes an issue where tx interrupts
weren't guaranteed to be cleared prior to enabling. This was leading
to instances where the tx data byte interrupt wasn't firing when
expected.
The failure was exposed following a VCONN swap when VCONN is turned
on. The UCPD driver will remove Rp from the CC line which has
VCONN. The following PS_Rdy message would fail.
Debugging this issue also led to observe that when Rp is removed for
VCONN active CC lines, Rp would be applied again when Rp is adjusted
by TCPM as part of collision avoidance.
BUG=b:189293176
BRANCH=quiche
TEST=Tested on quiche against kohaku host machine. Repro case was very
consistent. Verified that failures were present without the fix in
this CL. Then verified that after fixing interrupt issue, there were
no hard reset/soft reset events follwoing VCONN swaps.
Signed-off-by: Scott Collyer <scollyer@google.com>
Change-Id: I289b5b5a60bbe7e880ff6b7f6fd9e5b0182f67a0
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2917643
Commit-Queue: Scott Collyer <scollyer@chromium.org>
Tested-by: Scott Collyer <scollyer@chromium.org>
Reviewed-by: Diana Z <dzigterman@chromium.org>
Diffstat (limited to 'board/coachz/base_detect.c')
0 files changed, 0 insertions, 0 deletions