On Thu, Jul 23, 2020 at 09:34:37AM +0800, Lu Baolu wrote: > The VT-d spec requires (10.4.4 Global Command Register, TE field) that: > > Hardware implementations supporting DMA draining must drain any in-flight > DMA read/write requests queued within the Root-Complex before completing > the translation enable command and reflecting the status of the command > through the TES field in the Global Status register. > > Unfortunately, some integrated graphic devices fail to do so after some > kind of power state transition. As the result, the system might stuck in > iommu_disable_translation(), waiting for the completion of TE transition. > > This provides a quirk list for those devices and skips TE disabling if > the qurik hits. > > Fixes: https://bugzilla.kernel.org/show_bug.cgi?id=208363 > Fixes: https://bugzilla.kernel.org/show_bug.cgi?id=206571 > Tested-by: Koba Ko <koba.ko@xxxxxxxxxxxxx> > Tested-by: Jun Miao <jun.miao@xxxxxxxxxxxxx> > Cc: Ashok Raj <ashok.raj@xxxxxxxxx> > Cc: stable@xxxxxxxxxxxxxxx > Signed-off-by: Lu Baolu <baolu.lu@xxxxxxxxxxxxxxx> Applied for v5.9, thanks.