Do not attempt to enable AHCI mode on ALi SATA controllers other

than the 5288.

It is not correctly implemented in earlier silicon, and the BIOS often
lies about AHCI capability on platforms where these chips are deployed.
With this change I am able to boot FreeBSD on the ASUS Vintage AH-1
barebones system.

Approved by:	sos
This commit is contained in:
Bruce M Simpson 2007-06-13 17:44:49 +00:00
parent a79e185ffa
commit d3fd8d85fc
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=170678

View File

@ -1005,7 +1005,10 @@ ata_ali_chipinit(device_t dev)
/* if we have a memory resource we can likely do AHCI */
ctlr->r_type2 = SYS_RES_MEMORY;
ctlr->r_rid2 = PCIR_BAR(5);
if ((ctlr->r_res2 = bus_alloc_resource_any(dev, ctlr->r_type2,
/* AHCI mode is correctly supported only on the ALi 5288. */
if ((ctlr->chip->chipid == ATA_ALI_5288) &&
(ctlr->r_res2 = bus_alloc_resource_any(dev, ctlr->r_type2,
&ctlr->r_rid2, RF_ACTIVE)))
return ata_ahci_chipinit(dev);