lkml.org 
[lkml]   [2020]   [Dec]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v5 13/27] iommu/mediatek: Add a flag for iova_34 bit case
    Date
    Add a HW flag for if the HW support 34bit IOVA. the previous SoC
    still use 32bit. normally the lvl1 pgtable size is 16KB when ias == 32.
    if ias == 34, lvl1 pgtable size is 16KB * 4. The purpose of this patch
    is to save 16KB*3 continuous memory for the previous SoC.

    Signed-off-by: Yong Wu <yong.wu@mediatek.com>
    ---
    drivers/iommu/mtk_iommu.c | 3 ++-
    1 file changed, 2 insertions(+), 1 deletion(-)

    diff --git a/drivers/iommu/mtk_iommu.c b/drivers/iommu/mtk_iommu.c
    index ec3c87d4b172..1bc5e881951c 100644
    --- a/drivers/iommu/mtk_iommu.c
    +++ b/drivers/iommu/mtk_iommu.c
    @@ -112,6 +112,7 @@
    #define HAS_SUB_COMM BIT(5)
    #define WR_THROT_EN BIT(6)
    #define HAS_LEGACY_IVRP_PADDR BIT(7)
    +#define IOVA_34_EN BIT(8)

    #define MTK_IOMMU_HAS_FLAG(pdata, _x) \
    ((((pdata)->flags) & (_x)) == (_x))
    @@ -319,7 +320,7 @@ static int mtk_iommu_domain_finalise(struct mtk_iommu_domain *dom)
    IO_PGTABLE_QUIRK_TLBI_ON_MAP |
    IO_PGTABLE_QUIRK_ARM_MTK_EXT,
    .pgsize_bitmap = mtk_iommu_ops.pgsize_bitmap,
    - .ias = 32,
    + .ias = MTK_IOMMU_HAS_FLAG(data->plat_data, IOVA_34_EN) ? 34 : 32,
    .oas = 35,
    .tlb = &mtk_iommu_flush_ops,
    .iommu_dev = data->dev,
    --
    2.18.0
    \
     
     \ /
      Last update: 2020-12-09 09:11    [W:4.153 / U:0.164 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site