Subject: Re: promise sata TX2Plus not configured
To: Lukas L. Diduch <count0@sdf-eu.org>
From: john heasley <heas@shrubbery.net>
List: current-users
Date: 03/08/2005 20:17:22
Sat, Mar 05, 2005 at 01:08:46PM +0000, Lukas L. Diduch:
> On Fri, Mar 04, 2005 at 03:47:56PM +0000, john heasley wrote:
> > Fri, Mar 04, 2005 at 10:25:45AM +0100, Lukas Diduch:
> > > > > > i've installed a (probably newer model of) a Promise SATA TX2Plus
> > > > > > controller
> > > > > > on a u60/sparc64. The system does not recognize the device. (maybe
> > > > because
> > > > > > of the fancy id ?)
> > > > > > 
> > > > > > dmesg :
> > > > > Promise Technology product 0x3d75 (miscellaneous mass storage, revision
> > > > > 0x02) at pci0 dev 2 function 0 not configured
> > > > > psycho1 at mainbus0 addr 0xfffc6000
> > > > > 
> > > > > here's a pcictl dump of the device :
> > > > > 
> > > > > PCI configuration registers:
> > > > >   Common header:
> > > > >     0x00: 0x3d75105a 0x02300007 0x01800002 0x00002040
> > > > > 
> > > > >     Vendor Name: Promise Technology (0x105a)
> > > > >     Device ID: 0x3d75
> > > > 
> > > > For starters, Its probably showing up as 'not configured' because the
> > > > device
> > > > ID is not in pcidevs or in pdcide's table of devices to match.  You could
> > > > add it and see if it is close enough to those supported by the pdcide
> > > > driver.
> > > > 
> > > (Sorry for mailing 2x John.) I've altered (not added yet) pcidevs and
> > > pcidevs.h respectively to know the id (3d75) of the pdcsata dev. (changed
> > > the id's of 3318 then 3375 then 3379 to 3d75) The device IS recognized now,
> > > but fails to initialize the hdd. It recognizes just 65gb out of 160gb and
> > > hangs up in a loop then : bogus int (reg 0x2)....
> > > I will run more tests given the time, and if you need someone testing new
> > > code on this new piece of hw., here i am :>
> > 
> > yesterday Mathias Scheler suggested that this card ought to use the pdcsata
> > driver, rather than the pdcide driver.  Perhaps you could try that.
> 
> The line
> 
> pdcsata* at pci? dev ? function ?       # Promise SATA150 controllers
> 
> is in GENERIC32 which is included by default in GENERIC kernels on sparc64.
> Sorry for misleading you maybe, but i am using the pdcsata driver (see below)
> with a sata card connected to a 160gb sata hdd.  
> 
> Unfortunately just adding the device to pcidevs and pcidevs.h doesn't help.
> Those promise cards have some specific code in sys/dev/pci/pdcsata.c which
> checks for the id. If you take a short look at that code you'll see that the
> driver uses a special handling of those promise cards.  (i refer to $NetBSD:
> pdcsata.c,v 1.2 2004/11/28 14:34:31 bouyer Exp $ written by Manuel Bouyer.)

a quick glance at this driver, it does not seem to handle pci buss
endianness.  afaik there is no automatic handling, so the register
reads/writes are probably off.

Has anyone tried a Promise SATA card on a big-endian box?