Re: lan78xx: About 8000 usb interrupts per second when idle

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

 



Lukas Wunner wrote:
> On Tue, Apr 09, 2019 at 09:28:16AM +0000, Minas Harutyunyan wrote:
>> Am 09.04.19 um 08:54 schrieb Jisheng Zhang:
>>> The second one: 8000 usb interrupts per second when idle.
>>> This is abnormal. any idea? Is it due to the lan78xx?
>>
>> dwc2 in host mode enable SOF interrupts if any periodic EP are in use.
>> So, 8000 interrupts per second is expectant behavior.
>
> The dwc_otg driver patched into the Raspberry Pi Foundation's
> kernel seems to make do with much fewer interrupts and much
> lower CPU load.  How does it do that and how could dwc2 be
> made to do the same?

It connects an interrupt from the USB Phy to the FIQ (fast interrupt
request) pin on the Arm CPU. The dwc2 driver could do the same, except
I don't think the Linux kernel supports FIQ interrupts, so that would
need to be added. It would also be unique to Arm and to the SOC that
is used on the Pi.

> Would it be possible for you to provide
> me with documentation on the chip? The Synopsis website
> requires registration for downloads and registration requires
> a Synopsis customer ID.

It's highly unlikely that Minas can provide you with the databook if
you are not a customer. I used to work for Synopsys and wrote the
original dwc2 driver. The company's policy did not allow non-customers
to be given the databook. But you can find a copy on the web from a
couple of different sites, google for dwc_otg. In any case, it would
not cover the FIQ method that is used in the Pi driver, you would
probably need the Phy databook for that.

> It seems the Foundation's dwc_otg driver was forked from code
> that later begat dwc2.

Yes, I ported dwc2 from the Synopsys dwc_otg driver. But the FIQ
interrupt stuff was not part of the dwc_otg driver, it was added by
the Raspberry Pi foundation guys specifically to work around problems
on the Pi platform.

HTH,
Paul



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

  Powered by Linux