Patchwork [1/3] sky2: resume clocks

login
register
mail settings
Submitter stephen hemminger
Date Feb. 7, 2010, 4:23 p.m.
Message ID <20100207082353.2d0c6a93@nehalam>
Download mbox | patch
Permalink /patch/44740/
State Accepted
Delegated to: David Miller
Headers show

Comments

stephen hemminger - Feb. 7, 2010, 4:23 p.m.
Change the resume path to use pci write config for a couple of reasons:
1. pci_write_config_dword() allows for more error
   checking of PCI health after resume.

2. better to toggle this register on all chip types, since that
   is what vendor driver does.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>

--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
David Miller - Feb. 11, 2010, 1:57 a.m.
From: Stephen Hemminger <shemminger@vyatta.com>
Date: Sun, 7 Feb 2010 08:23:53 -0800

> Change the resume path to use pci write config for a couple of reasons:
> 1. pci_write_config_dword() allows for more error
>    checking of PCI health after resume.
> 
> 2. better to toggle this register on all chip types, since that
>    is what vendor driver does.
> 
> Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>

Applied to net-next-2.6
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Patch

--- a/drivers/net/sky2.c	2010-02-03 09:17:01.602741445 -0800
+++ b/drivers/net/sky2.c	2010-02-03 09:24:17.943679463 -0800
@@ -4859,10 +4859,11 @@  static int sky2_resume(struct pci_dev *p
 	pci_enable_wake(pdev, PCI_D0, 0);
 
 	/* Re-enable all clocks */
-	if (hw->chip_id == CHIP_ID_YUKON_EX ||
-	    hw->chip_id == CHIP_ID_YUKON_EC_U ||
-	    hw->chip_id == CHIP_ID_YUKON_FE_P)
-		sky2_pci_write32(hw, PCI_DEV_REG3, 0);
+	err = pci_write_config_dword(pdev, PCI_DEV_REG3, 0);
+	if (err) {
+		dev_err(&pdev->dev, "PCI write config failed\n");
+		goto out;
+	}
 
 	sky2_reset(hw);
 	sky2_write32(hw, B0_IMSK, Y2_IS_BASE);