summaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/ti/cpsw_priv.c
diff options
context:
space:
mode:
authorGrygorii Strashko <grygorii.strashko@ti.com>2020-04-23 17:20:22 +0300
committerDavid S. Miller <davem@davemloft.net>2020-04-23 12:50:21 -0700
commit84ea9c0a95d7b3e554d6c3d7d719cc57be22e7ad (patch)
tree9cca07cc905d2b00bd88052f6bd1c49e65bfbd33 /drivers/net/ethernet/ti/cpsw_priv.c
parentb78aba495df0eaee4f4a779b2354d6e2a43a3d70 (diff)
downloadlinux-84ea9c0a95d7b3e554d6c3d7d719cc57be22e7ad.tar.bz2
net: ethernet: ti: cpsw: enable cpts irq
The CPSW misc IRQ need be enabled for CPTS event_pend IRQs processing. This patch adds corresponding support to CPSW driver. Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com> Acked-by: Richard Cochran <richardcochran@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/ti/cpsw_priv.c')
-rw-r--r--drivers/net/ethernet/ti/cpsw_priv.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/drivers/net/ethernet/ti/cpsw_priv.c b/drivers/net/ethernet/ti/cpsw_priv.c
index 099208927400..9d098c802c6d 100644
--- a/drivers/net/ethernet/ti/cpsw_priv.c
+++ b/drivers/net/ethernet/ti/cpsw_priv.c
@@ -114,6 +114,18 @@ irqreturn_t cpsw_rx_interrupt(int irq, void *dev_id)
return IRQ_HANDLED;
}
+irqreturn_t cpsw_misc_interrupt(int irq, void *dev_id)
+{
+ struct cpsw_common *cpsw = dev_id;
+
+ writel(0, &cpsw->wr_regs->misc_en);
+ cpdma_ctlr_eoi(cpsw->dma, CPDMA_EOI_MISC);
+ cpts_misc_interrupt(cpsw->cpts);
+ writel(0x10, &cpsw->wr_regs->misc_en);
+
+ return IRQ_HANDLED;
+}
+
int cpsw_tx_mq_poll(struct napi_struct *napi_tx, int budget)
{
struct cpsw_common *cpsw = napi_to_cpsw(napi_tx);