- Fix mapping of the last two SATA ports on 6-port Intel controllers.

This improves hard-reset and hot-plug on these ports.
 - Device with ID 0x29218086 is a 2-port variant of ICH9 in legacy mode.
Skip probing for nonexistent slave devices there.
This commit is contained in:
Alexander Motin 2011-04-21 11:44:16 +00:00
parent f8c9d0d8c8
commit 53479021ba
2 changed files with 3 additions and 3 deletions

View File

@ -187,7 +187,7 @@ struct ata_pci_controller {
#define ATA_I82801HBM_S2 0x28298086
#define ATA_I82801HBM_S3 0x282a8086
#define ATA_I82801IB_S1 0x29208086
#define ATA_I82801IB_AH2 0x29218086
#define ATA_I82801IB_S3 0x29218086
#define ATA_I82801IB_AH6 0x29228086
#define ATA_I82801IB_AH4 0x29238086
#define ATA_I82801IB_R1 0x29258086

View File

@ -140,7 +140,7 @@ ata_intel_probe(device_t dev)
{ ATA_I82801HBM_S3, 0, INTEL_AHCI, 0, ATA_SA300, "ICH8M" },
{ ATA_I82801IB_S1, 0, INTEL_6CH, 0, ATA_SA300, "ICH9" },
{ ATA_I82801IB_S2, 0, INTEL_6CH2, 0, ATA_SA300, "ICH9" },
{ ATA_I82801IB_AH2, 0, INTEL_AHCI, 0, ATA_SA300, "ICH9" },
{ ATA_I82801IB_S3, 0, INTEL_6CH2, 0, ATA_SA300, "ICH9" },
{ ATA_I82801IB_AH4, 0, INTEL_AHCI, 0, ATA_SA300, "ICH9" },
{ ATA_I82801IB_AH6, 0, INTEL_AHCI, 0, ATA_SA300, "ICH9" },
{ ATA_I82801IB_R1, 0, INTEL_AHCI, 0, ATA_SA300, "ICH9" },
@ -336,7 +336,7 @@ ata_intel_ch_attach(device_t dev)
} else if (ctlr->chip->cfg1 & INTEL_6CH2) {
ch->flags |= ATA_SATA;
ch->flags |= ATA_NO_SLAVE;
smap[0] = (ch->unit == 0) ? 4 : 5;
smap[0] = (ch->unit == 0) ? 0 : 1;
smap[1] = 0;
} else {
map &= 0x03;