> > A separate interrupt function can, for example, perform an MMIO read to > > check irq-pending, outside of a spinlock. ->irq_pending callback is a > > bit more constraining. > > If we call ->irq_pending() only when no qc is in flight, I don't think > there will be any noticeable performance penalty when the IRQ pending Agreed > All BMDMA controllers I know about are sata_sil (already has private > irq handler) and ata_piix (this patch). Alan, how do other > controllers do it? CMD chipsets do a register read .. from PCI config space (gak) SIL680 is similar SI3112 adds the fact you need to keep at the PHY as well. Promise uses a magic register at dmabase + 0x1D which holds irq bits All much the same. What I'd like to understand better is why we need any of these ... Alan -- To unsubscribe from this list: send the line "unsubscribe linux-ide" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html