Re: [PATCH 3/5] add sg segment limitation info to device structure

Matthew Wilcox
2007-10-02T01:39:04Z

On Mon, Oct 01, 2007 at 07:36:10PM -0400, James Bottomley wrote:
> One possibility we could do is to add a
>
> struct dma_device {
> struct device dev;
> u64 dma_mask;
> u64 coherent_dma_mask;
> unsigned int max_segment_size;
> /* plus any other DMA parameters */
> };
>
> but then every bus that can do DMA would need to include a struct
> dma_device instead of the struct device they do now. Then the IOMMU
> would know it could cast out from struct device to struct dma_device,
> but this would be a lot of work to thread through the current
> infrastructure.

If we're going to do this, then we should go further and include:
- unsigned int irq
- struct resources (how many?)
- struct list_head dma_pools

dma_device might not be the right name. Really, we're talking about
'internal' device types (EISA, PCI, GSC, Zorro, ...) as opposed to
external like usb.

--
Intel are signing my paycheques ... these opinions are still mine
"Bill, look, we understand that you're interested in selling us this
operating system, but compare it to ours. We can't possibly take such
a retrograde step."