Hi, On 6/25/21, Greg KH <gregkh@xxxxxxxxxxxxxxxxxxx> wrote: > On Fri, Jun 25, 2021 at 01:46:09PM +0300, Laurentiu-Cristian Duca wrote: >> Hello linux-usb community, >> >> I am new to linux-usb code and I hope that my question is not silly. >> I am interested in real-time usb. >> >> I know that on USB3, the gadget can initiate transactions > > It can? What do you mean by this exactly? I know form the following 2 sources: 1. Integrating devices in FPGA using an end-to-end hardware/software co-designed message-based approach Thomas Baumela The communication model between USB devices and drivers follows a master-slaves cheme. It means that every data transfer, either transmitting or receiving a message, is initiated by the driver itself. Before USB 3.0, this meant that drivers had to poll devices like mice or keyboard. Indeed, there was no such mechanism as interrupts coming from the device to let the driver know that a message is ready to be received. From USB 3.0 on, when a device has to send a message to its driver, it triggers a notification signal from its USB controller. This notification is then forwarded to the device which will then start the transfer as usual. 2. Universal Serial Bus - From introduction to rapid development Texas Instruments - video on youtube time 5:35-5:46 "Hosts are also responsible for transaction initiation and flow control. One exception to this, is with the 3.0 standard, devices can also initiate transactions" > > USB works in the "host asks a gadget if it has data" method. The gadget > can not talk to the host unless it is asked. > > thanks, > > greg k-h > Thanks, L-C.