On Tuesday 25 July 2006 11:58 pm, Naveen Mamindlapalli wrote: > > So to restate: the problem is that your FPGA code is > > issuing an IRQ when it shouldn't be. As if the IRQ > > line is still held high even when none of the enabled > > IRQ sources is still reporting the IRQ. > > > > The issue is actually twofold. Not just the fact that > > the IRQ is still triggered ... but also that the IAA > > IRQ was delayed for so long that the watchdog fired. > > In our case host controller generates the IAA IRQ > after the entire asynchronous schedule list traversed > and the observe the head of the queue twice before > setting the STS_IAA bit as per section 4.8.2 ( > Alternative method for removing queue heads ) in EHCI > spec.And then IRQ is generated on the next interrupt > threshold.
So far so good. The IRQ threshold is set low by default, 125 usec as I recall; and the schedules are normally small; so there's no reason to expect a multi-millisecond watchdog to trigger. > So some times the watchdog is fired before the > interrupt was generated and hence in watchdog routine > if STS_IAA bit is set , it is clearing that bit.But > before clearing if interrupt threshold is reached, our > interrupt controller gennerating the interrupt. Did you track down that second point -- why the long delay? You say it's happening a lot, and that's a sign of trouble. > Please correct me if I am wrong.I doubt why the above > code is not in #ifdef CONFIG_VT8235 Because the lost-IAA problem shows up with multiple parts from VIA, and the driver doesn't (and shouldn't!) care what silicon it's talking to. - Dave ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys -- and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _______________________________________________ linux-usb-devel@lists.sourceforge.net To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel