Over the weekend, I integrated some infastructure from the sun4v port. It is the ability to have different bus_dma_tag_t's for different parts of the device tree. This is necessary on systems like sparc64 and sun4v that have different IOMMU's for different pci domains. sparc64 glossed over this difference by programming both IOMMU's exactly the same, but I decided to fix this for sun4v. This means that for each call to bus_dma_tag_create, instead of passing a NULL pointer, you should call bus_get_dma_tag(yourdev) and use that as the parent tag. I committed some example code to various drivers, such as ahc, ata, em, and ohci. There is currently no functional change to the tree w/ this change. The driver changes will need to be done by hand as the device_t of the current device is not always obviously available at the time bus_dma_tag_create is called. Patches are welcome for the remaining unconverted drivers. -- John-Mark Gurney Voice: +1 415 225 5579 "All that I will do, has been done, All that I have, has not."Received on Tue Sep 05 2006 - 15:33:35 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:00 UTC