DMA mapping API for Alpha
Quoted 7 lines
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
Quoted 3 lines · James Bottomley
I use the
platform_datafield to cache the
particular IO-MMU the device is connected to. I assume this is the same in alpha?
Exactly.
Ivan.