aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexander Motin <mav@FreeBSD.org>2009-10-29 11:52:26 +0000
committerAlexander Motin <mav@FreeBSD.org>2009-10-29 11:52:26 +0000
commit9919881dbae1a3fe60b6f4bbdbd4ef5e94320ce0 (patch)
tree6ade89cf69164d22648e118f3deb6d61da54a7db
parent1ce9ab7f777b5fc1a0215ec8d676f1907199f4aa (diff)
downloadsrc-9919881dbae1a3fe60b6f4bbdbd4ef5e94320ce0.tar.gz
src-9919881dbae1a3fe60b6f4bbdbd4ef5e94320ce0.zip
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)
Notes
Notes: svn path=/releng/8.0/; revision=198580
-rw-r--r--sys/dev/ata/chipsets/ata-nvidia.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/dev/ata/chipsets/ata-nvidia.c b/sys/dev/ata/chipsets/ata-nvidia.c
index 95be37c30829..bb763161d5ba 100644
--- a/sys/dev/ata/chipsets/ata-nvidia.c
+++ b/sys/dev/ata/chipsets/ata-nvidia.c
@@ -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);