Re: [RFC PATCH] PCI: remove access to pci_[enable|disable]_msi()for drivers - take 2

From: Jeff Garzik
Date: Tue Jun 07 2005 - 17:19:43 EST


Greg KH wrote:
@@ -6047,7 +6046,7 @@
if (!(tp->tg3_flags & TG3_FLAG_TAGGED_STATUS)) {
printk(KERN_WARNING PFX "%s: MSI without TAGGED? "
"Not using MSI.\n", tp->dev->name);
- } else if (pci_enable_msi(tp->pdev) == 0) {
+ } else if (pci_in_msi_mode(tp->pdev)) {
u32 msi_mode;
msi_mode = tr32(MSGINT_MODE);
@@ -6063,15 +6062,12 @@
if (tp->tg3_flags & TG3_FLAG_TAGGED_STATUS)
fn = tg3_interrupt_tagged;
+ pci_disable_msi(tp->pdev);
err = request_irq(tp->pdev->irq, fn,
SA_SHIRQ | SA_SAMPLE_RANDOM, dev->name, dev);
}
if (err) {
- if (tp->tg3_flags2 & TG3_FLG2_USING_MSI) {
- pci_disable_msi(tp->pdev);
- tp->tg3_flags2 &= ~TG3_FLG2_USING_MSI;
- }
tg3_free_consistent(tp);
return err;
}


If the driver has to _undo_ something that it did not do, that's pretty lame. Non-orthogonal.

Also, it looks like all the PCI MSI drivers need touching for this scheme -- which defeats the original intention. At this rate, the best API is the one we've already got.

Jeff


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/