[PATCH 20/24] drm/amdgpu: Program SH_STATIC_MEM_CONFIG globally, not per-VMID

Oded Gabbay oded.gabbay at gmail.com
Wed Aug 16 09:43:57 UTC 2017


On Wed, Aug 16, 2017 at 6:00 AM, Felix Kuehling <Felix.Kuehling at amd.com> wrote:
> This register only has a single instance in the hardware. Its value
> applies to all VMIDS.
>
> Signed-off-by: Felix Kuehling <Felix.Kuehling at amd.com>
> ---
>  drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c | 2 +-
>  drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c | 3 ++-
>  2 files changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c
> index 53a4af7..0086876 100644
> --- a/drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c
> +++ b/drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c
> @@ -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);
> diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c
> index 0710b0b..832e592 100644
> --- a/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c
> +++ b/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c
> @@ -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);
> --
> 2.7.4
>

This patch is:
Acked-by: Oded Gabbay <oded.gabbay at gmail.com>


More information about the amd-gfx mailing list