| Summary: | [ata] No disks found (nVidia nForce MCP55 sata controller) [regression] | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Product: | Base System | Reporter: | Floris Bos <bsd> | ||||||||
| Component: | amd64 | Assignee: | freebsd-amd64 (Nobody) <amd64> | ||||||||
| Status: | Closed FIXED | ||||||||||
| Severity: | Affects Only Me | ||||||||||
| Priority: | Normal | ||||||||||
| Version: | 8.0-CURRENT | ||||||||||
| Hardware: | Any | ||||||||||
| OS: | Any | ||||||||||
| Attachments: |
|
||||||||||
|
Description
Floris Bos
2009-03-06 20:30:03 UTC
State Changed From-To: open->feedback To submitter: could you please provide a verbose dmesg from a boot of 7.0 (and if possible, 8.0 as well?) Also, would you be able to upgrade to 7.1 and check if that still works for you, and also attempt an upgrade to 8.0 using source (as there are a few ATA changes between the 200902 snapshot and the current source. Responsible Changed From-To: freebsd-bugs->gavin Track I attached a dmesg from 7.0 and 8.0 snapshot 200902 It was created by adding an Areca RAID controller to the system, and using that to boot from. One disk drive is connected to the Areca, which does work fine in 8.0. A second disk drive and the cd-drive is left connected to the Nvidia on-board controller, and is not detected in 8.0, although it does work in 7.0. I did some additional testing. The problem only occurs with the AMD64 edition of FreeBSD-8. It does detect the disks properly on i386. Attached a dmesg from the i386 version, that does work. Also managed to build my own (make release) cd using the latest CVS source today. And the problem still exists on AMD64. State Changed From-To: feedback->open Note that feedback was received some time ago. Responsible Changed From-To: gavin->freebsd-amd64 Pass over to the amd64 mailing list for consideration. This machine detects the ATA disks on 7.0 and 8.0 i386, and on 7.0 and64, but not on 8.0 amd64. Hi, Try to set a hw.pci.mcfg=0 in loader.conf. In my case (Asus Crosshair MCP55) it solves the problem, but it's not a true solution. Best regards, GD I just want to add a 'me too' (for FreeBSD 8.0 RC1) - although in my case it times out on one disk constantly (causing the machine not to boot at all) and doesn't get around to finding any more disks. FreeBSD 7.2-RELEASE-p2 works just fine. This is all amd64. Subsequently this is a significant regress from 7.2 -> 8.0. Just another data point. I have an ASUS M5N-E and it has the MCP55. With BIOS 0103 (really old, causing other problems) FreeBSD-8.0-RC1 boots. With a more recent BIOS (1601 --- marked as working with solaris) it only recognizes the PATA disk in the machine (and not the six SATA disks). The loader.conf hack appears to make it work, but I haven't fully tested it yet. Author: mav Date: Mon Oct 26 08:41:10 2009 New Revision: 198479 URL: http://svn.freebsd.org/changeset/base/198479 Log: Fix SATA on nVidia MCP55 chipset. It needs some short time to allow BAR(5) memory access. PR: amd64/128686, amd64/132372, amd64/139156 MFC after: 3 days Modified: head/sys/dev/ata/chipsets/ata-nvidia.c Modified: head/sys/dev/ata/chipsets/ata-nvidia.c ============================================================================== --- head/sys/dev/ata/chipsets/ata-nvidia.c Mon Oct 26 07:43:41 2009 (r198478) +++ head/sys/dev/ata/chipsets/ata-nvidia.c Mon Oct 26 08:41:10 2009 (r198479) @@ -165,7 +165,8 @@ ata_nvidia_chipinit(device_t dev) /* enable control access */ pci_write_config(dev, 0x50, pci_read_config(dev, 0x50, 1) | 0x04,1); - + /* MCP55 seems to need some time to allow r_res2 read. */ + DELAY(10); if (ctlr->chip->cfg1 & NVQ) { /* clear interrupt status */ ATA_OUTL(ctlr->r_res2, offset, 0x00ff00ff); _______________________________________________ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org" Author: mav Date: Thu Oct 29 09:45:48 2009 New Revision: 198572 URL: http://svn.freebsd.org/changeset/base/198572 Log: Fix SATA on nVidia MCP55 chipset. It needs some short time to allow BAR(5) memory access. PR: amd64/128686, amd64/132372, amd64/139156 Modified: stable/8/sys/ (props changed) stable/8/sys/amd64/include/xen/ (props changed) stable/8/sys/cddl/contrib/opensolaris/ (props changed) stable/8/sys/contrib/dev/acpica/ (props changed) stable/8/sys/contrib/pf/ (props changed) stable/8/sys/dev/ata/chipsets/ata-nvidia.c stable/8/sys/dev/xen/xenpci/ (props changed) Modified: stable/8/sys/dev/ata/chipsets/ata-nvidia.c ============================================================================== --- stable/8/sys/dev/ata/chipsets/ata-nvidia.c Thu Oct 29 09:45:05 2009 (r198571) +++ stable/8/sys/dev/ata/chipsets/ata-nvidia.c Thu Oct 29 09:45:48 2009 (r198572) @@ -165,7 +165,8 @@ ata_nvidia_chipinit(device_t dev) /* enable control access */ pci_write_config(dev, 0x50, pci_read_config(dev, 0x50, 1) | 0x04,1); - + /* MCP55 seems to need some time to allow r_res2 read. */ + DELAY(10); if (ctlr->chip->cfg1 & NVQ) { /* clear interrupt status */ ATA_OUTL(ctlr->r_res2, offset, 0x00ff00ff); _______________________________________________ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org" Author: mav Date: Thu Oct 29 11:52:26 2009 New Revision: 198580 URL: http://svn.freebsd.org/changeset/base/198580 Log: MFC rev. 198479: Fix SATA on nVidia MCP55 chipset. It needs some short time to allow BAR(5) memory access. PR: amd64/128686, amd64/132372, amd64/139156 Approved by: re (kib) Modified: releng/8.0/sys/ (props changed) releng/8.0/sys/amd64/include/xen/ (props changed) releng/8.0/sys/cddl/contrib/opensolaris/ (props changed) releng/8.0/sys/contrib/dev/acpica/ (props changed) releng/8.0/sys/contrib/pf/ (props changed) releng/8.0/sys/dev/ata/chipsets/ata-nvidia.c releng/8.0/sys/dev/xen/xenpci/ (props changed) Modified: releng/8.0/sys/dev/ata/chipsets/ata-nvidia.c ============================================================================== --- releng/8.0/sys/dev/ata/chipsets/ata-nvidia.c Thu Oct 29 11:00:39 2009 (r198579) +++ releng/8.0/sys/dev/ata/chipsets/ata-nvidia.c Thu Oct 29 11:52:26 2009 (r198580) @@ -165,7 +165,8 @@ ata_nvidia_chipinit(device_t dev) /* enable control access */ pci_write_config(dev, 0x50, pci_read_config(dev, 0x50, 1) | 0x04,1); - + /* MCP55 seems to need some time to allow r_res2 read. */ + DELAY(10); if (ctlr->chip->cfg1 & NVQ) { /* clear interrupt status */ ATA_OUTL(ctlr->r_res2, offset, 0x00ff00ff); _______________________________________________ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org" State Changed From-To: open->closed Fix committed and merged down to 8.0. |