habanalabs/gaudi: mask constant value before cast
authorOded Gabbay <ogabbay@kernel.org>
Fri, 24 Jun 2022 13:45:02 +0000 (16:45 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 25 Aug 2022 09:40:36 +0000 (11:40 +0200)
[ Upstream commit e3f49437a2e0221a387ecd192d742ae1434e1e3a ]

This fixes a sparse warning of
"cast truncates bits from constant value"

Signed-off-by: Oded Gabbay <ogabbay@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/misc/habanalabs/gaudi/gaudi.c

index 801acab..8132200 100644 (file)
@@ -3318,19 +3318,19 @@ static void gaudi_init_nic_qman(struct hl_device *hdev, u32 nic_offset,
        u32 nic_qm_err_cfg, irq_handler_offset;
        u32 q_off;
 
-       mtr_base_en_lo = lower_32_bits(CFG_BASE +
+       mtr_base_en_lo = lower_32_bits((CFG_BASE & U32_MAX) +
                        mmSYNC_MNGR_E_N_SYNC_MNGR_OBJS_MON_PAY_ADDRL_0);
        mtr_base_en_hi = upper_32_bits(CFG_BASE +
                                mmSYNC_MNGR_E_N_SYNC_MNGR_OBJS_MON_PAY_ADDRL_0);
-       so_base_en_lo = lower_32_bits(CFG_BASE +
+       so_base_en_lo = lower_32_bits((CFG_BASE & U32_MAX) +
                                mmSYNC_MNGR_E_N_SYNC_MNGR_OBJS_SOB_OBJ_0);
        so_base_en_hi = upper_32_bits(CFG_BASE +
                                mmSYNC_MNGR_E_N_SYNC_MNGR_OBJS_SOB_OBJ_0);
-       mtr_base_ws_lo = lower_32_bits(CFG_BASE +
+       mtr_base_ws_lo = lower_32_bits((CFG_BASE & U32_MAX) +
                                mmSYNC_MNGR_W_S_SYNC_MNGR_OBJS_MON_PAY_ADDRL_0);
        mtr_base_ws_hi = upper_32_bits(CFG_BASE +
                                mmSYNC_MNGR_W_S_SYNC_MNGR_OBJS_MON_PAY_ADDRL_0);
-       so_base_ws_lo = lower_32_bits(CFG_BASE +
+       so_base_ws_lo = lower_32_bits((CFG_BASE & U32_MAX) +
                                mmSYNC_MNGR_W_S_SYNC_MNGR_OBJS_SOB_OBJ_0);
        so_base_ws_hi = upper_32_bits(CFG_BASE +
                                mmSYNC_MNGR_W_S_SYNC_MNGR_OBJS_SOB_OBJ_0);