Hans Petter Selasky wrote this message on Tue, Sep 05, 2006 at 21:11 +0200: > On Tuesday 05 September 2006 20:31, Scott Long wrote: > > Poul-Henning Kamp wrote: > > > In message <20060905173334.GH9421_at_funkthat.com>, John-Mark Gurney writes: > > >>This means that for each call to bus_dma_tag_create, instead of passing > > >>a NULL pointer, you should call bus_get_dma_tag(yourdev) and use that > > >>as the parent tag. I committed some example code to various drivers, > > >>such as ahc, ata, em, and ohci. > > > > > > If there are never any exeptions to this requirement, why not > > > pass "yourdev" and have the magic hidden, rather than add 17 > > > ritual characters to the API ? > > > > Drivers can have their own multi-level tag heirarchy. You'd have to > > create a new bus_dma_tag_create() variant that expected a device_t > > instead of a bus_dma_tag_t. This might be a good idea. > > > > I think it is easier to share code with NetBSD if we use > "bus_get_dma_tag(yourdev)". > > For example I use the following prototype on NetBSD and FreeBSD: > > void * > usbd_mem_alloc(bus_dma_tag_t parent, u_int32_t size, > u_int8_t align_power); It won't prevent you from first creating a bus_dma_tag_t w/ no restrictions but the dev, and passing that to this function.. Once you have inherited the tag from the device, all children tag's will have the correct tag... -- John-Mark Gurney Voice: +1 415 225 5579 "All that I will do, has been done, All that I have, has not."Received on Tue Sep 05 2006 - 20:04:00 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:00 UTC