Subject: port-arm/22392: ZAO board ixpcom driver problem
To: None <gnats-bugs@gnats.netbsd.org>
From: Shoichi Miyake <smi@sm.sony.co.jp>
List: netbsd-bugs
Date: 08/07/2003 22:22:48
>Number:         22392
>Category:       port-arm
>Synopsis:       ZAO board ixpcom driver problem
>Confidential:   no
>Severity:       serious
>Priority:       high
>Responsible:    port-arm-maintainer
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Thu Aug 07 13:23:00 UTC 2003
>Closed-Date:
>Last-Modified:
>Originator:     Shoichi Miyake
>Release:        NetBSD 1.6U
>Organization:
>Environment:
System: NetBSD 1.6U (ZAO425_MD) #30: Thu Aug  7 20:34:57 JST 2003 smi@skysensor:/work/nb/arch/evbarm/obj/sys/arch/evbarm/compile/ZAO425_MD
Architecture: armeb
Machine: evbarm
>Description:
	In user mode, ixpcom driver doesn't work well, since output fifo
	configuration register is reset on every interrupt.
>How-To-Repeat:
	Make a ramdisk and mdset'ed ZAO425_MD kernel, and boot it,
	then single user shell is out of control.
>Fix:
	Drop some bit from sc_fcr like followng patch.

Index: arch/arm/xscale/ixp425_com.c
===================================================================
RCS file: /cvsroot/src/sys/arch/arm/xscale/ixp425_com.c,v
retrieving revision 1.11
diff -u -r1.11 ixp425_com.c
--- arch/arm/xscale/ixp425_com.c	2 Jul 2003 10:40:46 -0000	1.11
+++ arch/arm/xscale/ixp425_com.c	7 Aug 2003 13:14:52 -0000
@@ -247,6 +247,7 @@
 
 	sc->sc_fcr = FCR_TRIGGER_32 | FCR_RESETTF | FCR_RESETRF | FCR_ENABLE;
 	bus_space_write_4(iot, ioh, IXP425_UART_FCR, sc->sc_fcr);
+	sc->sc_fcr = FCR_TRIGGER_32 | FCR_ENABLE;
 
 	if (iot == ixp4xx_comcn_sc.sc_iot
 		&& sc->sc_baseaddr == ixp4xx_comcn_sc.sc_baseaddr) {

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