iommu/amd: Set the pgsize_bitmap correctly
authorJason Gunthorpe <jgg@nvidia.com>
Fri, 30 Aug 2024 00:06:12 +0000 (21:06 -0300)
committerJoerg Roedel <jroedel@suse.de>
Wed, 4 Sep 2024 09:37:42 +0000 (11:37 +0200)
commit7a41dcb52f9de6079621fc31c3b84c7fc290934b
tree221eab9b13186a570d4425f7ef8581a683b55304
parentb0a6c883bcd42eeb0850135e529b34b64d57673c
iommu/amd: Set the pgsize_bitmap correctly

When using io_pgtable the correct pgsize_bitmap is stored in the cfg, both
v1_alloc_pgtable() and v2_alloc_pgtable() set it correctly.

This fixes a bug where the v2 pgtable had the wrong pgsize as
protection_domain_init_v2() would set it and then do_iommu_domain_alloc()
immediately resets it.

Remove the confusing ops.pgsize_bitmap since that is not used if the
driver sets domain.pgsize_bitmap.

Fixes: 134288158a41 ("iommu/amd: Add domain_alloc_user based domain allocation")
Reviewed-by: Vasant Hegde <vasant.hegde@amd.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
Link: https://lore.kernel.org/r/3-v2-831cdc4d00f3+1a315-amd_iopgtbl_jgg@nvidia.com
Signed-off-by: Joerg Roedel <jroedel@suse.de>
drivers/iommu/amd/iommu.c