Messages in this thread | | | Subject | Re: Suggestions for how to remove bus_to_virt() | From | Roland Dreier <> | Date | Thu, 13 Jul 2006 09:02:47 -0700 |
| |
> > A cleaner solution would be to make the dma_ API really use the device > > it's passed anyway, and allow drivers to override the standard PCI > > stuff nicely. But that would be major surgery, I guess.
> Clean but expensive, you should not force the rest of the kernel > to eat the cost of something you want to do when it's totally > unnecessary for most other users.
OK, fair enough.
> For example, x86 never needs to do anything other than a direct > virt_to_phys translation to produce a DMA address, no matter what > bus the device is on. It's a single simple integer adjustment > that can be done inline in about 2 or 3 instructions at most.
<pedantic>Except x86 needs to handle systems with IOMMUs now...</pedantic>
> If you need device level DMA mapping semantics, create them for your > device type. This is what USB does, btw.
Makes sense -- Ralph, I would suggest looking at USB as a model.
- R. - 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/
| |