linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] sil3531: has no PM capability, remove support.
@ 2012-04-09 14:14 philby john
  2012-04-09 14:51 ` Jeff Garzik
  0 siblings, 1 reply; 3+ messages in thread
From: philby john @ 2012-04-09 14:14 UTC (permalink / raw)
  To: linux-ide; +Cc: linux-kernel, Jeff Garzik, htejun

From: Philby John <pjohn@mvista.com>
Date: Mon, 9 Apr 2012 19:09:51 +0530
Subject: [PATCH] sil3531: has no PM capability, remove support.

SATA sil3531 does not support Power Management Capability and
as per the manual Bit [31:27] is hardwired to 00h.
Otherwise, when the device goes into suspend/resume the Power
Management Control + Status registers are accessed and the
arch specific readl()/__raw_readl() calls block indefinitely.

This patch sets the PCI_DEV_FLAGS_NO_D3 flag by which the if
condition in pci_set_power_state() evaluates to true and
pci_raw_set_power_state() functions are not executed.

Signed-off-by: Philby John <pjohn@mvista.com>
Signed-off-by: Johnny Chiang <Johnny.Chiang@caviumnetworks.com>
---
 drivers/pci/pci.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c
index 8156744..129120d 100644
--- a/drivers/pci/pci.c
+++ b/drivers/pci/pci.c
@@ -1863,6 +1863,7 @@ void pci_pm_init(struct pci_dev *dev)
 		pci_pme_active(dev, false);
 	} else {
 		dev->pme_support = 0;
+		dev->dev_flags |= PCI_DEV_FLAGS_NO_D3;
 	}
 }
 
-- 
1.6.3.3.340.g77d18




^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH] sil3531: has no PM capability, remove support.
  2012-04-09 14:14 [PATCH] sil3531: has no PM capability, remove support philby john
@ 2012-04-09 14:51 ` Jeff Garzik
  2012-04-09 15:07   ` philby john
  0 siblings, 1 reply; 3+ messages in thread
From: Jeff Garzik @ 2012-04-09 14:51 UTC (permalink / raw)
  To: philby john; +Cc: linux-ide, linux-kernel, htejun

On 04/09/2012 10:14 AM, philby john wrote:
> From: Philby John<pjohn@mvista.com>
> Date: Mon, 9 Apr 2012 19:09:51 +0530
> Subject: [PATCH] sil3531: has no PM capability, remove support.
>
> SATA sil3531 does not support Power Management Capability and
> as per the manual Bit [31:27] is hardwired to 00h.
> Otherwise, when the device goes into suspend/resume the Power
> Management Control + Status registers are accessed and the
> arch specific readl()/__raw_readl() calls block indefinitely.
>
> This patch sets the PCI_DEV_FLAGS_NO_D3 flag by which the if
> condition in pci_set_power_state() evaluates to true and
> pci_raw_set_power_state() functions are not executed.
>
> Signed-off-by: Philby John<pjohn@mvista.com>
> Signed-off-by: Johnny Chiang<Johnny.Chiang@caviumnetworks.com>
> ---
>   drivers/pci/pci.c |    1 +
>   1 files changed, 1 insertions(+), 0 deletions(-)
>
> diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c
> index 8156744..129120d 100644
> --- a/drivers/pci/pci.c
> +++ b/drivers/pci/pci.c
> @@ -1863,6 +1863,7 @@ void pci_pm_init(struct pci_dev *dev)
>   		pci_pme_active(dev, false);
>   	} else {
>   		dev->pme_support = 0;
> +		dev->dev_flags |= PCI_DEV_FLAGS_NO_D3;

This patch applies to -every- piece of PCI hardware out there, not just 
the sil3531...

	Jeff





^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] sil3531: has no PM capability, remove support.
  2012-04-09 14:51 ` Jeff Garzik
@ 2012-04-09 15:07   ` philby john
  0 siblings, 0 replies; 3+ messages in thread
From: philby john @ 2012-04-09 15:07 UTC (permalink / raw)
  To: Jeff Garzik; +Cc: linux-ide, linux-kernel, htejun

On Mo, 2012-04-09 at 10:51 -0400, Jeff Garzik wrote:
> On 04/09/2012 10:14 AM, philby john wrote:
> > From: Philby John<pjohn@mvista.com>
> > Date: Mon, 9 Apr 2012 19:09:51 +0530
> > Subject: [PATCH] sil3531: has no PM capability, remove support.
> >
> > SATA sil3531 does not support Power Management Capability and
> > as per the manual Bit [31:27] is hardwired to 00h.
> > Otherwise, when the device goes into suspend/resume the Power
> > Management Control + Status registers are accessed and the
> > arch specific readl()/__raw_readl() calls block indefinitely.
> >
> > This patch sets the PCI_DEV_FLAGS_NO_D3 flag by which the if
> > condition in pci_set_power_state() evaluates to true and
> > pci_raw_set_power_state() functions are not executed.
> >
> > Signed-off-by: Philby John<pjohn@mvista.com>
> > Signed-off-by: Johnny Chiang<Johnny.Chiang@caviumnetworks.com>
> > ---
> >   drivers/pci/pci.c |    1 +
> >   1 files changed, 1 insertions(+), 0 deletions(-)
> >
> > diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c
> > index 8156744..129120d 100644
> > --- a/drivers/pci/pci.c
> > +++ b/drivers/pci/pci.c
> > @@ -1863,6 +1863,7 @@ void pci_pm_init(struct pci_dev *dev)
> >   		pci_pme_active(dev, false);
> >   	} else {
> >   		dev->pme_support = 0;
> > +		dev->dev_flags |= PCI_DEV_FLAGS_NO_D3;
> 
> This patch applies to -every- piece of PCI hardware out there, not just 
> the sil3531...
> 

But if pme_support is zero, isn't it ok to set dev_flags to
PCI_DEV_FLAGS_NO_D3 ?

Regards,
Philby



^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2012-04-09 15:06 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-04-09 14:14 [PATCH] sil3531: has no PM capability, remove support philby john
2012-04-09 14:51 ` Jeff Garzik
2012-04-09 15:07   ` philby john

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).