Subject: Re: Promise SATA300 TX4 supported?
To: Douglas Wade Needham <cinnion@ka8zrt.com>
From: Manuel Bouyer <bouyer@antioche.eu.org>
List: current-users
Date: 01/19/2006 21:16:43
--tThc/1wpZn/ma/RB
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
On Thu, Jan 19, 2006 at 12:08:43AM -0500, Douglas Wade Needham wrote:
> reports for the card:
>
> pci bus 0x0000 cardnum 0x0c function 0x00: vendor 0x105a device 0x3d75
> Promise Technology, Inc. Device unknown
>
> If someone has drivers they are interested in having tested, I can
> test them. Or if someone can point me to the docs for the chip and
> perhaps let me know which chip it is similar to, I can see about
> taking a stab at it.
Well, can you please try the attached patch ? It's derived from informations
collected in the freebsd sources.
--
Manuel Bouyer <bouyer@antioche.eu.org>
NetBSD: 26 ans d'experience feront toujours la difference
--
--tThc/1wpZn/ma/RB
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename=diff
Index: pcidevs
===================================================================
RCS file: /cvsroot/src/sys/dev/pci/pcidevs,v
retrieving revision 1.757
diff -u -r1.757 pcidevs
--- pcidevs 16 Jan 2006 22:59:36 -0000 1.757
+++ pcidevs 19 Jan 2006 18:59:21 -0000
@@ -2501,6 +2501,9 @@
product PROMISE PDC20621 0x6621 PDC20621 dual Ultra/133 IDE controller
product PROMISE PDC40718 0x3d17 PDC40718 SATA/300 IDE controller
product PROMISE PDC40719 0x3515 PDC40719 SATA/300 IDE controller
+product PROMISE PDC20571 0x3571 PDC20571 SATA/150 IDE controller
+product PROMISE PDC20575 0x3d75 PDC20575 SATA/150 IDE controller
+product PROMISE PDC20579 0x3574 PDC20579 SATA/150 IDE controller
/* QLogic products */
product QLOGIC ISP1020 0x1020 ISP1020
Index: pdcsata.c
===================================================================
RCS file: /cvsroot/src/sys/dev/pci/pdcsata.c,v
retrieving revision 1.5
diff -u -r1.5 pdcsata.c
--- pdcsata.c 16 Jan 2006 20:30:19 -0000 1.5
+++ pdcsata.c 19 Jan 2006 18:59:21 -0000
@@ -44,6 +44,7 @@
#define PDC203xx_NCHANNELS 4
#define PDC40718_NCHANNELS 4
+#define PDC20575_NCHANNELS 3
#define PDC203xx_BAR_IDEREGS 0x1c /* BAR where the IDE registers are mapped */
@@ -117,6 +118,21 @@
"Promise PDC40719 SATA300 controller",
pdcsata_chip_map,
},
+ { PCI_PRODUCT_PROMISE_PDC20571,
+ 0,
+ "Promise PDC20571 SATA150 controller",
+ pdcsata_chip_map,
+ },
+ { PCI_PRODUCT_PROMISE_PDC20575,
+ 0,
+ "Promise PDC20575 SATA150 controller",
+ pdcsata_chip_map,
+ },
+ { PCI_PRODUCT_PROMISE_PDC20579,
+ 0,
+ "Promise PDC20579 SATA150 controller",
+ pdcsata_chip_map,
+ },
{ 0,
0,
NULL,
@@ -184,6 +200,9 @@
case PCI_PRODUCT_PROMISE_PDC40718:
case PCI_PRODUCT_PROMISE_PDC40719:
+ case PCI_PRODUCT_PROMISE_PDC20571:
+ case PCI_PRODUCT_PROMISE_PDC20575:
+ case PCI_PRODUCT_PROMISE_PDC20579:
sc->sc_pci_ih = pci_intr_establish(pa->pa_pc,
intrhandle, IPL_BIO, pdc205xx_pci_intr, sc);
break;
@@ -258,6 +277,7 @@
case PCI_PRODUCT_PROMISE_PDC40718:
case PCI_PRODUCT_PROMISE_PDC40719:
+ case PCI_PRODUCT_PROMISE_PDC20571:
bus_space_write_4(sc->sc_ba5_st, sc->sc_ba5_sh, 0x60, 0x00ff00ff);
sc->sc_wdcdev.sc_atac.atac_nchannels = PDC40718_NCHANNELS;
@@ -265,6 +285,15 @@
sc->sc_wdcdev.sc_atac.atac_probe = pdc205xx_drv_probe;
break;
+ case PCI_PRODUCT_PROMISE_PDC20575:
+ case PCI_PRODUCT_PROMISE_PDC20579:
+ bus_space_write_4(sc->sc_ba5_st, sc->sc_ba5_sh, 0x60, 0x00ff00ff);
+ sc->sc_wdcdev.sc_atac.atac_nchannels = PDC20575_NCHANNELS;
+
+ sc->sc_wdcdev.reset = pdc205xx_do_reset;
+ sc->sc_wdcdev.sc_atac.atac_probe = pdc205xx_drv_probe;
+
+ break;
}
wdc_allocate_regs(&sc->sc_wdcdev);
--tThc/1wpZn/ma/RB--