Date: Tue, 11 Sep 2007 13:39:56 +0400 From: "Andrey V. Elsukov" <bu7cher@yandex.ru> To: Dave Grochowski <malus.x@gmail.com> Cc: freebsd-bugs@FreeBSD.org Subject: Re: kern/111699: [sata] SATA drives on an Asus A8V-MX are no longer detected on 7.0-CURRENT (regression) Message-ID: <46E6626C.4090908@yandex.ru> In-Reply-To: <46E5E69E.80708@gmail.com> References: <200709100410.l8A4AAWt090232@freefall.freebsd.org> <46E4D768.7080303@yandex.ru> <46E5E69E.80708@gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
This is a multi-part message in MIME format. --------------040000040506080405090502 Content-Type: text/plain; charset=KOI8-R; format=flowed Content-Transfer-Encoding: 7bit Dave Grochowski wrote: >> Can you show verbose dmesg from RELENG_6 (without this patch)? >> > I've attached a verbose dmesg from a Freesbie CD. Hi, Dave. If you have some time, can you test this patch on CURRENT (without your patch). I guess it may help. -- WBR, Andrey V. Elsukov --------------040000040506080405090502 Content-Type: text/plain; name="ata-chipset.c.diff" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="ata-chipset.c.diff" --- src/sys/dev/ata/ata-chipset.c.orig 2007-09-11 13:11:19.475037453 +0400 +++ src/sys/dev/ata/ata-chipset.c 2007-09-11 13:28:47.876389301 +0400 @@ -721,7 +721,15 @@ ata_ahci_reset(device_t dev) /* enable interface */ if (ata_sata_phy_reset(dev)) { - switch (ATA_INL(ctlr->r_res2, ATA_AHCI_P_SIG + offset)) { + for (timeout = 0; timeout < 300; timeout++) { + if (!(ATA_INL(ctlr->r_res2, ATA_AHCI_P_TFD + offset) & ATA_S_BUSY)) + break; + DELAY(10000); + } + cmd = ATA_INL(ctlr->r_res2, ATA_AHCI_P_SIG + offset); + if (bootverbose) + device_printf(ch->dev, "Port Signature: %08x\n", cmd); + switch (cmd) { case 0xeb140101: ch->devices = ATA_ATAPI_MASTER; device_printf(ch->dev, "SATA ATAPI devices not supported yet\n"); @@ -732,6 +740,7 @@ ata_ahci_reset(device_t dev) device_printf(ch->dev, "Portmultipliers not supported yet\n"); ch->devices = 0; break; + case 0xc33c0101: case 0x00000101: ch->devices = ATA_ATA_MASTER; break; --------------040000040506080405090502--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?46E6626C.4090908>