drm/amdgpu: Add num_banks and num_ranks to gfx config structure
authorYong Zhao <Yong.Zhao@amd.com>
Wed, 26 Feb 2020 17:47:26 +0000 (12:47 -0500)
committerAlex Deucher <alexander.deucher@amd.com>
Fri, 28 Feb 2020 21:59:20 +0000 (16:59 -0500)
The two members will be used by KFD later.

Signed-off-by: Yong Zhao <Yong.Zhao@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.h
drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c
drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c

index ca17ffb..37ba05b 100644 (file)
@@ -151,6 +151,8 @@ struct amdgpu_gfx_config {
        unsigned num_gpus;
        unsigned multi_gpu_tile_size;
        unsigned mc_arb_ramcfg;
+       unsigned num_banks;
+       unsigned num_ranks;
        unsigned gb_addr_config;
        unsigned num_rbs;
        unsigned gs_vgt_table_depth;
index 8f20a5d..172905d 100644 (file)
@@ -4338,6 +4338,11 @@ static void gfx_v7_0_gpu_early_init(struct amdgpu_device *adev)
        adev->gfx.config.mc_arb_ramcfg = RREG32(mmMC_ARB_RAMCFG);
        mc_arb_ramcfg = adev->gfx.config.mc_arb_ramcfg;
 
+       adev->gfx.config.num_banks = REG_GET_FIELD(mc_arb_ramcfg,
+                               MC_ARB_RAMCFG, NOOFBANK);
+       adev->gfx.config.num_ranks = REG_GET_FIELD(mc_arb_ramcfg,
+                               MC_ARB_RAMCFG, NOOFRANKS);
+
        adev->gfx.config.num_tile_pipes = adev->gfx.config.max_tile_pipes;
        adev->gfx.config.mem_max_burst_length_bytes = 256;
        if (adev->flags & AMD_IS_APU) {
index fa24597..e63f98b 100644 (file)
@@ -1820,6 +1820,11 @@ static int gfx_v8_0_gpu_early_init(struct amdgpu_device *adev)
        adev->gfx.config.mc_arb_ramcfg = RREG32(mmMC_ARB_RAMCFG);
        mc_arb_ramcfg = adev->gfx.config.mc_arb_ramcfg;
 
+       adev->gfx.config.num_banks = REG_GET_FIELD(mc_arb_ramcfg,
+                               MC_ARB_RAMCFG, NOOFBANK);
+       adev->gfx.config.num_ranks = REG_GET_FIELD(mc_arb_ramcfg,
+                               MC_ARB_RAMCFG, NOOFRANKS);
+
        adev->gfx.config.num_tile_pipes = adev->gfx.config.max_tile_pipes;
        adev->gfx.config.mem_max_burst_length_bytes = 256;
        if (adev->flags & AMD_IS_APU) {