Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 12 Jul 2009 16:46:43 +0000 (UTC)
From:      Marcel Moolenaar <marcel@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r195639 - head/sys/dev/usb
Message-ID:  <200907121646.n6CGkhOA089845@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: marcel
Date: Sun Jul 12 16:46:43 2009
New Revision: 195639
URL: http://svn.freebsd.org/changeset/base/195639

Log:
  MFp4:
        USB CORE: busdma improvement
  
        For single segment allocations the boundary field
        of the BUSDMA tag should be zero. Currently all
        single segment allocations are less than or equal
        to 4096 bytes, so the limit does not kick in. If
        any single segment USB allocations would be greater
        than 4K, then it would be a problem.
  
  Approved by:	re (kensmith)
  Obtained from:	HPS

Modified:
  head/sys/dev/usb/usb_busdma.c

Modified: head/sys/dev/usb/usb_busdma.c
==============================================================================
--- head/sys/dev/usb/usb_busdma.c	Sun Jul 12 16:04:12 2009	(r195638)
+++ head/sys/dev/usb/usb_busdma.c	Sun Jul 12 16:46:43 2009	(r195639)
@@ -359,7 +359,8 @@ usb_dma_tag_create(struct usb_dma_tag *u
 	if (bus_dma_tag_create
 	    ( /* parent    */ udt->tag_parent->tag,
 	     /* alignment */ align,
-	     /* boundary  */ USB_PAGE_SIZE,
+	     /* boundary  */ (align == 1) ?
+	    USB_PAGE_SIZE : 0,
 	     /* lowaddr   */ (2ULL << (udt->tag_parent->dma_bits - 1)) - 1,
 	     /* highaddr  */ BUS_SPACE_MAXADDR,
 	     /* filter    */ NULL,



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200907121646.n6CGkhOA089845>