iommu/amd: Flushing and locking fixes

Filippo Sironi
2019-09-10T17:50:08Z

This patch series introduce patches to take the domain lock whenever we call
functions that end up calling __domain_flush_pages. Holding the domain lock is
necessary since __domain_flush_pages traverses the device list, which is
protected by the domain lock.

The first patch in the series adds a completion right after an IOTLB flush in
attach_device.