iommu/msm: announce supported page sizes
Let the IOMMU core know we support 4KiB, 64KiB, 1MiB and 16MiB page sizes. This way the IOMMU core can split any arbitrary-sized physically contiguous regions (that it needs to map) as needed. Signed-off-by: Ohad Ben-Cohen <ohad@wizery.com> Acked-by: David Brown <davidb@codeaurora.org> Cc: Stepan Moskovchenko <stepanm@codeaurora.org> Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
This commit is contained in:
parent
66bc8cf3b1
commit
8342727554
|
@ -42,6 +42,9 @@ __asm__ __volatile__ ( \
|
||||||
#define RCP15_PRRR(reg) MRC(reg, p15, 0, c10, c2, 0)
|
#define RCP15_PRRR(reg) MRC(reg, p15, 0, c10, c2, 0)
|
||||||
#define RCP15_NMRR(reg) MRC(reg, p15, 0, c10, c2, 1)
|
#define RCP15_NMRR(reg) MRC(reg, p15, 0, c10, c2, 1)
|
||||||
|
|
||||||
|
/* bitmap of the page sizes currently supported */
|
||||||
|
#define MSM_IOMMU_PGSIZES (SZ_4K | SZ_64K | SZ_1M | SZ_16M)
|
||||||
|
|
||||||
static int msm_iommu_tex_class[4];
|
static int msm_iommu_tex_class[4];
|
||||||
|
|
||||||
DEFINE_SPINLOCK(msm_iommu_lock);
|
DEFINE_SPINLOCK(msm_iommu_lock);
|
||||||
|
@ -679,7 +682,8 @@ static struct iommu_ops msm_iommu_ops = {
|
||||||
.map = msm_iommu_map,
|
.map = msm_iommu_map,
|
||||||
.unmap = msm_iommu_unmap,
|
.unmap = msm_iommu_unmap,
|
||||||
.iova_to_phys = msm_iommu_iova_to_phys,
|
.iova_to_phys = msm_iommu_iova_to_phys,
|
||||||
.domain_has_cap = msm_iommu_domain_has_cap
|
.domain_has_cap = msm_iommu_domain_has_cap,
|
||||||
|
.pgsize_bitmap = MSM_IOMMU_PGSIZES,
|
||||||
};
|
};
|
||||||
|
|
||||||
static int __init get_tex_class(int icp, int ocp, int mt, int nos)
|
static int __init get_tex_class(int icp, int ocp, int mt, int nos)
|
||||||
|
|
Loading…
Reference in New Issue