bus_get_dma_tag now necessary for drivers using bus_dma

John-Mark Gurney gurney_j at resnet.uoregon.edu
Tue Sep 5 17:33:36 UTC 2006


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."


More information about the freebsd-drivers mailing list