lkml.org 
[lkml]   [2021]   [Nov]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.15 599/917] iommu/mediatek: Fix out-of-range warning with clang
    Date
    From: Arnd Bergmann <arnd@arndb.de>

    [ Upstream commit f13efafc1a2cf30d4a74c00f40210d6de36db2d0 ]

    clang-14 notices that a comparison is never true when
    CONFIG_PHYS_ADDR_T_64BIT is disabled:

    drivers/iommu/mtk_iommu.c:553:34: error: result of comparison of constant 5368709120 with expression of type 'phys_addr_t' (aka 'unsigned int') is always false [-Werror,-Wtautological-constant-out-of-range-compare]
    if (dom->data->enable_4GB && pa >= MTK_IOMMU_4GB_MODE_REMAP_BASE)
    ~~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Add an explicit check for the type of the variable to skip the check
    and the warning in that case.

    Fixes: b4dad40e4f35 ("iommu/mediatek: Adjust the PA for the 4GB Mode")
    Signed-off-by: Arnd Bergmann <arnd@arndb.de>
    Reviewed-by: Yong Wu <yong.wu@mediatek.com>
    Link: https://lore.kernel.org/r/20210927121857.941160-1-arnd@kernel.org
    Signed-off-by: Joerg Roedel <jroedel@suse.de>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/iommu/mtk_iommu.c | 4 +++-
    1 file changed, 3 insertions(+), 1 deletion(-)

    diff --git a/drivers/iommu/mtk_iommu.c b/drivers/iommu/mtk_iommu.c
    index d837adfd1da55..25b834104790c 100644
    --- a/drivers/iommu/mtk_iommu.c
    +++ b/drivers/iommu/mtk_iommu.c
    @@ -550,7 +550,9 @@ static phys_addr_t mtk_iommu_iova_to_phys(struct iommu_domain *domain,
    phys_addr_t pa;

    pa = dom->iop->iova_to_phys(dom->iop, iova);
    - if (dom->data->enable_4GB && pa >= MTK_IOMMU_4GB_MODE_REMAP_BASE)
    + if (IS_ENABLED(CONFIG_PHYS_ADDR_T_64BIT) &&
    + dom->data->enable_4GB &&
    + pa >= MTK_IOMMU_4GB_MODE_REMAP_BASE)
    pa &= ~BIT_ULL(32);

    return pa;
    --
    2.33.0


    \
     
     \ /
      Last update: 2021-11-16 00:58    [W:4.133 / U:0.108 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site