Re: [Issue]platform/x86: iommu: System can't shutdown because iommu driver keeps checking the status of DMA_GSTS_TES

From: Koba Ko
Date: Thu Jul 09 2020 - 22:03:55 EST


Hi Mario
On Fri, Jul 10, 2020 at 4:58 AM Limonciello, Mario
<Mario.Limonciello@xxxxxxxx> wrote:
>
> > -----Original Message-----
> > From: iommu <iommu-bounces@xxxxxxxxxxxxxxxxxxxxxxxxxx> On Behalf Of Koba Ko
> > Sent: Sunday, June 14, 2020 10:47 PM
> > To: David Woodhouse; Lu Baolu; Joerg Roedel
> > Cc: iommu@xxxxxxxxxxxxxxxxxxxxxxxxxx; Kai Heng Feng; Linux Kernel Mailing
> > List
> > Subject: [Issue]platform/x86: iommu: System can't shutdown because iommu
> > driver keeps checking the status of DMA_GSTS_TES
> >
> > hi All,
> > I have a machine and there's only intel gpu.
> > the secureboot and vt-d is enabled in BIOS.
> > On the Ubuntu desktop, I do s2idle first and restart the machine.
> > The machine can't restart successfully, so I need to press the power
> > button to shutdown.
> > I tried each of the following and the issue can't be triggered.
> > 1. disable secure boot in BIOS.
>
> Just to explain why this happens, on many of Dell's systems VT-d is only enabled
> when secure boot is enabled.
>
> > 2. intel_iommu=off.
> > 3. intel_iomm=igfx_off.
> > 4. nomodeset
> > 5. i915.modeset=0.
> >
> > After I investigate further, find inte_iommu keeps checking the status
> > of DMA_GSTS_TES.
> > During the procedure of restart, the driver would disable iommu translation
> > and
> > check the status of DMA_GSTS_TES until status of DMA_GSTS_TES is 0.
> >
> > If you need more information, I can provide it.
> >
> > Thanks
> > Koba Ko
> > _______________________________________________
> > iommu mailing list
> > iommu@xxxxxxxxxxxxxxxxxxxxxxxxxx
> > https://lists.linuxfoundation.org/mailman/listinfo/iommu
>
> This is reported on TGL pre-production system, but actually same symptom is also
> happening in ICL production systems such as XPS 7390 2-in-1 and XPS 9300.
>
> Details for the ICL issue are available here:
> https://bugzilla.kernel.org/show_bug.cgi?id=206571
>
> A user did bisect it back to commit 6c3a44ed3c553c324845744f30bcd1d3b07d61fd in
> 5.5. Glancing through the code and comparing the suspend case, I would ask is it
> just a case of missing a flush at shutdown (IE iommu_flush_all)?
>
If dma translation doesn't be disabled during shutdown, the machine
would be powered off successfully.
I have tried to flush before disabled and this can't affect the result
of the issue.

koba ko