Re: [Patch] DMA mapping API for Alpha

James Bottomley (James.Bottomley@steeleye.com)
29 Apr 2003 15:22:12 -0500


> Ok, for clean dma_* implementation on alpha (and others, I guess) we need
> to move root level IO controller data from struct pci_dev (pdev->sysdata)
> to struct dev. Actually, the latter already has such field (platform_data)
> but right now it's kind of parisc specific. ;-)
> I'll look into it after short vacation (4-5 days).

Well, it (platform_data) predates the parisc conversion to the dma_
API. I just assumed that was what it was there fore. I had to do it
this way because parisc has a rather nasty set up in that there are
usually two PCI (and several other busses) which connect to two
different IO-MMUs. I use the platform_data field to cache the
particular IO-MMU the device is connected to. I assume this is the same
in alpha?

Previously parisc was using the sysdata field of the pci_dev (and
constructing fake pci_devs for other busses). The conversion wasn't
actually that complex (although it was made easier on parisc because the
IO-MMU lives above the PCI busses, so in the generic device model we can
simply now traverse parents to find it).

James

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/