Messages in this thread | | | Subject | Re: [Patch] DMA mapping API for Alpha | From | James Bottomley <> | Date | 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/
| |