All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/2] hpsa: Disable ASPM
@ 2011-02-09 18:07 Matthew Garrett
  2011-02-09 18:07 ` [PATCH 2/2] cciss: " Matthew Garrett
  0 siblings, 1 reply; 4+ messages in thread
From: Matthew Garrett @ 2011-02-09 18:07 UTC (permalink / raw)
  To: mjg; +Cc: iss_storagedev, Stephen M. Cameron, linux-scsi

https://bugzilla.redhat.com/show_bug.cgi?id=618612 indicates that current
hpsa hardware has problems if ASPM is enabled. Disable it to avoid crashes.

Signed-off-by: Matthew Garrett <mjg@redhat.com>
Cc: iss_storagedev@hp.com
Cc: Stephen M. Cameron <scameron@beardog.cce.hp.com>
Cc: linux-scsi@vger.kernel.org
---
 drivers/scsi/hpsa.c |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/drivers/scsi/hpsa.c b/drivers/scsi/hpsa.c
index 12deffc..30fb46a 100644
--- a/drivers/scsi/hpsa.c
+++ b/drivers/scsi/hpsa.c
@@ -23,6 +23,7 @@
 #include <linux/interrupt.h>
 #include <linux/types.h>
 #include <linux/pci.h>
+#include <linux/pci-aspm.h>
 #include <linux/kernel.h>
 #include <linux/slab.h>
 #include <linux/delay.h>
@@ -3733,6 +3734,9 @@ static int __devinit hpsa_init_one(struct pci_dev *pdev,
 	if (number_of_controllers == 0)
 		printk(KERN_INFO DRIVER_NAME "\n");
 
+	pci_disable_link_state(pdev, PCIE_LINK_STATE_L0S | PCIE_LINK_STATE_L1 |
+			       PCIE_LINK_STATE_CLKPM);
+
 	rc = hpsa_init_reset_devices(pdev);
 	if (rc)
 		return rc;
-- 
1.7.4


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

* [PATCH 2/2] cciss: Disable ASPM
  2011-02-09 18:07 [PATCH 1/2] hpsa: Disable ASPM Matthew Garrett
@ 2011-02-09 18:07 ` Matthew Garrett
  2011-02-09 20:35   ` Miller, Mike (OS Dev)
  0 siblings, 1 reply; 4+ messages in thread
From: Matthew Garrett @ 2011-02-09 18:07 UTC (permalink / raw)
  To: mjg; +Cc: Mike Miller, iss_storagedev, linux-scsi

https://bugzilla.redhat.com/show_bug.cgi?id=618612 indicates that current
hpsa hardware has problems if ASPM is enabled. Disable it to avoid crashes.

Signed-off-by: Matthew Garrett <mjg@redhat.com>
Cc: Mike Miller <mike.miller@hp.com>
Cc: iss_storagedev@hp.com
Cc: linux-scsi@vger.kernel.org
---
 drivers/block/cciss.c |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/drivers/block/cciss.c b/drivers/block/cciss.c
index 516d5bb..bb77666 100644
--- a/drivers/block/cciss.c
+++ b/drivers/block/cciss.c
@@ -24,6 +24,7 @@
 #include <linux/interrupt.h>
 #include <linux/types.h>
 #include <linux/pci.h>
+#include <linux/pci-aspm.h>
 #include <linux/kernel.h>
 #include <linux/slab.h>
 #include <linux/delay.h>
@@ -4561,6 +4562,9 @@ static int __devinit cciss_init_one(struct pci_dev *pdev,
 	InquiryData_struct *inq_buff;
 	ctlr_info_t *h;
 
+	pci_disable_link_state(pdev, PCIE_LINK_STATE_L0S | PCIE_LINK_STATE_L1 |
+			       PCIE_LINK_STATE_CLKPM);
+
 	rc = cciss_init_reset_devices(pdev);
 	if (rc)
 		return rc;
-- 
1.7.4


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

* RE: [PATCH 2/2] cciss: Disable ASPM
  2011-02-09 18:07 ` [PATCH 2/2] cciss: " Matthew Garrett
@ 2011-02-09 20:35   ` Miller, Mike (OS Dev)
  2011-02-09 20:45     ` Matthew Garrett
  0 siblings, 1 reply; 4+ messages in thread
From: Miller, Mike (OS Dev) @ 2011-02-09 20:35 UTC (permalink / raw)
  To: Matthew Garrett; +Cc: ISS StorageDev, linux-scsi



> -----Original Message-----
> From: Matthew Garrett [mailto:mjg@redhat.com]
> Sent: Wednesday, February 09, 2011 12:07 PM
> To: mjg@redhat.com
> Cc: Miller, Mike (OS Dev); ISS StorageDev; linux-scsi@vger.kernel.org
> Subject: [PATCH 2/2] cciss: Disable ASPM
> 
> https://bugzilla.redhat.com/show_bug.cgi?id=618612 indicates that
> current
> hpsa hardware has problems if ASPM is enabled. Disable it to avoid
> crashes.

ASPM is supposed to be fixed on both Proliant and Smart Array by the next generation of hardware. If that comes to fruition I suppose we could make this patch conditional based on whether the underlying hw really supports ASPM. Other than that this looks good.

Matthew, if Proliant BIOS tells the OS that ASPM is not supported does the OS honor that and not attempt to use ASPM? I know there was a time (maybe still is) when that bit in the ACPI table was not being set so rhel6 tried to use ASPM and hence the BZ you mention. Sorry, but I can't recall the proper terminology for the ACPI table related stuff.

-- mikem

> 
> Signed-off-by: Matthew Garrett <mjg@redhat.com>
> Cc: Mike Miller <mike.miller@hp.com>
> Cc: iss_storagedev@hp.com
> Cc: linux-scsi@vger.kernel.org
> ---
>  drivers/block/cciss.c |    4 ++++
>  1 files changed, 4 insertions(+), 0 deletions(-)
> 
> diff --git a/drivers/block/cciss.c b/drivers/block/cciss.c
> index 516d5bb..bb77666 100644
> --- a/drivers/block/cciss.c
> +++ b/drivers/block/cciss.c
> @@ -24,6 +24,7 @@
>  #include <linux/interrupt.h>
>  #include <linux/types.h>
>  #include <linux/pci.h>
> +#include <linux/pci-aspm.h>
>  #include <linux/kernel.h>
>  #include <linux/slab.h>
>  #include <linux/delay.h>
> @@ -4561,6 +4562,9 @@ static int __devinit cciss_init_one(struct pci_dev
> *pdev,
>  	InquiryData_struct *inq_buff;
>  	ctlr_info_t *h;
> 
> +	pci_disable_link_state(pdev, PCIE_LINK_STATE_L0S |
> PCIE_LINK_STATE_L1 |
> +			       PCIE_LINK_STATE_CLKPM);
> +
>  	rc = cciss_init_reset_devices(pdev);
>  	if (rc)
>  		return rc;
> --
> 1.7.4


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

* Re: [PATCH 2/2] cciss: Disable ASPM
  2011-02-09 20:35   ` Miller, Mike (OS Dev)
@ 2011-02-09 20:45     ` Matthew Garrett
  0 siblings, 0 replies; 4+ messages in thread
From: Matthew Garrett @ 2011-02-09 20:45 UTC (permalink / raw)
  To: Miller, Mike (OS Dev); +Cc: ISS StorageDev, linux-scsi

On Wed, Feb 09, 2011 at 08:35:02PM +0000, Miller, Mike (OS Dev) wrote:

> ASPM is supposed to be fixed on both Proliant and Smart Array by the 
> next generation of hardware. If that comes to fruition I suppose we 
> could make this patch conditional based on whether the underlying hw 
> really supports ASPM. Other than that this looks good.

Yes, ideally we'd make this conditional on the ID.

> Matthew, if Proliant BIOS tells the OS that ASPM is not supported does 
> the OS honor that and not attempt to use ASPM? I know there was a time 
> (maybe still is) when that bit in the ACPI table was not being set so 
> rhel6 tried to use ASPM and hence the BZ you mention. Sorry, but I 
> can't recall the proper terminology for the ACPI table related stuff.

We ended up identifying the heuristic that HP were using to disable ASPM 
on Windows and that's now implemented upstream, but if this hardware's 
available on cards then there's the possibility that someone might try 
it on a machine where ASPM isn't explicitly disabled.

-- 
Matthew Garrett | mjg59@srcf.ucam.org

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

end of thread, other threads:[~2011-02-09 20:45 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-02-09 18:07 [PATCH 1/2] hpsa: Disable ASPM Matthew Garrett
2011-02-09 18:07 ` [PATCH 2/2] cciss: " Matthew Garrett
2011-02-09 20:35   ` Miller, Mike (OS Dev)
2011-02-09 20:45     ` Matthew Garrett

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.