Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

drm/amdgpu: fix invadate operation for umsch

Since the type of data_size is uint32_t, adev->umsch_mm.data_size - 1 >> 16 >> 16 is 0
regardless of the values of its operands

So removing the operations upper_32_bits and lower_32_bits.

Signed-off-by: Jesse Zhang <Jesse.Zhang@amd.com>
Suggested-by: Tim Huang <Tim.Huang@amd.com>
Reviewed-by: Tim Huang <Tim.Huang@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>

authored by

Jesse Zhang and committed by
Alex Deucher
64da71ea 030ffd4d

+2 -3
+2 -3
drivers/gpu/drm/amd/amdgpu/umsch_mm_v4_0.c
··· 116 116 upper_32_bits(adev->umsch_mm.data_start_addr)); 117 117 118 118 WREG32_SOC15_UMSCH(regVCN_MES_LOCAL_MASK0_LO, 119 - lower_32_bits(adev->umsch_mm.data_size - 1)); 120 - WREG32_SOC15_UMSCH(regVCN_MES_LOCAL_MASK0_HI, 121 - upper_32_bits(adev->umsch_mm.data_size - 1)); 119 + adev->umsch_mm.data_size - 1); 120 + WREG32_SOC15_UMSCH(regVCN_MES_LOCAL_MASK0_HI, 0); 122 121 123 122 data = adev->firmware.load_type == AMDGPU_FW_LOAD_PSP ? 124 123 0 : adev->umsch_mm.data_fw_gpu_addr;