diff options
author | Denis Brockus <dbrockus@google.com> | 2021-01-06 12:16:41 -0700 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2021-01-07 21:14:20 +0000 |
commit | 566c4b5f57de1dabf416522358722f70ac73323e (patch) | |
tree | 2adf08abd10624239148ad421c3c47f9b3e8129b /test | |
parent | fd9de64cdfd14943110cde1ac69c1f5542acccd1 (diff) | |
download | chrome-ec-566c4b5f57de1dabf416522358722f70ac73323e.tar.gz |
TCPMv2: Compliance Unit Test - make tx msg id per sop type
BUG=none
BRANCH=none
TEST=make buildall
Signed-off-by: Denis Brockus <dbrockus@google.com>
Change-Id: I9de64e1921029ec4bb5e09ae3aa2c07bf39c692b
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2613725
Tested-by: Denis Brockus <dbrockus@chromium.org>
Auto-Submit: Denis Brockus <dbrockus@chromium.org>
Reviewed-by: Edward Hill <ecgh@chromium.org>
Commit-Queue: Edward Hill <ecgh@chromium.org>
Diffstat (limited to 'test')
-rw-r--r-- | test/usb_tcpmv2_compliance.c | 2 | ||||
-rw-r--r-- | test/usb_tcpmv2_compliance.h | 4 | ||||
-rw-r--r-- | test/usb_tcpmv2_compliance_common.c | 17 |
3 files changed, 15 insertions, 8 deletions
diff --git a/test/usb_tcpmv2_compliance.c b/test/usb_tcpmv2_compliance.c index 569fab8527..d827e3da04 100644 --- a/test/usb_tcpmv2_compliance.c +++ b/test/usb_tcpmv2_compliance.c @@ -13,11 +13,11 @@ void before_test(void) { - partner_tx_id = 0; partner_set_pd_rev(PD_REV30); mock_usb_mux_reset(); mock_tcpci_reset(); + mock_tcpci_tx_msg_id_reset(TCPC_TX_SOP_ALL); /* Restart the PD task and let it settle */ task_set_event(TASK_ID_PD_C0, TASK_EVENT_RESET_DONE); diff --git a/test/usb_tcpmv2_compliance.h b/test/usb_tcpmv2_compliance.h index 120fd0b6a1..4f33d88050 100644 --- a/test/usb_tcpmv2_compliance.h +++ b/test/usb_tcpmv2_compliance.h @@ -23,8 +23,6 @@ enum mock_connect_result { }; -extern int partner_tx_id; - extern uint32_t rdo; extern uint32_t pdo; @@ -42,6 +40,8 @@ bool vboot_allow_usb_pd(void); int pd_check_vconn_swap(int port); void board_reset_pd_mcu(void); +#define TCPC_TX_SOP_ALL -1 +void mock_tcpci_tx_msg_id_reset(int sop); int tcpci_startup(void); diff --git a/test/usb_tcpmv2_compliance_common.c b/test/usb_tcpmv2_compliance_common.c index 50ebd36aaa..72b57ee50e 100644 --- a/test/usb_tcpmv2_compliance_common.c +++ b/test/usb_tcpmv2_compliance_common.c @@ -13,8 +13,6 @@ #include "usb_tcpmv2_compliance.h" #include "usb_tc_sm.h" -int partner_tx_id; - uint32_t rdo = RDO_FIXED(1, 500, 500, 0); uint32_t pdo = PDO_FIXED(5000, 3000, PDO_FIXED_DUAL_ROLE | @@ -84,6 +82,15 @@ int pd_check_vconn_swap(int port) void board_reset_pd_mcu(void) {} +static int partner_tx_id[6]; +void mock_tcpci_tx_msg_id_reset(int sop) +{ + if (sop == TCPC_TX_SOP_ALL) + for (sop = PD_MSG_SOP; sop <= PD_MSG_SOP_CBL_RST; ++sop) + partner_tx_id[sop] = 0; + else + partner_tx_id[sop] = 0; +} /***************************************************************************** * Partner utility functions @@ -126,18 +133,18 @@ void partner_send_msg(enum pd_msg_type sop, { uint16_t header; - partner_tx_id &= 7; + partner_tx_id[sop] &= 7; header = PD_HEADER(type, sop == PD_MSG_SOP ? partner_get_power_role() : PD_PLUG_FROM_CABLE, partner_get_data_role(), - partner_tx_id, + partner_tx_id[sop], cnt, partner_get_pd_rev(), ext); mock_tcpci_receive(sop, header, payload); - partner_tx_id++; + ++partner_tx_id[sop]; mock_set_alert(TCPC_REG_ALERT_RX_STATUS); } |