From c87d0feabb4060585758dc3179c5fabd727db008 Mon Sep 17 00:00:00 2001 From: Yilun Lin Date: Wed, 21 Aug 2019 17:08:19 +0800 Subject: 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 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1763895 Reviewed-by: Jett Rink Reviewed-by: Aseda Aboagye --- chip/it83xx/intc.c | 48 +----------------------------------------------- 1 file changed, 1 insertion(+), 47 deletions(-) (limited to 'chip/it83xx') 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; } -- cgit v1.2.1