diff options
author | Aaron Massey <aaronmassey@google.com> | 2022-05-02 16:35:13 -0600 |
---|---|---|
committer | Chromeos LUCI <chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com> | 2022-05-04 00:01:34 +0000 |
commit | f0e513b8f4c67d9e28c3c219e432b0d8cb225423 (patch) | |
tree | c3b8b3b2ae2724e204dbc91dc5db5cb13087b135 | |
parent | 49c1700ab4ccb5bb01d95ae85cab6e340bfe735e (diff) | |
download | chrome-ec-f0e513b8f4c67d9e28c3c219e432b0d8cb225423.tar.gz |
test: Correct tcpci emulator init data roles
The tcpci emulators were associating the wrong initial data role with a
particular power role during initialization. This resulted in a datarole
mismatch errors being propagated as failing assertions when the TCPM
attempted error recovery from a datarole mismatch.
Correct initial dataroles to their corresponding initial power roles and
move tcpci emulator test initialization code to before fixtures for
proper state setup between tests within the same suite.
BRANCH=none
BUG=b:230656752
TEST=zmake test test-drivers
Signed-off-by: Aaron Massey <aaronmassey@google.com>
Change-Id: I1d1e8e5a0e87ab7d172fd1dfadd6df878fab5f24
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3621797
Reviewed-by: Diana Z <dzigterman@chromium.org>
5 files changed, 13 insertions, 13 deletions
diff --git a/zephyr/emul/tcpc/emul_tcpci_partner_faulty_snk.c b/zephyr/emul/tcpc/emul_tcpci_partner_faulty_snk.c index 1ef40d1e1a..e7f369102f 100644 --- a/zephyr/emul/tcpc/emul_tcpci_partner_faulty_snk.c +++ b/zephyr/emul/tcpc/emul_tcpci_partner_faulty_snk.c @@ -262,7 +262,7 @@ void tcpci_faulty_snk_emul_init(struct tcpci_faulty_snk_emul *emul) &emul->snk_data); /* Init as sink */ - emul->common_data.data_role = PD_ROLE_DFP; + emul->common_data.data_role = PD_ROLE_UFP; emul->common_data.power_role = PD_ROLE_SINK; emul->common_data.rev = PD_REV20; diff --git a/zephyr/emul/tcpc/emul_tcpci_partner_snk.c b/zephyr/emul/tcpc/emul_tcpci_partner_snk.c index 1faa82a4a7..676a182b2f 100644 --- a/zephyr/emul/tcpc/emul_tcpci_partner_snk.c +++ b/zephyr/emul/tcpc/emul_tcpci_partner_snk.c @@ -557,7 +557,7 @@ void tcpci_snk_emul_init(struct tcpci_snk_emul *emul, enum pd_rev_type rev) tcpci_partner_init(&emul->common_data, tcpci_snk_emul_hard_reset, &emul->data); - emul->common_data.data_role = PD_ROLE_DFP; + emul->common_data.data_role = PD_ROLE_UFP; emul->common_data.power_role = PD_ROLE_SINK; emul->common_data.rev = rev; diff --git a/zephyr/emul/tcpc/emul_tcpci_partner_src.c b/zephyr/emul/tcpc/emul_tcpci_partner_src.c index c8436563f8..6c106e86e7 100644 --- a/zephyr/emul/tcpc/emul_tcpci_partner_src.c +++ b/zephyr/emul/tcpc/emul_tcpci_partner_src.c @@ -448,7 +448,7 @@ void tcpci_src_emul_init(struct tcpci_src_emul *emul, enum pd_rev_type rev) tcpci_partner_init(&emul->common_data, tcpci_src_emul_hard_reset, &emul->data); - emul->common_data.data_role = PD_ROLE_UFP; + emul->common_data.data_role = PD_ROLE_DFP; emul->common_data.power_role = PD_ROLE_SOURCE; emul->common_data.rev = rev; diff --git a/zephyr/test/drivers/src/integration/usbc/usb_20v_3a_pd_charger.c b/zephyr/test/drivers/src/integration/usbc/usb_20v_3a_pd_charger.c index 92d2857a39..64da9112a6 100644 --- a/zephyr/test/drivers/src/integration/usbc/usb_20v_3a_pd_charger.c +++ b/zephyr/test/drivers/src/integration/usbc/usb_20v_3a_pd_charger.c @@ -25,6 +25,11 @@ static inline void connect_charger_to_port(struct usb_attach_20v_3a_pd_charger_fixture *fixture) { set_ac_enabled(true); + /* Initialize the charger to supply 20V and 3A */ + tcpci_src_emul_init(&fixture->charger_20v, PD_REV20); + fixture->charger_20v.data.pdo[1] = + PDO_FIXED(20000, 3000, PDO_FIXED_UNCONSTRAINED); + zassume_ok(tcpci_src_emul_connect_to_tcpci( &fixture->charger_20v.data, &fixture->charger_20v.common_data, @@ -60,10 +65,6 @@ static void *usb_attach_20v_3a_pd_charger_setup(void) test_fixture.charger_emul = emul_get_binding(DT_LABEL(DT_NODELABEL(isl923x_emul))); - /* Initialized the charger to supply 20V and 3A */ - tcpci_src_emul_init(&test_fixture.charger_20v, PD_REV20); - test_fixture.charger_20v.data.pdo[1] = - PDO_FIXED(20000, 3000, PDO_FIXED_UNCONSTRAINED); return &test_fixture; } diff --git a/zephyr/test/drivers/src/integration/usbc/usb_5v_3a_pd_source.c b/zephyr/test/drivers/src/integration/usbc/usb_5v_3a_pd_source.c index b75f22eeaa..f0132dc0a0 100644 --- a/zephyr/test/drivers/src/integration/usbc/usb_5v_3a_pd_source.c +++ b/zephyr/test/drivers/src/integration/usbc/usb_5v_3a_pd_source.c @@ -30,12 +30,6 @@ static void *usb_attach_5v_3a_pd_source_setup(void) emul_get_binding(DT_LABEL(DT_NODELABEL(tcpci_emul))); test_fixture.charger_emul = emul_get_binding(DT_LABEL(DT_NODELABEL(isl923x_emul))); - - /* Initialized the charger to supply 5V and 3A */ - tcpci_src_emul_init(&test_fixture.source_5v_3a, PD_REV20); - test_fixture.source_5v_3a.data.pdo[1] = - PDO_FIXED(5000, 3000, PDO_FIXED_UNCONSTRAINED); - return &test_fixture; } @@ -43,6 +37,11 @@ static void usb_attach_5v_3a_pd_source_before(void *data) { struct usb_attach_5v_3a_pd_source_fixture *fixture = data; + /* Initialize the charger to supply 5V and 3A */ + tcpci_src_emul_init(&fixture->source_5v_3a, PD_REV20); + fixture->source_5v_3a.data.pdo[1] = + PDO_FIXED(5000, 3000, PDO_FIXED_UNCONSTRAINED); + connect_source_to_port(&fixture->source_5v_3a, 1, fixture->tcpci_emul, fixture->charger_emul); } |