intel_mid_dma: fix runtime pm issues
PATCH 1/1 intel_mid_dma: fix runtime pm issues
From: Kristen Carlson Accardi <[email protected]>
Use the correct api in probe to enable runtime pm for this driver. Additionally, do not just call legacy suspend for runtime_suspend, as this duplicates some work the pci core does for you.
Signed-off-by Kristen Carlson Accardi <[email protected]>
--- drivers/dma/intel_mid_dma.c | 17 +++++++++++++---- 1 files changed, 13 insertions(+), 4 deletions(-)
drivers/dma/intel_mid_dma.c +13 -4
@@ -1292,8 +1292,7 @@ static int __devinit intel_mid_dma_probe(struct pci_dev *pdev,if (err) goto err_dma; -pm_runtime_set_active (&pdev->dev); -pm_runtime_enable (&pdev->dev); +pm_runtime_put_noidle (&pdev->dev);pm_runtime_allow (&pdev->dev);return 0 ;
@@ -1322,6 +1321,9 @@ err_enable_device: static void __devexit intel_mid_dma_remove(struct pci_dev *pdev) {struct middma_device *device =pci_get_drvdata (pdev); + +pm_runtime_get_noresume (&pdev->dev); +pm_runtime_forbid (&pdev->dev);middma_shutdown (pdev);pci_dev_put (pdev);kfree (device);
@@ -1385,13 +1387,20 @@ int dma_resume(struct pci_dev *pci)static int dma_runtime_suspend (struct device *dev) {struct pci_dev *pci_dev =to_pci_dev (dev); -return dma_suspend (pci_dev,PMSG_SUSPEND ); +struct middma_device *device =pci_get_drvdata (pci_dev); + + device->state =SUSPENDED ; +return 0 ; }static int dma_runtime_resume (struct device *dev) {struct pci_dev *pci_dev =to_pci_dev (dev); -return dma_resume (pci_dev); +struct middma_device *device =pci_get_drvdata (pci_dev); + + device->state =RUNNING ; +iowrite32 (REG_BIT0 , device->dma_base +DMA_CFG ); +return 0 ; }static int dma_runtime_idle (struct device *dev)
Signature · 1 line
1.7.3.1
Koul, Vinod
AppliedQuoted 11 lines · On Thu, 2011-03-31 at 11:02 -0700, [email protected] wrote:
From: Kristen Carlson Accardi <[email protected]>
Use the correct api in probe to enable runtime pm for this driver. Additionally, do not just call legacy suspend for
runtime_suspend, as this duplicates some work the pci core does for you.Signed-off-by Kristen Carlson Accardi <[email protected]>--- drivers/dma/intel_mid_dma.c | 17 +++++++++++++---- 1 files changed, 13 insertions(+), 4 deletions(-)
Applied, Thanks
Signature · 1 line
~Vinod