Subject: kern/37059: UDMA5 mode for viaide with CS5536
To: None <kern-bug-people@netbsd.org, gnats-admin@netbsd.org,>
From: None <andreas@planix.com>
List: netbsd-bugs
Date: 10/04/2007 13:25:00
>Number:         37059
>Category:       kern
>Synopsis:       UDMA5 mode for CS5536
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    kern-bug-people
>State:          open
>Class:          change-request
>Submitter-Id:   net
>Arrival-Date:   Thu Oct 04 13:25:00 +0000 2007
>Originator:     Andreas Wrede
>Release:        NetBSD 4.99.31
>Organization:
Andreas Wrede              Planix, Inc.
andreas@planix.com         Networking, System Administration, Consulting
http://www.planix.com      Toronto, Ontario, Canada

"The steady state of disks is full."
                               -- Ken Thompson
>Environment:
	
	
System: NetBSD wingbat.wrede.pvt 4.99.31 NetBSD 4.99.31 (NET5501) #23: Thu Oct  4 07:36:36 EDT 2007  root@wotan.wrede.pvt:/u1/netbsd-current/obj.i386/sys/arch/i386/compile/NET5501 i386

Architecture: i386
Machine: i386
>Description:
	
viaide(4) will negotiate UDMA 4 with drives that are campable of UDMA 5.
>How-To-Repeat:
	
Boot a Soekris Net5501 with a UDMA 5 disk:
wd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 5 (Ultra/100)
wd0(viaide0:0:0): using PIO mode 4, Ultra-DMA mode 4 (Ultra/66) (using DMA)

>Fix:
	
Apply attached patch. Thanks to Poul-Henning Kamp for the pointer.

wd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 5 (Ultra/100)
wd0(viaide0:0:0): using PIO mode 4, Ultra-DMA mode 5 (Ultra/100) (using DMA)

Index: viaide.c
===================================================================
RCS file: /cvsroot/src/sys/dev/pci/viaide.c,v
retrieving revision 1.44
diff -u -r1.44 viaide.c
--- viaide.c	31 Aug 2007 01:42:48 -0000	1.44
+++ viaide.c	4 Oct 2007 13:18:36 -0000
@@ -468,6 +468,7 @@
 		case PCI_PRODUCT_AMD_PBC8111_IDE:
 			sc->sc_wdcdev.sc_atac.atac_udma_cap = 6;
 			break;
+		case PCI_PRODUCT_AMD_CS5536_IDE:
 		case PCI_PRODUCT_AMD_PBC766_IDE:
 		case PCI_PRODUCT_AMD_PBC768_IDE:
 			sc->sc_wdcdev.sc_atac.atac_udma_cap = 5;

>Unformatted: