Re: 8390too, radeonfb support

From: Peter Osterlund (petero2@telia.com)
Date: Tue Jul 22 2003 - 06:10:24 EST


Jeff Garzik <jgarzik@pobox.com> writes:

> On Sun, Jul 20, 2003 at 11:30:14PM +0200, Pavel Machek wrote:
> > Hi!
> >
> > Ole put some patches on his webpage. I ported them to
> > 2.6.0-test1. Could someone who has hardware test them/push them to
> > linus?
>
> Please push net driver patches to the net driver maintainer, who has
> already applied the simple 8139too-refrigerator patch.

Here is an incremental patch.

Correctly initialize the NIC in 8139too.c after software
suspend/resume, so that we don't get Tx/Rx DMA timeouts.

Tested and works fine on my computer. This patch originates from Ole
Myren Rohne's web page:

        http://mrohne.home.cern.ch/mrohne/P2120/P2120_Linux_S3.html

 drivers/net/8139too.c | 10 +++++++++-
 1 files changed, 9 insertions(+), 1 deletion(-)

diff -puN drivers/net/8139too.c~rtl8139-suspend-2 drivers/net/8139too.c
--- linux/drivers/net/8139too.c~rtl8139-suspend-2 Tue Jul 22 12:50:36 2003
+++ linux-petero/drivers/net/8139too.c Tue Jul 22 12:50:36 2003
@@ -566,6 +566,7 @@ struct rtl8139_private {
         void *mmio_addr;
         int drv_flags;
         struct pci_dev *pci_dev;
+ u32 pci_state[16];
         struct net_device_stats stats;
         unsigned char *rx_ring;
         unsigned int cur_rx; /* Index into the Rx buffer of next Rx pkt. */
@@ -2570,6 +2571,9 @@ static int rtl8139_suspend (struct pci_d
         tp->stats.rx_missed_errors += RTL_R32 (RxMissed);
         RTL_W32 (RxMissed, 0);
 
+ pci_save_state (pdev, tp->pci_state);
+ pci_set_power_state (pdev, 3);
+
         spin_unlock_irqrestore (&tp->lock, flags);
         return 0;
 }
@@ -2578,11 +2582,15 @@ static int rtl8139_suspend (struct pci_d
 static int rtl8139_resume (struct pci_dev *pdev)
 {
         struct net_device *dev = pci_get_drvdata (pdev);
+ struct rtl8139_private *tp = dev->priv;
 
         if (!netif_running (dev))
                 return 0;
- netif_device_attach (dev);
+ pci_set_power_state (pdev, 0);
+ pci_restore_state (pdev, tp->pci_state);
+ rtl8139_init_ring (dev);
         rtl8139_hw_start (dev);
+ netif_device_attach (dev);
         return 0;
 }
 

_

-- 
Peter Osterlund - petero2@telia.com
http://w1.894.telia.com/~u89404340
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Wed Jul 23 2003 - 22:00:46 EST