OSDN Git Service

iommu/arm-smmu: Implement .get_pgsize_bitmap for domain
authorMitchel Humpherys <mitchelh@codeaurora.org>
Tue, 22 Mar 2016 17:57:24 +0000 (10:57 -0700)
committerJeevan Shriram <jshriram@codeaurora.org>
Sat, 21 May 2016 02:23:51 +0000 (19:23 -0700)
commit680e07481cf7e87ddd2ff4835d05e018e61b189e
tree80eaca7ce0ed8b3b28ec56d6766240a2e5299608
parenta3250a9555f1adf9367d2c82329671b2ef35311a
iommu/arm-smmu: Implement .get_pgsize_bitmap for domain

Currently we restrict the pgsize_bitmap for the entire SMMU every time
we allocate some new page tables.  However, certain io-pgtable
implementations might wish to restrict the formats beyond the
restrictions of the SMMU itself, which forces all domains on that SMMU
to the same pgsize_bitmap, even if the other domains would prefer to use
a more permissive page table format.  Besides that, some SMMUs in the
system might have different supported page sizes at the hardware level,
so applying those to everyone else is wrong.

Fix these issues by implementing the new .get_pgsize_bitmap IOMMU op.

CRs-Fixed: 997751
Change-Id: I9a73a31ee63a054cc44c50a21f7a616efd4af964
Signed-off-by: Mitchel Humpherys <mitchelh@codeaurora.org>
drivers/iommu/arm-smmu.c