[PATCH v6 15/34] iommu/mediatek: Add IOMMU_TYPE flag
Matthias Brugger
matthias.bgg at gmail.com
Thu Apr 28 07:17:58 PDT 2022
On 07/04/2022 09:57, Yong Wu wrote:
> Add IOMMU_TYPE definition. In the mt8195, we have another IOMMU_TYPE:
> infra iommu, also there will be another APU_IOMMU, thus, use 2bits for the
> IOMMU_TYPE.
>
> Signed-off-by: Yong Wu <yong.wu at mediatek.com>
> Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno at collabora.com>
> ---
> drivers/iommu/mtk_iommu.c | 12 ++++++++++--
> 1 file changed, 10 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/iommu/mtk_iommu.c b/drivers/iommu/mtk_iommu.c
> index 84d661e0b371..642949aad47e 100644
> --- a/drivers/iommu/mtk_iommu.c
> +++ b/drivers/iommu/mtk_iommu.c
> @@ -126,9 +126,17 @@
> #define SHARE_PGTABLE BIT(10) /* 2 HW share pgtable */
> #define DCM_DISABLE BIT(11)
> #define NOT_STD_AXI_MODE BIT(12)
> +/* 2 bits: iommu type */
> +#define MTK_IOMMU_TYPE_MM (0x0 << 13)
> +#define MTK_IOMMU_TYPE_INFRA (0x1 << 13)
> +#define MTK_IOMMU_TYPE_MASK (0x3 << 13)
>
> -#define MTK_IOMMU_HAS_FLAG(pdata, _x) \
> - ((((pdata)->flags) & (_x)) == (_x))
> +#define MTK_IOMMU_HAS_FLAG(pdata, _x) (!!(((pdata)->flags) & (_x)))
That could be:
MTK_IOMMU_HAS_FLAG(pdata, _x) \
MTK_IOMMU_HAS_FLAG_MASK(pdata, _x, _x)
> +
> +#define MTK_IOMMU_HAS_FLAG_MASK(pdata, _x, mask) \
> + ((((pdata)->flags) & (mask)) == (_x))
> +#define MTK_IOMMU_IS_TYPE(pdata, _x) MTK_IOMMU_HAS_FLAG_MASK(pdata, _x,\
> + MTK_IOMMU_TYPE_MASK)
>
> struct mtk_iommu_domain {
> struct io_pgtable_cfg cfg;
More information about the Linux-mediatek
mailing list