* [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.