Module Name: src Committed By: jakllsch Date: Tue Jul 27 20:20:46 UTC 2010
Modified Files: src/sys/dev/usb: ugen.c Log Message: Tune ugen(4) isochronous parameters to better support high speed pipes. Fixes PR#43159. Justification: UGEN_NISORFRMS, previously 4, is now 8 because that's the number of microframes per frame on a high speed bus. This allows data to be transfered every microframe if necessary. UGEN_NISOREQS, previously 6, is now 4. This is harder to justify, but I didn't think the total number of buffer frames needed to be much more than it was. UGEN_NISOFRAMES, previously 500, is now (UGEN_NISORFRMS * UGEN_NISOREQS) (32 with values as above). This is all the more we've actually used. To generate a diff of this commit: cvs rdiff -u -r1.109 -r1.110 src/sys/dev/usb/ugen.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/dev/usb/ugen.c diff -u src/sys/dev/usb/ugen.c:1.109 src/sys/dev/usb/ugen.c:1.110 --- src/sys/dev/usb/ugen.c:1.109 Fri Feb 19 12:40:47 2010 +++ src/sys/dev/usb/ugen.c Tue Jul 27 20:20:46 2010 @@ -1,4 +1,4 @@ -/* $NetBSD: ugen.c,v 1.109 2010/02/19 12:40:47 pooka Exp $ */ +/* $NetBSD: ugen.c,v 1.110 2010/07/27 20:20:46 jakllsch Exp $ */ /* * Copyright (c) 1998, 2004 The NetBSD Foundation, Inc. @@ -37,7 +37,7 @@ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: ugen.c,v 1.109 2010/02/19 12:40:47 pooka Exp $"); +__KERNEL_RCSID(0, "$NetBSD: ugen.c,v 1.110 2010/07/27 20:20:46 jakllsch Exp $"); #include "opt_compat_netbsd.h" @@ -81,9 +81,9 @@ #define UGEN_IBSIZE 1020 /* buffer size */ #define UGEN_BBSIZE 1024 -#define UGEN_NISOFRAMES 500 /* 0.5 seconds worth */ -#define UGEN_NISOREQS 6 /* number of outstanding xfer requests */ -#define UGEN_NISORFRMS 4 /* number of frames (miliseconds) per req */ +#define UGEN_NISOREQS 4 /* number of outstanding xfer requests */ +#define UGEN_NISORFRMS 8 /* number of transactions per req */ +#define UGEN_NISOFRAMES (UGEN_NISORFRMS * UGEN_NISOREQS) #define UGEN_BULK_RA_WB_BUFSIZE 16384 /* default buffer size */ #define UGEN_BULK_RA_WB_BUFMAX (1 << 20) /* maximum allowed buffer */