hi there

the following patch allows the MCP77 to use DMA mode
when in ide compatibility mode:

Index: pciide.c
===================================================================
RCS file: /cvs/src/sys/dev/pci/pciide.c,v
retrieving revision 1.302
diff -u -r1.302 pciide.c
--- pciide.c    13 Oct 2009 22:05:13 -0000      1.302
+++ pciide.c    16 Oct 2009 03:24:42 -0000
@@ -994,6 +994,10 @@
          0,
          nforce_chip_map
        },
+       { PCI_PRODUCT_NVIDIA_MCP77_AHCI_1,
+         0,
+         sata_chip_map
+       },
        { PCI_PRODUCT_NVIDIA_NFORCE2_400_SATA,
          0,
          sata_chip_map


--- dmesg.bsd.15        Fri Oct 16 05:30:46 2009
+++ dmesg.bsd.16        Fri Oct 16 05:59:30 2009
@@ -1,12 +1,15 @@
-OpenBSD 4.6-current (GENERIC) #296: Tue Oct 13 12:12:59 MDT 2009
-    dera...@i386.openbsd.org:/usr/src/sys/arch/i386/compile/GENERIC
+OpenBSD 4.6-current (GENERIC) #10: Fri Oct 16 05:48:16 CEST 2009
+    f...@amaaq:/adata/home/f/usr/src/sys/arch/i386/compile/GENERIC
 cpu0: AMD Turion(tm) X2 Ultra Dual-Core Mobile ZM-80 ("AuthenticAMD" 
686-class, 1024KB L2 cache) 2.11 GHz
 cpu0: 
FPU,V86,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,MMX,FXSR,SSE,SSE2,HTT,SSE3,CX16
 real mem  = 3217108992 (3068MB)
-avail mem = 3125432320 (2980MB)
+avail mem = 3125407744 (2980MB)
 User Kernel Config
 UKC> disable acpicpu
 474 acpicpu* disabled
 UKC> quit
 Continuing...
 mainbus0 at root
@@ -70,19 +73,20 @@
 audio0 at azalia0
 ppb0 at pci0 dev 8 function 0 "NVIDIA MCP77 PCI" rev 0xa1
 pci1 at ppb0 bus 1
-pciide1 at pci0 dev 9 function 0 "NVIDIA MCP77 AHCI" rev 0xa2: DMA 
(unsupported), channel 0 wired to native-PCI, channel 1 wired to native-PCI
+pciide1 at pci0 dev 9 function 0 "NVIDIA MCP77 AHCI" rev 0xa2: DMA
 pciide1: using apic 0 int 10 (irq 10) for native-PCI interrupt
 wd0 at pciide1 channel 0 drive 0: <FUJITSU MHZ2320BH G2>
 wd0: 16-sector PIO, LBA48, 305245MB, 625142448 sectors
 atapiscsi0 at pciide1 channel 0 drive 1
 scsibus0 at atapiscsi0: 2 targets
 cd0 at scsibus0 targ 0 lun 0: <Optiarc, DVD RW AD-7560S, SX01> ATAPI 5/cdrom 
removable
-pciide1: channel 1 ignored (not responding; disabled or no drives?)
+wd0(pciide1:0:0): using PIO mode 4, Ultra-DMA mode 5
+cd0(pciide1:0:1): using PIO mode 4, Ultra-DMA mode 5
 nfe0 at pci0 dev 10 function 0 "NVIDIA MCP77 LAN" rev 0xa2: apic 0 int 5 (irq 
5), address 00:21:85:55:af:d3
 eephy0 at nfe0 phy 1: 88E1116 Gigabit PHY, rev. 1
 ppb1 at pci0 dev 16 function 0 "NVIDIA MCP77 PCIE" rev 0xa1: apic 0 int 7 (irq 
7)

full dmesg (with MCP77 being disabled):

OpenBSD 4.6-current (GENERIC) #10: Fri Oct 16 05:48:16 CEST 2009
    f...@amaaq:/adata/home/f/usr/src/sys/arch/i386/compile/GENERIC
cpu0: AMD Turion(tm) X2 Ultra Dual-Core Mobile ZM-80 ("AuthenticAMD" 686-class, 
1024KB L2 cache) 2.11 GHz
cpu0: 
FPU,V86,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,MMX,FXSR,SSE,SSE2,HTT,SSE3,CX16
real mem  = 3217108992 (3068MB)
avail mem = 3125407744 (2980MB)
User Kernel Config
UKC> disable acpicpu
474 acpicpu* disabled
UKC> quit
Continuing...
mainbus0 at root
bios0 at mainbus0: AT/286+ BIOS, date 02/08/08, SMBIOS rev. 2.4 @ 0xbfb51018 
(53 entries)
bios0: vendor American Megatrends Inc. version "E1652NMS VER.106" date 
12/26/2008
bios0: Micro-Star International GX-630
acpi0 at bios0: rev 2
acpi0: tables DSDT FACP APIC SSDT MCFG SLIC
acpi0: wakeup devices PS2K(S4) PS2M(S4) NSMB(S4) USB0(S4) USB2(S3) USB1(S4) 
USB4(S3) NMAC(S5) HDAC(S4) POP2(S4) BR12(S4) BR13(S4) BR14(S4) BR16(S4) 
SLPB(S4) PWRB(S4)
acpitimer0 at acpi0: 3579545 Hz, 24 bits
acpimadt0 at acpi0 addr 0xfee00000: PC-AT compat
cpu0 at mainbus0: apid 0 (boot processor)
cpu0: apic clock running at 200MHz
cpu at mainbus0: not configured
ioapic0 at mainbus0: apid 0 pa 0xfec00000, version 11, 24 pins
acpiprt0 at acpi0: bus 0 (PCI0)
acpiprt1 at acpi0: bus 3 (BR12)
acpiprt2 at acpi0: bus 4 (BR13)
acpiprt3 at acpi0: bus 5 (BR14)
acpiprt4 at acpi0: bus 8 (BR16)
acpiec0 at acpi0
acpicpu at acpi0 not configured
acpitz0 at acpi0: critical temperature 100 degC
acpiac0 at acpi0: AC unit online
acpibat0 at acpi0: BAT1 model "MS-1221
" serial 
 type LION
 oem "MSI Corp.
"
acpibtn0 at acpi0: LID0
acpibtn1 at acpi0: SLPB
acpibtn2 at acpi0: PWRB
acpivideo0 at acpi0: VGA_
acpivout0 at acpivideo0: CRT_
acpivout1 at acpivideo0: LCD_
acpivout2 at acpivideo0: HDMI
bios0: ROM list: 0xc0000/0xe200 0xce800/0x1800
pci0 at mainbus0 bus 0: configuration mode 1 (bios)
"NVIDIA MCP77 Memory" rev 0xa2 at pci0 dev 0 function 0 not configured
pcib0 at pci0 dev 1 function 0 "NVIDIA MCP77 ISA" rev 0xa2
nviic0 at pci0 dev 1 function 1 "NVIDIA MCP77 SMBus" rev 0xa1
iic0 at nviic0
iic1 at nviic0
spdmem0 at iic1 addr 0x50: 2GB DDR2 SDRAM non-parity PC2-6400CL5 SO-DIMM
spdmem1 at iic1 addr 0x51: 2GB DDR2 SDRAM non-parity PC2-6400CL5 SO-DIMM
"NVIDIA MCP77 Co-processor" rev 0xa2 at pci0 dev 1 function 3 not configured
"NVIDIA MCP77 Memory" rev 0xa1 at pci0 dev 1 function 4 not configured
ohci0 at pci0 dev 2 function 0 "NVIDIA MCP77 USB" rev 0xa1: apic 0 int 7 (irq 
7), version 1.0, legacy support
ehci0 at pci0 dev 2 function 1 "NVIDIA MCP77 USB" rev 0xa1: apic 0 int 11 (irq 
11)
usb0 at ehci0: USB revision 2.0
uhub0 at usb0 "NVIDIA EHCI root hub" rev 2.00/1.00 addr 1
ohci1 at pci0 dev 4 function 0 "NVIDIA MCP77 USB" rev 0xa1: apic 0 int 5 (irq 
5), version 1.0, legacy support
ehci1 at pci0 dev 4 function 1 "NVIDIA MCP77 USB" rev 0xa1: apic 0 int 7 (irq 7)
usb1 at ehci1: USB revision 2.0
uhub1 at usb1 "NVIDIA EHCI root hub" rev 2.00/1.00 addr 1
pciide0 at pci0 dev 6 function 0 "NVIDIA MCP77 IDE" rev 0xa1: DMA, channel 0 
configured to compatibility, channel 1 configured to compatibility
pciide0: channel 0 ignored (disabled)
pciide0: channel 1 ignored (disabled)
azalia0 at pci0 dev 7 function 0 "NVIDIA MCP77 HD Audio" rev 0xa1: apic 0 int 
11 (irq 11)
azalia0: codecs: Realtek ALC888, Motorola/0x3055, NVIDIA/0x0006, using Realtek 
ALC888
audio0 at azalia0
ppb0 at pci0 dev 8 function 0 "NVIDIA MCP77 PCI" rev 0xa1
pci1 at ppb0 bus 1
pciide1 at pci0 dev 9 function 0 "NVIDIA MCP77 AHCI" rev 0xa2: DMA
pciide1: using apic 0 int 10 (irq 10) for native-PCI interrupt
wd0 at pciide1 channel 0 drive 0: <FUJITSU MHZ2320BH G2>
wd0: 16-sector PIO, LBA48, 305245MB, 625142448 sectors
atapiscsi0 at pciide1 channel 0 drive 1
scsibus0 at atapiscsi0: 2 targets
cd0 at scsibus0 targ 0 lun 0: <Optiarc, DVD RW AD-7560S, SX01> ATAPI 5/cdrom 
removable
wd0(pciide1:0:0): using PIO mode 4, Ultra-DMA mode 5
cd0(pciide1:0:1): using PIO mode 4, Ultra-DMA mode 5
nfe0 at pci0 dev 10 function 0 "NVIDIA MCP77 LAN" rev 0xa2: apic 0 int 5 (irq 
5), address 00:21:85:55:af:d3
eephy0 at nfe0 phy 1: 88E1116 Gigabit PHY, rev. 1
ppb1 at pci0 dev 16 function 0 "NVIDIA MCP77 PCIE" rev 0xa1: apic 0 int 7 (irq 
7)
pci2 at ppb1 bus 2
vga1 at pci2 dev 0 function 0 "NVIDIA GeForce 9600M GT" rev 0xa1
wsdisplay0 at vga1 mux 1: console (80x25, vt100 emulation)
wsdisplay0: screen 1-5 added (80x25, vt100 emulation)
ppb2 at pci0 dev 18 function 0 "NVIDIA MCP77 PCIE" rev 0xa1: apic 0 int 11 (irq 
11)
pci3 at ppb2 bus 3
ral0 at pci3 dev 0 function 0 "Ralink RT2790" rev 0x00: apic 0 int 11 (irq 11), 
address 00:21:85:b3:c4:ec
ral0: MAC/BBP RT2872 (rev 0x0200), RF RT2720 (MIMO 1T2R)
ppb3 at pci0 dev 19 function 0 "NVIDIA MCP77 PCI" rev 0xa1: apic 0 int 5 (irq 5)
pci4 at ppb3 bus 4
ppb4 at pci0 dev 20 function 0 "NVIDIA MCP77 PCI" rev 0xa1: apic 0 int 7 (irq 7)
pci5 at ppb4 bus 5
ppb5 at pci0 dev 22 function 0 "NVIDIA MCP77 PCI" rev 0xa1: apic 0 int 11 (irq 
11)
pci6 at ppb5 bus 8
"JMicron FireWire" rev 0x00 at pci6 dev 0 function 0 not configured
"JMicron SD/MMC" rev 0x00 at pci6 dev 0 function 1 not configured
sdhc0 at pci6 dev 0 function 2 "JMicron SD Host Controller" rev 0x00: apic 0 
int 11 (irq 11)
sdmmc0 at sdhc0
"JMicron Memory Stick" rev 0x00 at pci6 dev 0 function 3 not configured
"JMicron xD" rev 0x00 at pci6 dev 0 function 4 not configured
pchb0 at pci0 dev 24 function 0 "AMD AMD64 11h HyperTransport" rev 0x40
pchb1 at pci0 dev 24 function 1 "AMD AMD64 11h Address Map" rev 0x00
pchb2 at pci0 dev 24 function 2 "AMD AMD64 11h DRAM Cfg" rev 0x00
km0 at pci0 dev 24 function 3 "AMD AMD64 11h Misc Cfg" rev 0x00
pchb3 at pci0 dev 24 function 4 "AMD AMD64 11h Link Cfg" rev 0x00
isa0 at pcib0
isadma0 at isa0
pckbc0 at isa0 port 0x60/5
pckbd0 at pckbc0 (kbd slot)
pckbc0: using irq 1 for kbd slot
wskbd0 at pckbd0: console keyboard, using wsdisplay0
pmsi0 at pckbc0 (aux slot)
pckbc0: using irq 12 for aux slot
wsmouse0 at pmsi0 mux 0
pcppi0 at isa0 port 0x61
midi0 at pcppi0: <PC speaker>
spkr0 at pcppi0
npx0 at isa0 port 0xf0/16: reported by CPUID; using exception 16
usb2 at ohci0: USB revision 1.0
uhub2 at usb2 "NVIDIA OHCI root hub" rev 1.00/1.00 addr 1
usb3 at ohci1: USB revision 1.0
uhub3 at usb3 "NVIDIA OHCI root hub" rev 1.00/1.00 addr 1
mtrr: Pentium Pro MTRR support
umass0 at uhub1 port 1 configuration 1 interface 0 "USB 2.0 USB Flash Drive" 
rev 2.00/1.00 addr 2
umass0: using SCSI over Bulk-Only
scsibus1 at umass0: 2 targets, initiator 0
sd0 at scsibus1 targ 1 lun 0: <USB 2.0, USB Flash Drive, 0.00> SCSI2 0/direct 
removable
sd0: 15424MB, 512 bytes/sec, 31588352 sec total
uhidev0 at uhub2 port 2 configuration 1 interface 0 "Areson Gaming II" rev 
2.00/10.00 addr 2
uhidev0: iclass 3/1
ums0 at uhidev0: 5 buttons, Z dir
wsmouse1 at ums0 mux 0
uhidev1 at uhub2 port 2 configuration 1 interface 1 "Areson Gaming II" rev 
2.00/10.00 addr 2
uhidev1: iclass 3/0, 4 report ids
ums1 at uhidev1 reportid 1: 5 buttons, Z dir
wsmouse2 at ums1 mux 0
uhid0 at uhidev1 reportid 2: input=7, output=7, feature=0
ukbd0 at uhidev1 reportid 3
ukbd0: attach failed, too many key codes
uhid1 at uhidev1 reportid 4: input=2, output=0, feature=0
ubt0 at uhub3 port 4 "Micro Star International Bluetooth" rev 2.00/31.64 addr 2
vscsi0 at root
scsibus2 at vscsi0: 256 targets
softraid0 at root
root on wd0a swap on wd0b dump on wd0b

-f
-- 
if there's one thing i can't stand, it's intolerance.

Reply via email to