On Saturday 22 April 2006 5:45 am, Sujith Sankar wrote: > Hi All, > > I'm into developing OTG Controller driver for Linux for ARC controller. > The only similar implementation that i could find was OMAP.
It's not necessarily the best example for you, of course; if you have an integrated transceiver, you won't need to dodge around the I2C latencies or I2C API goofs (can't submit in_irq, etc). Plus, on some hardware the transceiver and OTG controller don't appear to the driver as separate event sources. The main thing you need to pay attention to is the OTG state transitions, and your hardware may not make them look much at all like that combination of controller-plus-transceiver. > Could you please clear the following doubts? > > 1.) In OMAP ISR, work queue is used for invoking the bottom half. > Is it cumulative? If not, isn't there a chance for missing some > interrupts or missing the order of occurance if back to back > interrupts occur before the bottom half for the first one is executed? I assume you mean omap_otg_irq(). One reason the "todo" bitmask is used is to help ensure that multiple events can be delivered to that tasklet ... and you'll notice that the tasklet does have logic to cope with multiple pending events. > 2.)For passing the reason for interrupt to the bottom half, isp->todo > is used. Shouldn't a lock be used because both isp1301_work() and ISR > are accessing this variable? Those atomic bit ops are, well, atomic. - Dave ------------------------------------------------------- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 _______________________________________________ linux-usb-devel@lists.sourceforge.net To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel