From owner-freebsd-hackers@FreeBSD.ORG Mon Jul 3 01:40:44 2006 Return-Path: X-Original-To: freebsd-hackers@freebsd.org Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id DEC4F16A56E for ; Mon, 3 Jul 2006 01:40:44 +0000 (UTC) (envelope-from julian@elischer.org) Received: from a50.ironport.com (a50.ironport.com [63.251.108.112]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6194E44458 for ; Mon, 3 Jul 2006 01:22:47 +0000 (GMT) (envelope-from julian@elischer.org) Received: from unknown (HELO [192.168.2.4]) ([10.251.60.69]) by a50.ironport.com with ESMTP; 02 Jul 2006 18:22:47 -0700 Message-ID: <44A87163.1020203@elischer.org> Date: Sun, 02 Jul 2006 18:22:43 -0700 From: Julian Elischer User-Agent: Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.7.13) Gecko/20060414 X-Accept-Language: en-us, en MIME-Version: 1.0 To: Ian Dowse References: <200607021305.aa75873@nowhere.iedowse.com> In-Reply-To: <200607021305.aa75873@nowhere.iedowse.com> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Cc: David Malone , freebsd-hackers@freebsd.org, Hans Petter Selasky Subject: Re: contiguous memory allocation problem X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 03 Jul 2006 01:40:45 -0000 Ian Dowse wrote: >In message <200607021138.11945.hselasky@c2i.net>, Hans Petter Selasky writes: > > >>But there is one problem, that has been overlooked, and that is High speed >>isochronous transfers, which are not supported by the existing USB system. I >>don't think that the EHCI specification was designed for scatter and gather, >>when you consider this: >> >>8 transfers of 0xC00 bytes has to fit on 7 pages. If this is going to work, >>and I am right, one page has to contain two transfers. (see page 43 of >>ehci-r10.pdf) >> >> > >I haven't looked into the details, but the text in section 3.3.3 >seems to suggest that EHCI is designed to not require physically >contiguous allocations here either, so the same approach of using >bus_dmamap_load() should work: > > This data structure requires the associated data buffer to be > contiguous (relative to virtual memory), but allows the physical > memory pages to be non-contiguous. Seven page pointers are provided > to support the expression of 8 isochronous transfers. The seven > pointers allow for 3 (transactions) * 1024 (maximum packet size) > * 8 (transaction records) (24576 bytes) to be moved with this > data structure, regardless of the alignment offset of the first > page. > > yes, as long as the beffers are contiguous in some virtual space then the maximum number of pages they can need is 7. (they actually fit into 6 but they may start part way through the first page and may therefore overflow into a 7th). >Ian >_______________________________________________ >freebsd-hackers@freebsd.org mailing list >http://lists.freebsd.org/mailman/listinfo/freebsd-hackers >To unsubscribe, send any mail to "freebsd-hackers-unsubscribe@freebsd.org" > >