Date: Tue, 23 Sep 2008 09:11:57 +0400 From: "Andrey V. Elsukov" <bu7cher@yandex.ru> To: Joseph Olatt <joji@eskimo.com> Cc: FreeBSD Mailing List <freebsd-stable@freebsd.org>, =?UTF-8?B?U8O4cmVu?= =?UTF-8?B?IFNjaG1pZHQ=?= <sos@FreeBSD.org> Subject: Re: unsupported NVIDIA SATA controller Message-ID: <48D87A9D.60108@yandex.ru> In-Reply-To: <20080922082957.A20123@eskimo.com> References: <20080915192515.A13327@eskimo.com> <48D7260C.9020503@yandex.ru> <20080922082957.A20123@eskimo.com>
next in thread | previous in thread | raw e-mail | index | archive | help
[-- Attachment #1 --] Joseph Olatt wrote: >>> none13@pci0:0:14:0: class=0x010485 card=0x01371025 chip=0x07f810de rev=0xa2 hdr=0x00 >>> vendor = 'Nvidia Corp' >>> class = mass storage >>> subclass = RAID >> Do you still have this problem? >> It seems that your controller is AHCI-capable. >> I can make a patch if is it needed. > > Yes, I'm still have the above problem. And, yes, the controller appears > to be ACHI-capable (at least according to Ubuntu. see [1]) > > I would greatly appreciate a patch if you can provide one. > > regards, > joseph > > > [1]: http://www.eskimo.com/~joji/nvidia_sata/ Hi, Joseph. Try attached patch. -- WBR, Andrey V. Elsukov [-- Attachment #2 --] Index: src/sys/dev/ata/ata-chipset.c =================================================================== RCS file: /ncvs/src/sys/dev/ata/ata-chipset.c,v retrieving revision 1.225 diff -u -p -r1.225 ata-chipset.c --- src/sys/dev/ata/ata-chipset.c 15 Aug 2008 10:55:11 -0000 1.225 +++ src/sys/dev/ata/ata-chipset.c 23 Sep 2008 05:06:28 -0000 @@ -3372,7 +3372,9 @@ ata_nvidia_ident(device_t dev) { ATA_NFORCE_MCP61_S3, 0, 0, NV4|NVQ, ATA_SA300, "nForce MCP61" }, { ATA_NFORCE_MCP65, 0, AMDNVIDIA, NVIDIA, ATA_UDMA6, "nForce MCP65" }, { ATA_NFORCE_MCP67, 0, AMDNVIDIA, NVIDIA, ATA_UDMA6, "nForce MCP67" }, + { ATA_NFORCE_MCP67_A1, 0, 0, NVAHCI, ATA_SA300, "nForce MCP67" }, { ATA_NFORCE_MCP73, 0, AMDNVIDIA, NVIDIA, ATA_UDMA6, "nForce MCP73" }, + { ATA_NFORCE_MCP73_A1, 0, 0, NVAHCI, ATA_SA300, "nForce MCP73" }, { ATA_NFORCE_MCP77, 0, AMDNVIDIA, NVIDIA, ATA_UDMA6, "nForce MCP77" }, { 0, 0, 0, 0, 0, 0}} ; @@ -3380,7 +3382,12 @@ ata_nvidia_ident(device_t dev) return ENXIO; ata_set_desc(dev); - ctlr->chipinit = ata_nvidia_chipinit; + + if (ctlr->chip->cfg2 == NVAHCI) + ctlr->chipinit = ata_ahci_chipinit; + else + ctlr->chipinit = ata_nvidia_chipinit; + return 0; } Index: src/sys/dev/ata/ata-pci.h =================================================================== RCS file: /ncvs/src/sys/dev/ata/ata-pci.h,v retrieving revision 1.89 diff -u -p -r1.89 ata-pci.h --- src/sys/dev/ata/ata-pci.h 10 Jul 2008 21:36:53 -0000 1.89 +++ src/sys/dev/ata/ata-pci.h 23 Sep 2008 05:06:28 -0000 @@ -243,8 +243,10 @@ struct ata_connect_task { #define ATA_NFORCE_MCP61_S2 0x03f610de #define ATA_NFORCE_MCP61_S3 0x03f710de #define ATA_NFORCE_MCP65 0x044810de +#define ATA_NFORCE_MCP67_A1 0x055010de #define ATA_NFORCE_MCP67 0x056010de #define ATA_NFORCE_MCP73 0x056c10de +#define ATA_NFORCE_MCP73_A1 0x07f810de #define ATA_NFORCE_MCP77 0x075910de #define ATA_PROMISE_ID 0x105a @@ -450,6 +452,7 @@ struct ata_connect_task { #define NVIDIA 0x0004 #define NV4 0x0010 #define NVQ 0x0020 +#define NVAHCI 0x0040 #define VIACLK 0x0100 #define VIABUG 0x0200 #define VIABAR 0x0400
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?48D87A9D.60108>
