summaryrefslogtreecommitdiff
path: root/drivers/usb/cdns3
diff options
context:
space:
mode:
authorPeter Chen <peter.chen@nxp.com>2018-05-16 11:25:01 +0800
committerLeonard Crestez <leonard.crestez@nxp.com>2018-08-24 12:41:33 +0300
commit18174971c42b71d3a4ecd6eaaea8aae0a0578373 (patch)
treed0a6e775337a68b9fb09936a6e96d5598a6b17e2 /drivers/usb/cdns3
parentea0d25206971938ed81ed2e0c092d87d72bd1199 (diff)
MLK-18319-2 usb: cdns3: gadget: delete the unless code
Confirmed from CDNS, this code is from bare metal, and not needed for Linux. Below are their response: This is alternative deferred interrupt. This is intended to be used in Bare Metal to not block system in interrupt. This was not fully checked in Linux, so we do not recommend to use it there. Reviewed-by: Li Jun <jun.li@nxp.com> Signed-off-by: Peter Chen <peter.chen@nxp.com>
Diffstat (limited to 'drivers/usb/cdns3')
-rw-r--r--drivers/usb/cdns3/gadget.c38
1 files changed, 0 insertions, 38 deletions
diff --git a/drivers/usb/cdns3/gadget.c b/drivers/usb/cdns3/gadget.c
index 46678a54502c..b0ad5f675407 100644
--- a/drivers/usb/cdns3/gadget.c
+++ b/drivers/usb/cdns3/gadget.c
@@ -68,9 +68,6 @@ static void cdns_check_ep0_interrupt_proceed(struct usb_ss_dev *usb_ss,
int dir);
static void cdns_check_usb_interrupt_proceed(struct usb_ss_dev *usb_ss,
u32 usb_ists);
-#ifdef CDNS_THREADED_IRQ_HANDLING
-static irqreturn_t cdns_irq_handler(int irq, void *_usb_ss);
-#endif
static int usb_ss_gadget_ep0_enable(struct usb_ep *ep,
const struct usb_endpoint_descriptor *desc);
static int usb_ss_gadget_ep0_disable(struct usb_ep *ep);
@@ -838,10 +835,6 @@ static int cdns_req_ep0_set_configuration(struct usb_ss_dev *usb_ss,
&usb_ss->ep_match_list, ep_match_pending_list)
cdns_ep_config(usb_ss_ep);
-#ifdef CDNS_THREADED_IRQ_HANDLING
- usb_ss->ep_ien = gadget_readl(usb_ss, &usb_ss->regs->ep_ien)
- | EP_IEN__EOUTEN0__MASK | EP_IEN__EINEN0__MASK;
-#endif
result = cdns_get_setup_ret(usb_ss, ctrl_req);
if (result != 0)
@@ -1259,31 +1252,6 @@ static void cdns_check_usb_interrupt_proceed(struct usb_ss_dev *usb_ss,
gadget_writel(usb_ss, &usb_ss->regs->usb_ists, (1uL << interrupt_bit));
}
-#ifdef CDNS_THREADED_IRQ_HANDLING
-static irqreturn_t cdns_irq_handler(int irq, void *_usb_ss)
-{
- struct usb_ss_dev *usb_ss = _usb_ss;
-
- usb_ss->usb_ien = gadget_readl(usb_ss, &usb_ss->regs->usb_ien);
- usb_ss->ep_ien = gadget_readl(usb_ss, &usb_ss->regs->ep_ien);
-
- if (!gadget_readl(usb_ss, &usb_ss->regs->usb_ists)
- && !gadget_readl(usb_ss, &usb_ss->regs->ep_ists)) {
- dev_dbg(&usb_ss->dev, "--BUBBLE INTERRUPT 0 !!!\n");
- if (gadget_readl(usb_ss, &usb_ss->regs->usb_sts) &
- USB_STS__CFGSTS__MASK)
- return IRQ_HANDLED;
- return IRQ_NONE;
- }
-
- gadget_writel(usb_ss, &usb_ss->regs->usb_ien, 0);
- gadget_writel(usb_ss, &usb_ss->regs->ep_ien, 0);
-
- gadget_readl(usb_ss, &usb_ss->regs->dma_axi_ctrl);
- return IRQ_WAKE_THREAD;
-}
-#endif
-
/**
* cdns_irq_handler - irq line interrupt handler
* @cdns: cdns3 instance
@@ -1353,12 +1321,6 @@ static irqreturn_t cdns_irq_handler_thread(struct cdns3 *cdns)
irqend:
spin_unlock_irqrestore(&usb_ss->lock, flags);
-#ifdef CDNS_THREADED_IRQ_HANDLING
- local_irq_save(flags);
- gadget_writel(usb_ss, &usb_ss->regs->usb_ien, usb_ss->usb_ien);
- gadget_writel(usb_ss, &usb_ss->regs->ep_ien, usb_ss->ep_ien);
- local_irq_restore(flags);
-#endif
return ret;
}