usb dwc2 too much sof in host mode

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Thanks to Yousaf, the latest dwc2 code from latest testing/next works
well for both gadget and host.
When remove the usb, it will switch to host mode by default.

However, at this time, I found too much sof generating in our
platform, if no device attached.
1, usb gadget,
2, remove usb,
3, cat /proc/interrupt, then too much usb interrupt generated quickly.

Same phenomenon if setting usb host to low speed and attach usb disk
or keyboard.
1, usb gadget,
2, remove usb,
3. attach usb keyboard
4, cat /proc/interrupt, then too much usb interrupt generated quickly.

usb_hcd_submit_urb
{
      if (is_root_hub(urb->dev)) {
                status = rh_urb_enqueue(hcd, urb);
        } else {
                status = hcd->driver->urb_enqueue(hcd, urb, mem_flags);
        }
}

dwc2_hcd_qh_add
{
        if (!hsotg->periodic_qh_count) {
                intr_mask = readl(hsotg->regs + GINTMSK);
                intr_mask |= GINTSTS_SOF;
                writel(intr_mask, hsotg->regs + GINTMSK);
        }
}

When usb is removed, urb->dev->parent will be generated after
usb 1-1: new full-speed USB device number 2 using dwc2
Then the next USB_ENDPOINT_XFER_INT will set GINTSTS_SOF, and will
cause sof since then.

I am wandering is it expected behavior or abnormal behavior, the sof
interrupt is generated too quickly.

Besides, the dwc2 controller is 2.93a, 0xf72c0040 = 0x4F54300A

Thanks
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux