Commit 7e804650 authored by Robert Baldyga's avatar Robert Baldyga Committed by Felipe Balbi

usb: gadget: s3c-hsotg: add DAINT masking

In OEPInt/IEPInt interrupts handling added bitwise and of DAINT and
DAINTMSK, because we should handle masked interrupts only.
Signed-off-by: default avatarRobert Baldyga <r.baldyga@samsung.com>
Signed-off-by: default avatarKyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: default avatarFelipe Balbi <balbi@ti.com>
parent afcf4169
...@@ -2433,10 +2433,14 @@ static irqreturn_t s3c_hsotg_irq(int irq, void *pw) ...@@ -2433,10 +2433,14 @@ static irqreturn_t s3c_hsotg_irq(int irq, void *pw)
if (gintsts & (GINTSTS_OEPInt | GINTSTS_IEPInt)) { if (gintsts & (GINTSTS_OEPInt | GINTSTS_IEPInt)) {
u32 daint = readl(hsotg->regs + DAINT); u32 daint = readl(hsotg->regs + DAINT);
u32 daint_out = daint >> DAINT_OutEP_SHIFT; u32 daintmsk = readl(hsotg->regs + DAINTMSK);
u32 daint_in = daint & ~(daint_out << DAINT_OutEP_SHIFT); u32 daint_out, daint_in;
int ep; int ep;
daint &= daintmsk;
daint_out = daint >> DAINT_OutEP_SHIFT;
daint_in = daint & ~(daint_out << DAINT_OutEP_SHIFT);
dev_dbg(hsotg->dev, "%s: daint=%08x\n", __func__, daint); dev_dbg(hsotg->dev, "%s: daint=%08x\n", __func__, daint);
for (ep = 0; ep < 15 && daint_out; ep++, daint_out >>= 1) { for (ep = 0; ep < 15 && daint_out; ep++, daint_out >>= 1) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment