netdev
[Top] [All Lists]

[resend][PATCH net-drivers-2.4 3/16] e1000:MSI support for PCI-e adapter

To: netdev <netdev@xxxxxxxxxxx>
Subject: [resend][PATCH net-drivers-2.4 3/16] e1000:MSI support for PCI-e adapters
From: Malli Chilakala <mallikarjuna.chilakala@xxxxxxxxx>
Date: Thu, 28 Apr 2005 20:10:58 -0700 (PDT)
Cc: "jgarzik@xxxxxxxxx" <jgarzik@xxxxxxxxx>
Replyto: "Malli Chilakala" <mallikarjuna.chilakala@intel.com>
Sender: netdev-bounce@xxxxxxxxxxx
MSI support for PCI-e adapters

Signed-off-by: Mallikarjuna R Chilakala <mallikarjuna.chilakala@xxxxxxxxx>
Signed-off-by: Ganesh Venkatesan <ganesh.venkatesan@xxxxxxxxx>
Signed-off-by: John Ronciak <john.ronciak@xxxxxxxxx>
diff -up net-drivers-2.4/drivers/net/e1000/e1000.h 
net-drivers-2.4/drivers/net/e1000.new/e1000.h
--- net-drivers-2.4/drivers/net/e1000/e1000.h   2005-04-12 23:00:53.000000000 
-0700
+++ net-drivers-2.4/drivers/net/e1000.new/e1000.h       2005-04-12 
23:00:55.000000000 -0700
@@ -259,5 +259,8 @@ struct e1000_adapter {
 
        uint32_t pci_state[16];
        int msg_enable;
+#ifdef CONFIG_PCI_MSI
+       boolean_t have_msi;
+#endif
 };
 #endif /* _E1000_H_ */
diff -up net-drivers-2.4/drivers/net/e1000/e1000_main.c 
net-drivers-2.4/drivers/net/e1000.new/e1000_main.c
--- net-drivers-2.4/drivers/net/e1000/e1000_main.c      2005-04-12 
23:00:53.000000000 -0700
+++ net-drivers-2.4/drivers/net/e1000.new/e1000_main.c  2005-04-12 
23:00:55.000000000 -0700
@@ -309,6 +309,16 @@ e1000_up(struct e1000_adapter *adapter)
        e1000_configure_rx(adapter);
        e1000_alloc_rx_buffers(adapter);
 
+#ifdef CONFIG_PCI_MSI
+       if(adapter->hw.mac_type > e1000_82547_rev_2) {
+               adapter->have_msi = TRUE;
+               if((err = pci_enable_msi(adapter->pdev))) {
+                       DPRINTK(PROBE, ERR,
+                        "Unable to allocate MSI interrupt Error: %d\n", err);
+                       adapter->have_msi = FALSE;
+               }
+       }
+#endif
        if((err = request_irq(adapter->pdev->irq, &e1000_intr,
                              SA_SHIRQ | SA_SAMPLE_RANDOM,
                              netdev->name, netdev)))
@@ -330,6 +330,11 @@ e1000_down(struct e1000_adapter *adapter
 
        e1000_irq_disable(adapter);
        free_irq(adapter->pdev->irq, netdev);
+#ifdef CONFIG_PCI_MSI
+       if(adapter->hw.mac_type > e1000_82547_rev_2 &&
+          adapter->have_msi == TRUE)
+               pci_disable_msi(adapter->pdev);
+#endif
        del_timer_sync(&adapter->tx_fifo_stall_timer);
        del_timer_sync(&adapter->watchdog_timer);
        del_timer_sync(&adapter->phy_info_timer);



<Prev in Thread] Current Thread [Next in Thread>
  • [resend][PATCH net-drivers-2.4 3/16] e1000:MSI support for PCI-e adapters, Malli Chilakala <=