On Wed, Nov 23, 2011 at 11:38:48AM -0500, Alan Stern wrote: > On Wed, 23 Nov 2011, Felipe Balbi wrote: > > > > 255 requests including 255 additional interrupts to notify about the > > > completion and not to forget the complete callbacks to the gadget. > > > > of course not, if no_interrupt is set, it means gadget driver will not > > receive the interrupt. > > What you wrote isn't grammatically clear, and it's hard to tell exactly > what you meant here. Gadget drivers do not receive interrupts in any > case, only UDC drivers do. Gadget drivers _do_ receive completion > calls, and they are supposed to receive those calls regardless of > whether no_interrupt is set. The purpose of no_interrupt is to tell > the UDC driver that a hardware IRQ isn't needed. yeah, let me rephrase: if no_interrupt is set, then we can mask the completion IRQ from the UDC. > > BTW, IOC should be set on our driver when > > no_interrupt is cleared. Currently we are bypassing that flag and > > interrupting always on the last request. That's a mis-use the gadget > > framework ;-) > > no_interrupt is just a hint to the UDC driver. It's okay for the > driver to ignore it and tell the hardware to interrupt when the request > is complete. the mis-use is that we mask IRQs even though gadget driver wants a completion. -- balbi
Attachment:
signature.asc
Description: Digital signature