RE: [PATCH 0/2] iommu/amd: Fix IOMMUv2 devices when SME is active

From: Deucher, Alexander
Date: Wed Aug 26 2020 - 11:26:08 EST


[AMD Public Use]

+ Christian

> -----Original Message-----
> From: Kuehling, Felix <Felix.Kuehling@xxxxxxx>
> Sent: Wednesday, August 26, 2020 11:22 AM
> To: Deucher, Alexander <Alexander.Deucher@xxxxxxx>; Joerg Roedel
> <joro@xxxxxxxxxx>; iommu@xxxxxxxxxxxxxxxxxxxxxxxxxx; Huang, Ray
> <Ray.Huang@xxxxxxx>
> Cc: jroedel@xxxxxxx; Lendacky, Thomas <Thomas.Lendacky@xxxxxxx>;
> Suthikulpanit, Suravee <Suravee.Suthikulpanit@xxxxxxx>; linux-
> kernel@xxxxxxxxxxxxxxx
> Subject: Re: [PATCH 0/2] iommu/amd: Fix IOMMUv2 devices when SME is
> active
>
> [+Ray]
>
>
> Thanks for the heads up. Currently KFD won't work on APUs when IOMMUv2
> is disabled. But Ray is working on fallbacks that will allow KFD to work on
> APUs even without IOMMUv2, similar to our dGPUs. Along with changes in
> ROCm user mode, those fallbacks are necessary for making ROCm on APUs
> generally useful.
>
>
> How common is SME on typical PCs or laptops that would use AMD APUs?

I think the hw supports it, but it as far as I know it's not formally productized on client parts.

>
>
> Alex, do you know if anyone has tested amdgpu on an APU with SME
> enabled? Is this considered something we support?

It's not something we've tested. I'm not even sure the GPU portion of APUs will work properly without an identity mapping. SME should work properly with dGPUs however, so this is a proper fix for them. We don't use the IOMMUv2 path on dGPUs at all.

Alex

>
>
> Thanks,
>   Felix
>
>
> Am 2020-08-26 um 10:14 a.m. schrieb Deucher, Alexander:
> >
> > [AMD Official Use Only - Internal Distribution Only]
> >
> >
> > + Felix
> > ----------------------------------------------------------------------
> > --
> > *From:* Joerg Roedel <joro@xxxxxxxxxx>
> > *Sent:* Monday, August 24, 2020 6:54 AM
> > *To:* iommu@xxxxxxxxxxxxxxxxxxxxxxxxxx
> > <iommu@xxxxxxxxxxxxxxxxxxxxxxxxxx>
> > *Cc:* Joerg Roedel <joro@xxxxxxxxxx>; jroedel@xxxxxxx
> > <jroedel@xxxxxxx>; Lendacky, Thomas <Thomas.Lendacky@xxxxxxx>;
> > Suthikulpanit, Suravee <Suravee.Suthikulpanit@xxxxxxx>; Deucher,
> > Alexander <Alexander.Deucher@xxxxxxx>; linux-kernel@xxxxxxxxxxxxxxx
> > <linux-kernel@xxxxxxxxxxxxxxx>
> > *Subject:* [PATCH 0/2] iommu/amd: Fix IOMMUv2 devices when SME is
> > active
> >
> > From: Joerg Roedel <jroedel@xxxxxxx>
> >
> > Hi,
> >
> > Some IOMMUv2 capable devices do not work correctly when SME is active,
> > because their DMA mask does not include the encryption bit, so that
> > they can not DMA to encrypted memory directly.
> >
> > The IOMMU can jump in here, but the AMD IOMMU driver puts IOMMUv2
> > capable devices into an identity mapped domain. Fix that by not
> > forcing an identity mapped domain on devices when SME is active and
> > forbid using their IOMMUv2 functionality.
> >
> > Please review.
> >
> > Thanks,
> >
> >         Joerg
> >
> > Joerg Roedel (2):
> >   iommu/amd: Do not force direct mapping when SME is active
> >   iommu/amd: Do not use IOMMUv2 functionality when SME is active
> >
> >  drivers/iommu/amd/iommu.c    | 7 ++++++-
> >  drivers/iommu/amd/iommu_v2.c | 7 +++++++
> >  2 files changed, 13 insertions(+), 1 deletion(-)
> >
> > --
> > 2.28.0
> >