Re: API change for bus_dma
From: Andrew Gallatin (gallatin_at_cs.duke.edu)
Date: 06/30/03
- Previous message: Andrew Gallatin: "Re: API change for bus_dma"
- In reply to: Terry Lambert: "Re: API change for bus_dma"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ] [ attachment ]
Date: Mon, 30 Jun 2003 10:03:46 -0400 (EDT) To: Terry Lambert <tlambert2@mindspring.com>
Terry Lambert writes:
> Andrew Gallatin wrote:
> > Most sparc's have 2 different sorts of DMA modes. One is cache
> > coherent (aka DDI_DMA_CONSISTENT) -- this is what we all know and love
> > from PC, alphas, macs, etc.
>
> "contiguous"
>
>
> > The other mode (DDI_DMA_STREAMING) allows non cache coherent DMA.
> > This requires you to call ddi_dma_sync() between your last touch of
> > the data and you starting a DMA read from a device. And vice-versa
> > for a DMA write.
>
> "scatter/gather"
>
> > The reason people use DDI_DMA_STREAMING is because coherent DMA
> > bandwith tends to be abysmal on most sparcs.
>
The idea is that I want to establish a mapping that can be used many
times without any driver or kernel attention. I don't want to do
anything in terms of a system call, or interrupt, etc, to sync the
cache with the state of the DMA'ed page before a DMA read or after a DMA
write.
For example, scatter gather mapping on alphas (if FreeBSD supported it
for PCI devices) would be fine with me since its cache-coherent and
doesn't require any ddi_dma_sync() operations.
Drew
_______________________________________________
freebsd-arch@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-arch
To unsubscribe, send any mail to "freebsd-arch-unsubscribe@freebsd.org"
- Previous message: Andrew Gallatin: "Re: API change for bus_dma"
- In reply to: Terry Lambert: "Re: API change for bus_dma"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ] [ attachment ]
Relevant Pages
- Re: Opinion on ordering of writel vs. stores to RAM
... writel/readl are fully synchronous ... The driver decides at ioremap
time wether it wants a fully ordered ... - writel/readlbehave differently depending on the mapping
... enabled mapping using barriers. ... (Linux-Kernel) - Re: [RFC PATCH 06/12] PAT 64b: Add ioremap_wc support
... reserved/non-reserved regions some what different. ... Change x86_64 identity
map to only map non-reserved memory. ... a driver does ioremap_uc and an application
mapped the ... /dev/mem mapping is still live and we run into aliasing issue. ...
(Linux-Kernel) - Re: [PATCHv4 2.6.25] i2c: adds support for i2c bus on Freescale CPM1/CPM2 controllers
... I know you don't like the patch from Jon Smirl and you also explained your reasons.
... standard kernel driver aliasing mechanism. ... This mapping table will
need to contain a map from the OF names to the ... (Linux-Kernel) - Re: fuse, get_user_pages, flush_anon_page, aliasing caches and all that again
... I don't know) only about one single user mapping and one ... >> exactly
the same - we have to flush the kernel mapping and the user ... There's a problem with
defining cache coherency macros to that extent. ... mmap a general purpose dma region.
... (Linux-Kernel) - Re: [PATCH 5 of 13] ipath - use proper address translation routine
... Alan> again. ... Why can't a driver which is doing its own mapping
not ... SCSI midlayer gives SRP a SCSI command to send. ... (Linux-Kernel)