drm/amdgpu: Program SH_STATIC_MEM_CONFIG globally, not per-VMID
authorFelix Kuehling <Felix.Kuehling@amd.com>
Wed, 16 Aug 2017 03:00:18 +0000 (23:00 -0400)
committerOded Gabbay <oded.gabbay@gmail.com>
Wed, 16 Aug 2017 03:00:18 +0000 (23:00 -0400)
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>
drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c
drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c

index 53a4af7596c1415321475719f3e759da58fc7446..00868764a0dd2cfedbc0317a3f1b7e6216d88424 100644 (file)
@@ -1921,6 +1921,7 @@ static void gfx_v7_0_gpu_init(struct amdgpu_device *adev)
                                   ELEMENT_SIZE, 1);
        sh_static_mem_cfg = REG_SET_FIELD(sh_static_mem_cfg, SH_STATIC_MEM_CONFIG,
                                   INDEX_STRIDE, 3);
+       WREG32(mmSH_STATIC_MEM_CONFIG, sh_static_mem_cfg);
 
        mutex_lock(&adev->srbm_mutex);
        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_LIMIT, 0);
                WREG32(mmSH_MEM_BASES, sh_mem_base);
-               WREG32(mmSH_STATIC_MEM_CONFIG, sh_static_mem_cfg);
        }
        cik_srbm_select(adev, 0, 0, 0, 0);
        mutex_unlock(&adev->srbm_mutex);
index 0710b0b2e4b64523c654e0715882328c7e423433..832e592fcd0725b0f32406aec57d2fc466fe1179 100644 (file)
@@ -3707,6 +3707,8 @@ static void gfx_v8_0_gpu_init(struct amdgpu_device *adev)
                                   ELEMENT_SIZE, 1);
        sh_static_mem_cfg = REG_SET_FIELD(sh_static_mem_cfg, SH_STATIC_MEM_CONFIG,
                                   INDEX_STRIDE, 3);
+       WREG32(mmSH_STATIC_MEM_CONFIG, sh_static_mem_cfg);
+
        mutex_lock(&adev->srbm_mutex);
        for (i = 0; i < adev->vm_manager.id_mgr[0].num_ids; 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_LIMIT, 0);
-               WREG32(mmSH_STATIC_MEM_CONFIG, sh_static_mem_cfg);
        }
        vi_srbm_select(adev, 0, 0, 0, 0);
        mutex_unlock(&adev->srbm_mutex);