On Tue, 12 Feb 2019, Lorenzo Bianconi wrote: > Hi Alan, > > I actually used usb_sg_init()/usb_sg_wait() as reference to implement > mt76u {tx/rx} datapath, but I will double-check. > I guess we should even consider if there are other usb host drivers > that do not implement SG I/O and it is worth to support. > I am wondering if the right approach is to add SG to the controller > one by one or have legacy I/O in mt76 (not sure what is the 'best' > approach) > What do you think? If mt76u can use usb_sg_init/usb_sg_wait, that would be the simplest. It would allow you to remove a lot of code from the driver. And then adding SG support to the controller drivers one by one would be fine. However, if that isn't feasible then you have to keep legacy I/O in mt76u as long as any controller drivers don't support SG. Alan Stern