mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-08-05 16:54:27 +00:00
drm/amdgpu: adjust register address calculation
the UMC_STATUS register is not linear, adjust offset calculation formula to get correct address Signed-off-by: Stanley.Yang <Stanley.Yang@amd.com> Reviewed-by: Tao Zhou <tao.zhou1@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
f3986e86b2
commit
1915a43395
1 changed files with 7 additions and 0 deletions
|
@ -47,6 +47,13 @@ static inline uint32_t get_umc_v6_7_reg_offset(struct amdgpu_device *adev,
|
|||
uint32_t umc_inst,
|
||||
uint32_t ch_inst)
|
||||
{
|
||||
uint32_t index = umc_inst * adev->umc.channel_inst_num + ch_inst;
|
||||
|
||||
/* adjust umc and channel index offset,
|
||||
* the register address is not linear on each umc instace */
|
||||
umc_inst = index / 4;
|
||||
ch_inst = index % 4;
|
||||
|
||||
return adev->umc.channel_offs * ch_inst + UMC_V6_7_INST_DIST * umc_inst;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue