On Sun, Dec 14, 2008 at 03:15:15PM +0400, Manu Abraham wrote: ... > > A "GSI" (Generic Sys Interrupt?) is associated with each entry in > > the MSI-X table. Driver then calls request_irq() to bind an interrupt > > handler to each GSI. So the driver never directly sees the "message". > > Oh, you mean the array of irq_handlers in the MSI-X table should > correspond to a particular message ? No. I mean each MSI-X entry has an address+message pair and each MSI-X entry is associated with the parameters passed to each call of request_irq(). Pass in unique private data to each call of request_irq() and the driver can determine which message was delivered when the ISR gets called. (ISR == Interrupt Service Routine, aka driver IRQ handler) > I remember sometime back somebody stated that one might not get > the requested number of handlers what you requested. Correct. The limit is defined by the number of GSI's available from the HW. > In such a case, if the irq_handlers are mapped in a static fashion, one > might not get any interrupt callbacks for a specific functionality of > the hardware. Or is there something missing in what i understood ? Correct. grant -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html