iommu/amd: Flushing and locking fixes

From: Filippo Sironi
Date: Tue Sep 10 2019 - 13:50:08 EST


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.