iommu/amd: Fully decode all combinations of alloc_paging_flags
authorJason Gunthorpe <jgg@nvidia.com>
Fri, 10 Jan 2025 16:35:05 +0000 (12:35 -0400)
committerJoerg Roedel <jroedel@suse.de>
Fri, 17 Jan 2025 07:59:32 +0000 (08:59 +0100)
commit082f1bcae8d1b5f76e92e369091176b8d61120ec
treeb664c9f68ffd69984dfd5dbfc49596b3dca093ac
parent5a081f7f428cc68c2df8eb281bfbaedf65b749c1
iommu/amd: Fully decode all combinations of alloc_paging_flags

Currently AMD does not support
 IOMMU_HWPT_ALLOC_PASID | IOMMU_HWPT_ALLOC_DIRTY_TRACKING

It should be rejected. Instead it creates a V1 domain without dirty
tracking support.

Use a switch to fully decode the flags.

Fixes: ce2cd175469f ("iommu/amd: Enhance amd_iommu_domain_alloc_user()")
Reviewed-by: Vasant Hegde <vasant.hegde@amd.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
Link: https://lore.kernel.org/r/7-v2-9776c53c2966+1c7-amd_paging_flags_jgg@nvidia.com
Signed-off-by: Joerg Roedel <jroedel@suse.de>
drivers/iommu/amd/iommu.c