On Tue, Mar 04, 2014 at 08:13:32PM +0800, vichy wrote: > hi David: > > > 2014-03-04 19:40 GMT+08:00 David Laight <David.Laight@xxxxxxxxxx>: > > From: vichy > >> hi all: > >> from xhci spec, Interrupter Target is the value between 0 and MaxIntrs-1. > >> But why the parameter pass to TRB_INTR_TARGTRB_INTR_TARGET is always 0. > >> > >> Does that mean so far xhci host didn't support multi-interrupt as > >> MSI-X suggested? > > > > AFAIK The Linux USB stack doesn't support the locking required for > > fine-grained interrupts. So only a single interrupt can be supported. > > > is there any special reason we don't support fine-grained interrupts? > it semes PCI has support MSI-X quite long ago. The xHCI driver would need to be re-written to direct endpoint transfers to different event rings. It's not clear what the best policy for deciding which events should go to which rings. Basically it's a feature we haven't implemented yet. Also, many xHCI hosts only support MSI, not MSI-X, and Linux does not support multi-vector MSI, so we can't use multiple event rings effectively. In the mean time, we do support one MSI or MSI-X vector, which at least gets the driver out of the legacy PCI interrupt handlers of other drivers. Sarah Sharp -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html