summaryrefslogtreecommitdiffstats
path: root/sys/dev/ata
diff options
context:
space:
mode:
authorsos <sos@FreeBSD.org>2004-02-02 14:05:57 +0000
committersos <sos@FreeBSD.org>2004-02-02 14:05:57 +0000
commit7d8abef95b8b1ae3fcf4b39a39a1fa4d5c9bc5a8 (patch)
tree85a10d9a6e7d8f9b5f441dc00f219974e5a6c635 /sys/dev/ata
parentdde6517de76bee43a4d22464fce3416f8d5dde08 (diff)
downloadFreeBSD-src-7d8abef95b8b1ae3fcf4b39a39a1fa4d5c9bc5a8.zip
FreeBSD-src-7d8abef95b8b1ae3fcf4b39a39a1fa4d5c9bc5a8.tar.gz
Fix support for the Promise TX4 on amd64.
Somehow the bridge on there shows up with another PCI id than it does on x86, no idea why...
Diffstat (limited to 'sys/dev/ata')
-rw-r--r--sys/dev/ata/ata-chipset.c2
-rw-r--r--sys/dev/ata/ata-pci.h1
2 files changed, 2 insertions, 1 deletions
diff --git a/sys/dev/ata/ata-chipset.c b/sys/dev/ata/ata-chipset.c
index daff30b..48233aa 100644
--- a/sys/dev/ata/ata-chipset.c
+++ b/sys/dev/ata/ata-chipset.c
@@ -1107,7 +1107,7 @@ ata_promise_ident(device_t dev)
if ((idx->cfg2 & PRTX4) && pci_get_class(GRANDPARENT(dev))==PCIC_BRIDGE &&
!BUS_READ_IVAR(device_get_parent(GRANDPARENT(dev)),
GRANDPARENT(dev), PCI_IVAR_DEVID, &devid) &&
- devid == ATA_DEC_21150) {
+ ((devid == ATA_DEC_21150) || (devid == ATA_DEC_21150_1))) {
static long start = 0, end = 0;
if (pci_get_slot(dev) == 1) {
diff --git a/sys/dev/ata/ata-pci.h b/sys/dev/ata/ata-pci.h
index 48acb25..b11a821 100644
--- a/sys/dev/ata/ata-pci.h
+++ b/sys/dev/ata/ata-pci.h
@@ -88,6 +88,7 @@ struct ata_pci_controller {
#define ATA_CYPRESS_82C693 0xc6931080
#define ATA_DEC_21150 0x00221011
+#define ATA_DEC_21150_1 0x00231011
#define ATA_HIGHPOINT_ID 0x1103
#define ATA_HPT366 0x00041103
OpenPOWER on IntegriCloud