From ec16ba094f56c3b8d0e917ee38342d1a8e463364 Mon Sep 17 00:00:00 2001 From: Li Jun Date: Thu, 27 Jul 2017 00:36:54 +0800 Subject: [PATCH] MLK-16013-13: staging: typec: tcpci: handle rx buffer overflow event Add rx buffer overflow event handling. Reviewed-by: Peter Chen Signed-off-by: Li Jun --- drivers/staging/typec/tcpci.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/drivers/staging/typec/tcpci.c b/drivers/staging/typec/tcpci.c index 2fddcad388bb..0e0db86b7ec2 100644 --- a/drivers/staging/typec/tcpci.c +++ b/drivers/staging/typec/tcpci.c @@ -367,7 +367,8 @@ static int tcpci_init(struct tcpc_dev *tcpc) reg = TCPC_ALERT_TX_SUCCESS | TCPC_ALERT_TX_FAILED | TCPC_ALERT_TX_DISCARDED | TCPC_ALERT_RX_STATUS | - TCPC_ALERT_RX_HARD_RST | TCPC_ALERT_CC_STATUS; + TCPC_ALERT_RX_HARD_RST | TCPC_ALERT_CC_STATUS | + TCPC_ALERT_RX_BUF_OVF; if (tcpci->controls_vbus) reg |= TCPC_ALERT_POWER_STATUS; tcpci->irq_mask = reg; @@ -428,6 +429,10 @@ static irqreturn_t tcpci_irq(int irq, void *dev_id) tcpm_pd_receive(tcpci->port, &msg); } + if (status & TCPC_ALERT_RX_BUF_OVF) + tcpci_write16(tcpci, TCPC_ALERT, + TCPC_ALERT_RX_BUF_OVF | TCPC_ALERT_RX_STATUS); + if (status & TCPC_ALERT_RX_HARD_RST) tcpm_pd_hard_reset(tcpci->port); -- 2.17.1