Re: aic-5.1.19 AHA-3985W

Michael Leodolter (michael@lab1.psy.univie.ac.at)
Wed, 22 Sep 1999 13:20:54 +0200 (CEST)


On Mon, 20 Sep 1999, Doug Ledford wrote:

> Michael Leodolter wrote:
> >
> > -----BEGIN PGP SIGNED MESSAGE-----
> >
> > Hi Doug!
> >
> > We have a Adaptec 3985W (PCI_DEVICE_ID_ADAPTEC_7873) board with 9 4.5Gb
> > disks, 3 on each channel -
> > and were still running linux-2.0.33/aic7xxx-4.1.1 -
> >
> > Now did upgrade to 2.2.12 with aic7xxx-5.1.19:
> > After lots of problems I looked into the old driver from 2.0.33 and saw:
> >
> > The external SCB RAM on the 3985W does not work and was disabled by
> > #ifdef AIC7XXX_USE_EXT_SCBRAM.
> >
> > With the following patch to linux-2.2.12/aic7xxx.c-5.1.19 everything works
> > fine.
> >
> > Maybe this is needed only for
> > temp_p->device_id == PCI_DEVICE_ID_ADAPTEC_7873.
> >
> > - --- cut here ---
> > - --- aic7xxx.c.orig Mon Sep 13 10:13:58 1999
> > +++ aic7xxx.c Mon Sep 13 14:26:47 1999
> > @@ -9966,12 +9966,14 @@
> > devconfig |= EXTSCBPEN;
> > }
> > }
> > +#ifdef AIC7XXX_USE_EXT_SCBRAM
> > else if (devconfig & RAMPSM)
> > {
> > devconfig &= ~SCBRAMSEL;
> > devconfig |= EXTSCBPEN;
> > temp_p->flags |= AHC_EXTERNAL_SRAM;
> > }
> > +#endif
> > #if LINUX_VERSION_CODE > KERNEL_VERSION(2,1,92)
> > pci_write_config_dword(pdev, DEVCONFIG, devconfig);
> > #else
>
>
> Hmmm....a 3985W that uses the 7883 device ID should never get there. The
You are right! (it's a 7873 on a 3985W - and never gets there !!!).
> switch statement that enloses that code says:
>
> switch(temp_p->chip & AHC_CHIPID_MASK)
> {
> default:
> break;
> case AHC_AIC7895:
> case AHC_AIC7896:
> case AHC_AIC7899:
> .....
> }
>
> So, as you can see, the change you made shouldn't make a difference. Now, if
> you have one of the later model 3985 cards that uses the 7895 chipset, then
> this all makes perfect sense. In any case, I've modified the current driver
> with the following:
>
> /*
> * On some machines, enabling the external SCB RAM isn't reliable yet. I
> * haven't had time to make test patches for things like changing the
> * timing mode on that external RAM either. Some of those changes may
> * fix the problem. Until then though, we default to external SCB RAM
> * off and give a command line option to enable it.
> */
> static int aic7xxx_scbram = 0;
Please revert !
>
>
> and I modified the code inside the switch statement to honor this global
> variable that the setup code can modify. That should solve your problem and
> will be in the next official release.
Sorry!
Our problem was solved by setting

CONFIG_AIC7XXX_CMDS_PER_DEVICE=8

in the kernel .config file.

(we have 4 3year old Quantum XP34300W (Atlas I 4.5Gb) disks)

michael
--------------------------------------------------------
- Michael Leodolter Brain Research Lab (BRL) -
- Inst. of Psychology Univ. of Vienna -
- EMail: Michael.Leodolter@univie.ac.at -
- Tel: ++43-1-4277-478-28 Fax: ++43-1-4277-478-59 -
--------------------------------------------------------

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/