All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] aic94xx: disable split completion timer/setting by default
@ 2006-06-30 21:10 Alexis Bruemmer
  2006-06-30 21:17 ` Jeff Garzik
  0 siblings, 1 reply; 4+ messages in thread
From: Alexis Bruemmer @ 2006-06-30 21:10 UTC (permalink / raw)
  To: linux-kernel

The aic94xx driver will lock up under heavy load with a split completion
error.  There is a split completion timer/setting which should be
disabled by default but is not.  This patch fixes this problem.

Signed-off-by: Adaptec
Acked-by: Alexis Bruemmer <alexisb@us.ibm.com>

----------

Index: aic94xx-sas-2.6-patched/drivers/scsi/aic94xx/aic94xx_hwi.c
===================================================================
--- aic94xx-sas-2.6-patched.orig/drivers/scsi/aic94xx/aic94xx_hwi.c	2006-06-23 11:12:01.000000000 -0700
+++ aic94xx-sas-2.6-patched/drivers/scsi/aic94xx/aic94xx_hwi.c	2006-06-29 12:10:08.000000000 -0700
@@ -604,11 +604,26 @@
 int asd_init_hw(struct asd_ha_struct *asd_ha)
 {
 	int err;
+	u32 v;
 
 	err = asd_init_sw(asd_ha);
 	if (err)
 		return err;
 
+	err = pci_read_config_dword(asd_ha->pcidev, PCIC_HSTPCIX_CNTRL, &v);
+	if (err) {
+		asd_printk("couldn't read PCIC_HSTPCIX_CNTRL of %s\n",
+			   pci_name(asd_ha->pcidev));
+		return err;
+	}
+	pci_write_config_dword(asd_ha->pcidev, PCIC_HSTPCIX_CNTRL,
+					v | SC_TMR_DIS);
+	if (err) {
+		asd_printk("couldn't disable split completion timer of %s\n",
+			   pci_name(asd_ha->pcidev));
+		return err;
+	}
+
 	err = asd_read_ocm(asd_ha);
 	if (err) {
 		asd_printk("couldn't read ocm(%d)\n", err);
Index: aic94xx-sas-2.6-patched/drivers/scsi/aic94xx/aic94xx_reg_def.h
===================================================================
--- aic94xx-sas-2.6-patched.orig/drivers/scsi/aic94xx/aic94xx_reg_def.h	2006-06-23 11:12:01.000000000 -0700
+++ aic94xx-sas-2.6-patched/drivers/scsi/aic94xx/aic94xx_reg_def.h	2006-06-29 11:57:49.000000000 -0700
@@ -1787,6 +1787,7 @@
 #define PCIC_HSTPCIX_CNTRL	0xA0
 
 #define 	REWIND_DIS		0x0800
+#define		SC_TMR_DIS		0x04000000
 
 #define PCIC_MBAR0_MASK	0xA8
 #define		PCIC_MBAR0_SIZE_MASK 	0x1FFFE000



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

* Re: [PATCH] aic94xx: disable split completion timer/setting by default
  2006-06-30 21:10 [PATCH] aic94xx: disable split completion timer/setting by default Alexis Bruemmer
@ 2006-06-30 21:17 ` Jeff Garzik
  0 siblings, 0 replies; 4+ messages in thread
From: Jeff Garzik @ 2006-06-30 21:17 UTC (permalink / raw)
  To: Alexis Bruemmer; +Cc: linux-kernel, SCSI Mailing List

Alexis Bruemmer wrote:
> The aic94xx driver will lock up under heavy load with a split completion
> error.  There is a split completion timer/setting which should be
> disabled by default but is not.  This patch fixes this problem.
> 
> Signed-off-by: Adaptec
> Acked-by: Alexis Bruemmer <alexisb@us.ibm.com>

There are various aic94xx driver bits floating about, and I'm worried 
that it will stay forever outside the kernel.org tree.

Can you (a) make sure to CC linux-scsi@vger.kernel.org on all aic94xx 
patches, and (b) work with James Bottomley and the crew to get it 
working with the upstream tree?

	Jeff




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

* [PATCH] aic94xx: disable split completion timer/setting by default
@ 2006-06-30 21:17 Alexis Bruemmer
  2006-06-30 21:24 ` Arjan van de Ven
  0 siblings, 1 reply; 4+ messages in thread
From: Alexis Bruemmer @ 2006-06-30 21:17 UTC (permalink / raw)
  To: linux-scsi

The aic94xx driver will lock up under heavy load with a split completion
error.  There is a split completion timer/setting which should be
disabled by default but is not.  This patch fixes this problem.

Signed-off-by: Adaptec
Acked-by: Alexis Bruemmer <alexisb@us.ibm.com>

----------

Index: aic94xx-sas-2.6-patched/drivers/scsi/aic94xx/aic94xx_hwi.c
===================================================================
--- aic94xx-sas-2.6-patched.orig/drivers/scsi/aic94xx/aic94xx_hwi.c	2006-06-23 11:12:01.000000000 -0700
+++ aic94xx-sas-2.6-patched/drivers/scsi/aic94xx/aic94xx_hwi.c	2006-06-29 12:10:08.000000000 -0700
@@ -604,11 +604,26 @@
 int asd_init_hw(struct asd_ha_struct *asd_ha)
 {
 	int err;
+	u32 v;
 
 	err = asd_init_sw(asd_ha);
 	if (err)
 		return err;
 
+	err = pci_read_config_dword(asd_ha->pcidev, PCIC_HSTPCIX_CNTRL, &v);
+	if (err) {
+		asd_printk("couldn't read PCIC_HSTPCIX_CNTRL of %s\n",
+			   pci_name(asd_ha->pcidev));
+		return err;
+	}
+	pci_write_config_dword(asd_ha->pcidev, PCIC_HSTPCIX_CNTRL,
+					v | SC_TMR_DIS);
+	if (err) {
+		asd_printk("couldn't disable split completion timer of %s\n",
+			   pci_name(asd_ha->pcidev));
+		return err;
+	}
+
 	err = asd_read_ocm(asd_ha);
 	if (err) {
 		asd_printk("couldn't read ocm(%d)\n", err);
Index: aic94xx-sas-2.6-patched/drivers/scsi/aic94xx/aic94xx_reg_def.h
===================================================================
--- aic94xx-sas-2.6-patched.orig/drivers/scsi/aic94xx/aic94xx_reg_def.h	2006-06-23 11:12:01.000000000 -0700
+++ aic94xx-sas-2.6-patched/drivers/scsi/aic94xx/aic94xx_reg_def.h	2006-06-29 11:57:49.000000000 -0700
@@ -1787,6 +1787,7 @@
 #define PCIC_HSTPCIX_CNTRL	0xA0
 
 #define 	REWIND_DIS		0x0800
+#define		SC_TMR_DIS		0x04000000
 
 #define PCIC_MBAR0_MASK	0xA8
 #define		PCIC_MBAR0_SIZE_MASK 	0x1FFFE000



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

* Re: [PATCH] aic94xx: disable split completion timer/setting by default
  2006-06-30 21:17 Alexis Bruemmer
@ 2006-06-30 21:24 ` Arjan van de Ven
  0 siblings, 0 replies; 4+ messages in thread
From: Arjan van de Ven @ 2006-06-30 21:24 UTC (permalink / raw)
  To: Alexis Bruemmer; +Cc: linux-scsi

On Fri, 2006-06-30 at 14:17 -0700, Alexis Bruemmer wrote:
> The aic94xx driver will lock up under heavy load with a split completion
> error.  There is a split completion timer/setting which should be
> disabled by default but is not.  This patch fixes this problem.
> 
> Signed-off-by: Adaptec

please always put an email address in the Signed-off-by line...


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

end of thread, other threads:[~2006-06-30 21:24 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-06-30 21:10 [PATCH] aic94xx: disable split completion timer/setting by default Alexis Bruemmer
2006-06-30 21:17 ` Jeff Garzik
  -- strict thread matches above, loose matches on Subject: below --
2006-06-30 21:17 Alexis Bruemmer
2006-06-30 21:24 ` Arjan van de Ven

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.