2007-02-07 18:33:57

by Levitsky Maxim

[permalink] [raw]
Subject: [PATCH] [NETDEV] [004] dmfe : Add suspend/resume support

From: Maxim Levitsky <[email protected]>
Subject: [PATCH] [NETDEV] [004] dmfe : Add suspend/resume support

Adds support for suspend/resume

---


--- linux-2.6.20-mod/drivers/net/tulip/dmfe.c???2007-02-07 18:46:13.000000000 +0200
+++ linux-2.6.20-test/drivers/net/tulip/dmfe.c??2007-02-07 18:50:52.000000000 +0200
@@ -55,9 +55,6 @@
?
? ? ?TODO
?
- ? ?Implement pci_driver::suspend() and pci_driver::resume()
- ? ?power management methods.
-
? ? ?Check on 64 bit boxes.
? ? ?Check and fix on big endian boxes.
?
@@ -2027,11 +2024,59 @@ static struct pci_device_id dmfe_pci_tbl
?MODULE_DEVICE_TABLE(pci, dmfe_pci_tbl);
?
?
+
+static int dmfe_suspend(struct pci_dev *pci_dev, pm_message_t state)
+{
+ ? ?u32 tmp;
+
+ ? ?struct net_device *dev = pci_get_drvdata(pci_dev);
+ ? ?struct dmfe_board_info *db = netdev_priv(dev);
+ ? ?
+ ? ?/* Disable upper layer interface */
+ ? ?netif_device_detach(dev);
+ ? ?
+ ? ?/* Disable Tx/Rx */
+ ? ?db->cr6_data &= ~(CR6_RXSC | CR6_TXSC);????
+ ? ?update_cr6(db->cr6_data, dev->base_addr);
+ ? ?
+ ? ?/* Disable Interrupt */
+ ? ?outl(0, dev->base_addr + DCR7);????????????
+ ? ?outl(inl(dev->base_addr + DCR5), dev->base_addr + DCR5);
+ ? ?
+ ? ?/* Fre RX buffers */
+ ? ?dmfe_free_rxbuffer(db);
+
+ ? ?/* Power down device*/
+ ? ?pci_set_power_state(pci_dev , ?pci_choose_state(pci_dev,state));
+ ? ?pci_save_state(pci_dev);
+
+ ? ?return 0;
+}
+
+static int dmfe_resume(struct pci_dev *pci_dev)
+{
+ ? ?struct net_device *dev = pci_get_drvdata(pci_dev);
+ ? ?u32 tmp;
+
+ ? ?pci_restore_state(pci_dev);
+ ? ?pci_set_power_state(pci_dev ,PCI_D0);
+ ? ?
+ ? ?/* Re-initilize DM910X board */
+ ? ?dmfe_init_dm910x(dev);
+ ? ? ? ?
+ ? ?/* Restart upper layer interface */
+ ? ?netif_device_attach(dev);
+
+ ? ?return 0;
+}
+
?static struct pci_driver dmfe_driver = {
????????.name???????????= "dmfe",
????????.id_table???????= dmfe_pci_tbl,
????????.probe??????????= dmfe_init_one,
????????.remove?????????= __devexit_p(dmfe_remove_one),
+ ? ? ? ?.suspend ? ? ? ?= dmfe_suspend,
+ ? ? ? ?.resume ? ? ? ? = dmfe_resume
?};
?
?MODULE_AUTHOR("Sten Wang, [email protected]");




____________________________________________________________________________________
Do you Yahoo!?
Everyone is raving about the all-new Yahoo! Mail beta.
http://new.mail.yahoo.com


2007-02-09 23:55:31

by Pavel Machek

[permalink] [raw]
Subject: Re: [PATCH] [NETDEV] [004] dmfe : Add suspend/resume support

Hi!

> From: Maxim Levitsky <[email protected]>
> Subject: [PATCH] [NETDEV] [004] dmfe : Add suspend/resume support
>
> Adds support for suspend/resume

Patch looks ok, but your mailer damaged it heavily.

> --- linux-2.6.20-mod/drivers/net/tulip/dmfe.c???2007-02-07 18:46:13.000000000 +0200
> +++ linux-2.6.20-test/drivers/net/tulip/dmfe.c??2007-02-07 18:50:52.000000000 +0200
> @@ -55,9 +55,6 @@
> ?
> ? ? ?TODO
> ?
> - ? ?Implement pci_driver::suspend() and pci_driver::resume()
> - ? ?power management methods.
> -
> ? ? ?Check on 64 bit boxes.
> ? ? ?Check and fix on big endian boxes.
> ?
> @@ -2027,11 +2024,59 @@ static struct pci_device_id dmfe_pci_tbl
> ?MODULE_DEVICE_TABLE(pci, dmfe_pci_tbl);
> ?
> ?
> +
> +static int dmfe_suspend(struct pci_dev *pci_dev, pm_message_t state)
> +{

Pavel
--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html

2007-02-11 21:05:43

by Maxim Levitsky

[permalink] [raw]
Subject: Re: [PATCH] [NETDEV] [004] dmfe : Add suspend/resume support

On Friday 09 February 2007 22:54:52 Pavel Machek wrote:
> Hi!
>
> > From: Maxim Levitsky <[email protected]>
> > Subject: [PATCH] [NETDEV] [004] dmfe : Add suspend/resume support
> >
> > Adds support for suspend/resume
>
> Patch looks ok, but your mailer damaged it heavily.
>
> > --- linux-2.6.20-mod/drivers/net/tulip/dmfe.c???2007-02-07
> > 18:46:13.000000000 +0200 +++
> > linux-2.6.20-test/drivers/net/tulip/dmfe.c??2007-02-07 18:50:52.000000000
> > +0200 @@ -55,9 +55,6 @@
> > ?
> > ? ? ?TODO
> > ?
> > - ? ?Implement pci_driver::suspend() and pci_driver::resume()
> > - ? ?power management methods.
> > -
> > ? ? ?Check on 64 bit boxes.
> > ? ? ?Check and fix on big endian boxes.
> > ?
> > @@ -2027,11 +2024,59 @@ static struct pci_device_id dmfe_pci_tbl
> > ?MODULE_DEVICE_TABLE(pci, dmfe_pci_tbl);
> > ?
> > ?
> > +
> > +static int dmfe_suspend(struct pci_dev *pci_dev, pm_message_t state)
> > +{
>
> Pavel


Hi , thanks for reply , I will send them again, and this time I will check
that mailer doesn't mess with patches.

I fixed word wrap problem.

I also want to note that my address is now [email protected] , the
address I took recently because yahoo is only aviable via webmail
and it is not good for patches.

Thanks for reply,

regards , Maxim Levitsky