mirror of https://gitee.com/openkylin/linux.git
drm/amdgpu: Program SH_STATIC_MEM_CONFIG globally, not per-VMID
This register only has a single instance in the hardware. Its value applies to all VMIDS. Signed-off-by: Felix Kuehling <Felix.Kuehling@amd.com> Signed-off-by: Oded Gabbay <oded.gabbay@gmail.com>
This commit is contained in:
parent
70539bd795
commit
111159b58d
|
@ -1921,6 +1921,7 @@ static void gfx_v7_0_gpu_init(struct amdgpu_device *adev)
|
||||||
ELEMENT_SIZE, 1);
|
ELEMENT_SIZE, 1);
|
||||||
sh_static_mem_cfg = REG_SET_FIELD(sh_static_mem_cfg, SH_STATIC_MEM_CONFIG,
|
sh_static_mem_cfg = REG_SET_FIELD(sh_static_mem_cfg, SH_STATIC_MEM_CONFIG,
|
||||||
INDEX_STRIDE, 3);
|
INDEX_STRIDE, 3);
|
||||||
|
WREG32(mmSH_STATIC_MEM_CONFIG, sh_static_mem_cfg);
|
||||||
|
|
||||||
mutex_lock(&adev->srbm_mutex);
|
mutex_lock(&adev->srbm_mutex);
|
||||||
for (i = 0; i < adev->vm_manager.id_mgr[0].num_ids; i++) {
|
for (i = 0; i < adev->vm_manager.id_mgr[0].num_ids; i++) {
|
||||||
|
@ -1934,7 +1935,6 @@ static void gfx_v7_0_gpu_init(struct amdgpu_device *adev)
|
||||||
WREG32(mmSH_MEM_APE1_BASE, 1);
|
WREG32(mmSH_MEM_APE1_BASE, 1);
|
||||||
WREG32(mmSH_MEM_APE1_LIMIT, 0);
|
WREG32(mmSH_MEM_APE1_LIMIT, 0);
|
||||||
WREG32(mmSH_MEM_BASES, sh_mem_base);
|
WREG32(mmSH_MEM_BASES, sh_mem_base);
|
||||||
WREG32(mmSH_STATIC_MEM_CONFIG, sh_static_mem_cfg);
|
|
||||||
}
|
}
|
||||||
cik_srbm_select(adev, 0, 0, 0, 0);
|
cik_srbm_select(adev, 0, 0, 0, 0);
|
||||||
mutex_unlock(&adev->srbm_mutex);
|
mutex_unlock(&adev->srbm_mutex);
|
||||||
|
|
|
@ -3707,6 +3707,8 @@ static void gfx_v8_0_gpu_init(struct amdgpu_device *adev)
|
||||||
ELEMENT_SIZE, 1);
|
ELEMENT_SIZE, 1);
|
||||||
sh_static_mem_cfg = REG_SET_FIELD(sh_static_mem_cfg, SH_STATIC_MEM_CONFIG,
|
sh_static_mem_cfg = REG_SET_FIELD(sh_static_mem_cfg, SH_STATIC_MEM_CONFIG,
|
||||||
INDEX_STRIDE, 3);
|
INDEX_STRIDE, 3);
|
||||||
|
WREG32(mmSH_STATIC_MEM_CONFIG, sh_static_mem_cfg);
|
||||||
|
|
||||||
mutex_lock(&adev->srbm_mutex);
|
mutex_lock(&adev->srbm_mutex);
|
||||||
for (i = 0; i < adev->vm_manager.id_mgr[0].num_ids; i++) {
|
for (i = 0; i < adev->vm_manager.id_mgr[0].num_ids; i++) {
|
||||||
vi_srbm_select(adev, 0, 0, 0, i);
|
vi_srbm_select(adev, 0, 0, 0, i);
|
||||||
|
@ -3730,7 +3732,6 @@ static void gfx_v8_0_gpu_init(struct amdgpu_device *adev)
|
||||||
|
|
||||||
WREG32(mmSH_MEM_APE1_BASE, 1);
|
WREG32(mmSH_MEM_APE1_BASE, 1);
|
||||||
WREG32(mmSH_MEM_APE1_LIMIT, 0);
|
WREG32(mmSH_MEM_APE1_LIMIT, 0);
|
||||||
WREG32(mmSH_STATIC_MEM_CONFIG, sh_static_mem_cfg);
|
|
||||||
}
|
}
|
||||||
vi_srbm_select(adev, 0, 0, 0, 0);
|
vi_srbm_select(adev, 0, 0, 0, 0);
|
||||||
mutex_unlock(&adev->srbm_mutex);
|
mutex_unlock(&adev->srbm_mutex);
|
||||||
|
|
Loading…
Reference in New Issue