Subject: kern/27843: support for Nvidia nForce3 250 chipset
To: None <gnats-bugs@gnats.NetBSD.org>
From: None <hira@po6.nsk.ne.jp>
List: netbsd-bugs
Date: 11/04/2004 02:23:27
>Number:         27843
>Category:       kern
>Synopsis:       support for Nvidia nForce3 250 chipset
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    kern-bug-people
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   net
>Arrival-Date:   Wed Nov 03 17:24:00 UTC 2004
>Closed-Date:
>Last-Modified:
>Originator:     Kouichirou Hiratsuka
>Release:        NetBSD 2.99.10
>Organization:
>Environment:
System: NetBSD firefly.localdomain 2.99.10 NetBSD 2.99.10 (GENERIC) #2: Thu Nov 4 01:27:15 JST 2004 root@firefly.localdomain:/usr/src/sys/arch/amd64/compile/GENERIC amd64
Architecture: x86_64
Machine: amd64
>Description:
	This patch adds support for Nvidia nForce3 250 chipset.
	It seems that it works by the same driver as nForce3 chipset
	(from FreeBSD).  This patch works fine for me.

	dmesg:

NetBSD 2.99.10 (GENERIC) #2: Thu Nov  4 01:27:15 JST 2004
	root@firefly.localdomain:/usr/src/sys/arch/amd64/compile/GENERIC
total memory = 1023 MB
avail memory = 973 MB
mainbus0 (root)
mainbus0: Intel MP Specification (Version 1.4) (OEM00000 PROD00000000)
cpu0 at mainbus0: apid 0 (boot processor)
cpu0: AMD Athlon(tm) 64 Processor 3200+, 2009.89 MHz
cpu0: features: e7dbfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR>
cpu0: features: e7dbfbff<PGE,MCA,CMOV,PAT,PSE36,MPC,NOX,MMXX,MMX>
cpu0: features: e7dbfbff<FXSR,SSE,SSE2,LONG,3DNOW2,3DNOW>
cpu0: I-cache 64 KB 64B/line 2-way, D-cache 64 KB 64B/line 2-way
cpu0: L2 cache 512 KB 64B/line 16-way
cpu0: ITLB 32 4 KB entries fully associative, 8 4 MB entries fully associative
cpu0: DTLB 32 4 KB entries fully associative, 8 4 MB entries fully associative
cpu0: calibrating local timer
cpu0: apic clock running at 200 MHz
cpu0: 8 page colors
mpbios: bus 0 is type PCI   
mpbios: bus 1 is type PCI   
mpbios: bus 2 is type PCI   
mpbios: bus 3 is type ISA   
ioapic0 at mainbus0 apid 2 (I/O APIC)
ioapic0: pa 0xfec00000, version 11, 24 pins
pci0 at mainbus0 bus 0: configuration mode 1
pci0: i/o space, memory space enabled, rd/line, rd/mult, wr/inv ok
pchb0 at pci0 dev 0 function 0
pchb0: Nvidia Corporation nForce3 250 Host-PCI bridge (rev. 0xa1)
pcib0 at pci0 dev 1 function 0
pcib0: Nvidia Corporation nForce3 250 PCI-ISA bridge (rev. 0xa2)
Nvidia Corporation nForce3 250 SMBus Controller (SMBus serial bus, revision 0xa1) at pci0 dev 1 function 1 not configured
ohci0 at pci0 dev 2 function 0: Nvidia Corporation nForce3 250 USB Host Controller (rev. 0xa1)
ohci0: interrupting at ioapic0 pin 4 (irq 4)
ohci0: OHCI version 1.0, legacy support
usb0 at ohci0: USB revision 1.0
uhub0 at usb0
uhub0: Nvidia Corporat OHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 4 ports with 4 removable, self powered
ohci1 at pci0 dev 2 function 1: Nvidia Corporation nForce3 250 USB Host Controller (rev. 0xa1)
ohci1: interrupting at ioapic0 pin 4 (irq 4)
ohci1: OHCI version 1.0, legacy support
usb1 at ohci1: USB revision 1.0
uhub1 at usb1
uhub1: Nvidia Corporat OHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub1: 4 ports with 4 removable, self powered
Nvidia Corporation nForce3 250 USB2 Host Controller (USB serial bus, interface 0x20, revision 0xa2) at pci0 dev 2 function 2 not configured
auich0 at pci0 dev 6 function 0: nForce3 250 MCP-T AC-97 Audio
auich0: interrupting at ioapic0 pin 5 (irq 5)
auich0: ac97: Avance Logic ALC655 codec; no 3D stereo
auich0: ac97: ext id 9c4<AC97_23,LDAC,SDAC,CDAC,SPDIF>
viaide0 at pci0 dev 8 function 0
viaide0: NVIDIA nForce3 250 IDE Controller (rev. 0xa2)
viaide0: bus-master DMA support present
viaide0: primary channel configured to compatibility mode
viaide0: primary channel interrupting at ioapic0 pin 14 (irq 14)
atabus0 at viaide0 channel 0
viaide0: secondary channel configured to compatibility mode
viaide0: secondary channel interrupting at ioapic0 pin 15 (irq 15)
atabus1 at viaide0 channel 1
viaide1 at pci0 dev 10 function 0
viaide1: NVIDIA nForce3 250 Serial ATA Controller (rev. 0xa2)
viaide1: bus-master DMA support present
viaide1: primary channel wired to native-PCI mode
viaide1: using ioapic0 pin 11 (irq 11) for native-PCI interrupt
atabus2 at viaide1 channel 0
viaide1: secondary channel wired to native-PCI mode
atabus3 at viaide1 channel 1
ppb0 at pci0 dev 11 function 0: Nvidia Corporation nForce3 250 AGP (rev. 0xa2)
pci1 at ppb0 bus 1
pci1: i/o space, memory space enabled
vga0 at pci1 dev 0 function 0: Nvidia Corporation GeForce FX 5200 (rev. 0xa1)
wsdisplay0 at vga0 kbdmux 1: console (80x25, vt100 emulation)
wsmux1: connecting to wsdisplay0
ppb1 at pci0 dev 14 function 0: Nvidia Corporation nForce3 250 PCI-PCI bridge (rev. 0xa2)
pci2 at ppb1 bus 2
pci2: i/o space, memory space enabled
esa0 at pci2 dev 6 function 0: ESS Technology, Inc. Maestro 3 PCI Audio Accelerator (rev. 0x10)
esa0: interrupting at ioapic0 pin 7 (irq 7)
esa0: ac97: Wolfson WM9703/WM9707/WM9708 codec; headphone, 18 bit DAC, 18 bit ADC, Wolfson Microelectronics 3D
esa0: ac97: ext id 1<VRA>
audio0 at esa0: full duplex, mmap, independent
VIA Technologies VT3606 IEEE 1394 Host Controller (Firewire serial bus, interface 0x10, revision 0x80) at pci2 dev 7 function 0 not configured
skc0 at pci2 dev 8 function 0: ioapic0 pin 10 (irq 10)
skc0: Marvell Yukon Lite Gigabit Ethernet rev. A3(0x7)
sk0 at skc0 port A: Ethernet address 00:30:1b:b5:2d:41
makphy0 at sk0 phy 0: Marvell 88E1011 Gigabit PHY, rev. 5
makphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 1000baseT-FDX, auto
pchb1 at pci0 dev 24 function 0
pchb1: Advanced Micro Devices AMD64 HyperTransport configuration (rev. 0x00)
pchb2 at pci0 dev 24 function 1
pchb2: Advanced Micro Devices AMD64 Address Map configuration (rev. 0x00)
pchb3 at pci0 dev 24 function 2
pchb3: Advanced Micro Devices AMD64 DRAM configuration (rev. 0x00)
pchb4 at pci0 dev 24 function 3
pchb4: Advanced Micro Devices AMD64 Miscellaneous configuration (rev. 0x00)
isa0 at pcib0
pckbc0 at isa0 port 0x60-0x64
pckbd0 at pckbc0 (kbd slot)
pckbc0: using irq 1 for kbd slot
wskbd0 at pckbd0: console keyboard, using wsdisplay0
pcppi0 at isa0 port 0x61
midi0 at pcppi0: PC speaker
sysbeep0 at pcppi0
ioapic0: enabling
audio1 at auich0: full duplex, independent
Kernelized RAIDframe activated
atapibus0 at atabus1: 2 targets
cd0 at atapibus0 drive 0: <PIONEER DVD-RW  DVR-105, BLTO314865JP, 1.00> cdrom removable
cd0: 32-bit data port
cd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 2 (Ultra/33)
cd0(viaide0:1:0): using PIO mode 4, Ultra-DMA mode 2 (Ultra/33) (using DMA data transfers)
uhub2 at uhub0 port 1
uhub2: Atmel Standard USB Hub, class 9/0, rev 1.10/3.00, addr 2
uhub2: 4 ports with 4 removable, self powered
uhidev0 at uhub2 port 3 configuration 1 interface 0
uhidev0: Logitech USB Receiver, rev 1.10/16.00, addr 3, iclass 3/1
ums0 at uhidev0: 7 buttons and Z dir.
wsmouse0 at ums0 mux 0
wd0 at atabus2 drive 0: <WDC WD740GD-00FLA0>
wd0: drive supports 16-sector PIO transfers, LBA48 addressing
wd0: 70911 MB, 144073 cyl, 16 head, 63 sec, 512 bytes/sect x 145226112 sectors
wd0: 32-bit data port
wd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 6 (Ultra/133)
wd0(viaide1:0:0): using PIO mode 4, Ultra-DMA mode 6 (Ultra/133) (using DMA data transfers)
uhidev1 at uhub2 port 4 configuration 1 interface 0
uhidev1: Topre Corporation HHKB Professional, rev 1.10/1.02, addr 4, iclass 3/1
ukbd0 at uhidev1
wskbd1 at ukbd0 mux 1
wskbd1: connecting to wsdisplay0
boot device: wd0
root on wd0a dumps on wd0b
root file system type: ffs
wsdisplay0: screen 1 added (80x25, vt100 emulation)
wsdisplay0: screen 2 added (80x25, vt100 emulation)
wsdisplay0: screen 3 added (80x25, vt100 emulation)
wsdisplay0: screen 4 added (80x25, vt100 emulation)

>How-To-Repeat:
	
>Fix:
Index: auich.c
===================================================================
RCS file: /cvs/cvsroot/src/sys/dev/pci/auich.c,v
retrieving revision 1.67
diff -u -r1.67 auich.c
--- auich.c	31 Oct 2004 06:25:55 -0000	1.67
+++ auich.c	31 Oct 2004 10:07:25 -0000
@@ -359,6 +359,8 @@
 	    "nForce2 MCP-T AC-97 Audio",	"nForce2" },
 	{ PCI_VENDOR_NVIDIA, PCI_PRODUCT_NVIDIA_NFORCE3_MCPT_AC,
 	    "nForce3 MCP-T AC-97 Audio",	"nForce3" },
+	{ PCI_VENDOR_NVIDIA, PCI_PRODUCT_NVIDIA_NFORCE3_250_MCPT_AC,
+	    "nForce3 250 MCP-T AC-97 Audio",	"nForce3" },
 	{ PCI_VENDOR_AMD, PCI_PRODUCT_AMD_PBC768_AC,
 	    "AMD768 AC-97 Audio",		"AMD768" },
 	{ PCI_VENDOR_AMD, PCI_PRODUCT_AMD_PBC8111_AC,
Index: pcidevs
===================================================================
RCS file: /cvs/cvsroot/src/sys/dev/pci/pcidevs,v
retrieving revision 1.661
diff -u -r1.661 pcidevs
--- pcidevs	28 Oct 2004 07:26:09 -0000	1.661
+++ pcidevs	31 Oct 2004 06:35:47 -0000
@@ -2140,6 +2140,16 @@
 product NVIDIA	NFORCE3_EHCI	0x00d8	nForce3 USB2 Host Controller
 product NVIDIA	NFORCE3_MCPT_AC	0x00da	nForce3 MCP-T AC-97
 product NVIDIA	NFORCE3_PPB	0x00dd	nForce3 PCI-PCI bridge
+product NVIDIA	NFORCE3_250_PCHB 0x00e1	nForce3 250 Host-PCI bridge
+product NVIDIA	NFORCE3_250_AGP	0x00e2	nForce3 250 AGP
+product NVIDIA	NFORCE3_250_PCIB 0x00e0	nForce3 250 PCI-ISA bridge
+product NVIDIA	NFORCE3_250_SMBUS 0x00e4 nForce3 250 SMBus Controller
+product NVIDIA	NFORCE3_250_ATA133 0x00e5 nForce3 250 ATA133 IDE
+product NVIDIA	NFORCE3_250_SATA 0x00e3	nForce3 250 Serial ATA Controller
+product NVIDIA	NFORCE3_250_OHCI 0x00e7	nForce3 250 USB Host Controller
+product NVIDIA	NFORCE3_250_EHCI 0x00e8	nForce3 250 USB2 Host Controller
+product NVIDIA	NFORCE3_250_MCPT_AC 0x00ea nForce3 250 MCP-T AC-97
+product NVIDIA	NFORCE3_250_PPB	0x00ed	nForce3 250 PCI-PCI bridge
 product NVIDIA	ALADDINTNT2	0x00a0	Aladdin TNT2
 product NVIDIA	GEFORCE256	0x0100	GeForce 256
 product NVIDIA	GEFORCEDDR	0x0101	GeForce DDR
Index: viaide.c
===================================================================
RCS file: /cvs/cvsroot/src/sys/dev/pci/viaide.c,v
retrieving revision 1.18
diff -u -r1.18 viaide.c
--- viaide.c	21 Aug 2004 00:28:34 -0000	1.18
+++ viaide.c	28 Oct 2004 04:56:20 -0000
@@ -97,6 +97,16 @@
 	  "NVIDIA nForce3 IDE Controller",
 	  via_chip_map
 	},
+	{ PCI_PRODUCT_NVIDIA_NFORCE3_250_ATA133,
+	  0,
+	  "NVIDIA nForce3 250 IDE Controller",
+	  via_chip_map
+	},
+	{ PCI_PRODUCT_NVIDIA_NFORCE3_250_SATA,
+	  0,
+	  "NVIDIA nForce3 250 Serial ATA Controller",
+	  via_sata_chip_map
+	},
 	{ 0,
 	  0,
 	  NULL,
@@ -282,6 +292,7 @@
 			break;
 		case PCI_PRODUCT_NVIDIA_NFORCE2_ATA133:
 		case PCI_PRODUCT_NVIDIA_NFORCE3_ATA133:
+		case PCI_PRODUCT_NVIDIA_NFORCE3_250_ATA133:
 			sc->sc_wdcdev.sc_atac.atac_udma_cap = 6;
 			break;
 		}

>Release-Note:
>Audit-Trail:
>Unformatted: