summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYilun Lin <yllin@chromium.org>2019-08-21 17:08:19 +0800
committerCommit Bot <commit-bot@chromium.org>2019-08-25 14:00:31 +0000
commitc87d0feabb4060585758dc3179c5fabd727db008 (patch)
tree5e8f9efeb85090bcd1af4dece19fee1042c8e394
parente52f9b778894f07d67e76f2516193fa4c8c995b2 (diff)
downloadchrome-ec-c87d0feabb4060585758dc3179c5fabd727db008.tar.gz
Revert "it83xx/intc:message id of pd packet repeat"
This reverts commit bd19b03b128db664dfb5e6582810bd177b635408. With https://crrev.com/c/1757596/ merged, one doesn't need to handle repeated MessageID in TCPC. TEST=make buildall BUG=b:134556286 BRANCH=none Change-Id: I0f97e4e574b94ecbc23e5ee97ade7cc4da7f9020 Signed-off-by: Yilun Lin <yllin@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1763895 Reviewed-by: Jett Rink <jettrink@chromium.org> Reviewed-by: Aseda Aboagye <aaboagye@chromium.org>
-rw-r--r--chip/it83xx/intc.c48
-rw-r--r--driver/tcpm/it83xx.c11
-rw-r--r--driver/tcpm/it83xx_pd.h2
3 files changed, 1 insertions, 60 deletions
diff --git a/chip/it83xx/intc.c b/chip/it83xx/intc.c
index 033a65d87b..8783a76983 100644
--- a/chip/it83xx/intc.c
+++ b/chip/it83xx/intc.c
@@ -11,51 +11,8 @@
#include "task.h"
#include "tcpm.h"
#include "usb_pd.h"
-#include "console.h"
-
-#define CPRINTS(format, args...) cprints(CC_USBPD, format, ## args)
#ifdef CONFIG_USB_PD_TCPM_ITE83XX
-/* Store each port last message id of received packet */
-static uint8_t message_id_last[USBPD_PORT_COUNT];
-
-/* Invalidate last received message id variable */
-void invalidate_last_message_id(int port)
-{
- /*
- * Message id starts from 0 to 7. If static global variable
- * message_id_last is initialed 0, it will occur repetitive message id
- * with first received packet, so we initial an invalid value 0xff.
- */
- message_id_last[port] = 0xff;
-}
-
-static int consume_repeat_message(int port)
-{
- uint16_t msg_header = IT83XX_USBPD_RMH(port);
- int msg_id = PD_HEADER_ID(msg_header);
- /* pre-set not repeat */
- int ret = 0;
-
- /*
- * Check does message id repeat? if yes don't respond subsequent
- * messages, except softreset control request.
- */
- if (PD_HEADER_TYPE(msg_header) == PD_CTRL_SOFT_RESET &&
- PD_HEADER_CNT(msg_header) == 0)
- invalidate_last_message_id(port);
- else if (message_id_last[port] != msg_id)
- message_id_last[port] = msg_id;
- else if (message_id_last[port] == msg_id) {
- /* If clear this bit, USBPD receives next packet */
- IT83XX_USBPD_MRSR(port) = USBPD_REG_MASK_RX_MSG_VALID;
- CPRINTS("receive repetitive msg id: p[%d] id=%d", port, msg_id);
- ret = 1;
- }
-
- return ret;
-}
-
static void chip_pd_irq(enum usbpd_port port)
{
task_clear_pending_irq(usbpd_ctrl_regs[port].irq);
@@ -64,14 +21,11 @@ static void chip_pd_irq(enum usbpd_port port)
if (USBPD_IS_HARD_RESET_DETECT(port)) {
/* clear interrupt */
IT83XX_USBPD_ISR(port) = USBPD_REG_MASK_HARD_RESET_DETECT;
- /* Invalidate last received message id variable */
- invalidate_last_message_id(port);
task_set_event(PD_PORT_TO_TASK_ID(port),
PD_EVENT_TCPC_RESET, 0);
} else {
if (USBPD_IS_RX_DONE(port)) {
- if (!consume_repeat_message(port))
- tcpm_enqueue_message(port);
+ tcpm_enqueue_message(port);
/* clear RX done interrupt */
IT83XX_USBPD_ISR(port) = USBPD_REG_MASK_MSG_RX_DONE;
}
diff --git a/driver/tcpm/it83xx.c b/driver/tcpm/it83xx.c
index 2e59be2f07..c805e445a2 100644
--- a/driver/tcpm/it83xx.c
+++ b/driver/tcpm/it83xx.c
@@ -214,10 +214,6 @@ static enum tcpc_transmit_complete it83xx_tx_data(
if (r > PD_RETRY_COUNT)
return TCPC_TX_COMPLETE_DISCARDED;
- /* Transmit softreset, invalidate last received message id variable */
- if (PD_HEADER_TYPE(header) == PD_CTRL_SOFT_RESET && length == 0)
- invalidate_last_message_id(port);
-
return TCPC_TX_COMPLETE_SUCCESS;
}
@@ -236,9 +232,6 @@ static enum tcpc_transmit_complete it83xx_send_hw_reset(enum usbpd_port port,
if (IT83XX_USBPD_MTSR0(port) & USBPD_REG_MASK_SEND_HW_RESET)
return TCPC_TX_COMPLETE_FAILED;
- /* Transmit hardreset, invalidate last received message id variable */
- invalidate_last_message_id(port);
-
return TCPC_TX_COMPLETE_SUCCESS;
}
@@ -339,8 +332,6 @@ static void it83xx_set_data_role(enum usbpd_port port, int pd_role)
static void it83xx_init(enum usbpd_port port, int role)
{
- /* Invalidate last received message id variable */
- invalidate_last_message_id(port);
#ifdef IT83XX_USBPD_CC_PARAMETER_RELOAD
/* bit7: Reload CC parameter setting. */
IT83XX_USBPD_CCPSR0(port) |= BIT(7);
@@ -617,8 +608,6 @@ static int it83xx_tcpm_get_chip_info(int port, int live,
static void it83xx_tcpm_sw_reset(void)
{
int port = TASK_ID_TO_PD_PORT(task_get_current());
- /* Invalidate last received message id variable */
- invalidate_last_message_id(port);
#ifdef IT83XX_INTC_PLUG_IN_SUPPORT
/*
* Enable detect type-c plug in interrupt, since the pd task has
diff --git a/driver/tcpm/it83xx_pd.h b/driver/tcpm/it83xx_pd.h
index 3157909d83..9e8bff1342 100644
--- a/driver/tcpm/it83xx_pd.h
+++ b/driver/tcpm/it83xx_pd.h
@@ -105,7 +105,5 @@ extern const struct usbpd_ctrl_t usbpd_ctrl_regs[];
extern const struct tcpm_drv it83xx_tcpm_drv;
/* Disable integrated pd module */
void it83xx_disable_pd_module(int port);
-/* Invalidate last received message id variable */
-extern void invalidate_last_message_id(int port);
#endif /* __CROS_EC_DRIVER_TCPM_IT83XX_H */