bus_get_dma_tag now necessary for drivers using bus_dma

mjacob at freebsd.org mjacob at freebsd.org
Tue Sep 5 17:55:24 UTC 2006


A __FreeBSD_version value of 700020 can be used in your drivers to 
distinguish the OS source that has the requirement and that which 
doesn't.

On Tue, 5 Sep 2006, John-Mark Gurney wrote:

> 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."
> _______________________________________________
> freebsd-drivers at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-drivers
> To unsubscribe, send any mail to "freebsd-drivers-unsubscribe at freebsd.org"
>


More information about the freebsd-drivers mailing list