Skip to content

Commit 02c1321

Browse files
dpbelangeralexdeucher
authored andcommitted
drm/amdkfd: Add cache line size info
Populate cache line size info in topology based on information from IP discovery table. Signed-off-by: David Belanger <[email protected]> Reviewed-by: Sreekant Somasekharan <[email protected]> Signed-off-by: Alex Deucher <[email protected]> (cherry picked from commit 4e9fada)
1 parent 141bb6b commit 02c1321

File tree

1 file changed

+7
-1
lines changed

1 file changed

+7
-1
lines changed

drivers/gpu/drm/amd/amdkfd/kfd_crat.c

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1434,7 +1434,8 @@ static int kfd_fill_gpu_cache_info_from_gfx_config(struct kfd_dev *kdev,
14341434
pcache_info[i].flags = (CRAT_CACHE_FLAGS_ENABLED |
14351435
CRAT_CACHE_FLAGS_DATA_CACHE |
14361436
CRAT_CACHE_FLAGS_SIMD_CACHE);
1437-
pcache_info[0].num_cu_shared = adev->gfx.config.gc_num_tcp_per_wpg / 2;
1437+
pcache_info[i].num_cu_shared = adev->gfx.config.gc_num_tcp_per_wpg / 2;
1438+
pcache_info[i].cache_line_size = adev->gfx.config.gc_tcp_cache_line_size;
14381439
i++;
14391440
}
14401441
/* Scalar L1 Instruction Cache per SQC */
@@ -1446,6 +1447,7 @@ static int kfd_fill_gpu_cache_info_from_gfx_config(struct kfd_dev *kdev,
14461447
CRAT_CACHE_FLAGS_INST_CACHE |
14471448
CRAT_CACHE_FLAGS_SIMD_CACHE);
14481449
pcache_info[i].num_cu_shared = adev->gfx.config.gc_num_sqc_per_wgp * 2;
1450+
pcache_info[i].cache_line_size = adev->gfx.config.gc_instruction_cache_line_size;
14491451
i++;
14501452
}
14511453
/* Scalar L1 Data Cache per SQC */
@@ -1456,6 +1458,7 @@ static int kfd_fill_gpu_cache_info_from_gfx_config(struct kfd_dev *kdev,
14561458
CRAT_CACHE_FLAGS_DATA_CACHE |
14571459
CRAT_CACHE_FLAGS_SIMD_CACHE);
14581460
pcache_info[i].num_cu_shared = adev->gfx.config.gc_num_sqc_per_wgp * 2;
1461+
pcache_info[i].cache_line_size = adev->gfx.config.gc_scalar_data_cache_line_size;
14591462
i++;
14601463
}
14611464
/* GL1 Data Cache per SA */
@@ -1468,6 +1471,7 @@ static int kfd_fill_gpu_cache_info_from_gfx_config(struct kfd_dev *kdev,
14681471
CRAT_CACHE_FLAGS_DATA_CACHE |
14691472
CRAT_CACHE_FLAGS_SIMD_CACHE);
14701473
pcache_info[i].num_cu_shared = adev->gfx.config.max_cu_per_sh;
1474+
pcache_info[i].cache_line_size = 0;
14711475
i++;
14721476
}
14731477
/* L2 Data Cache per GPU (Total Tex Cache) */
@@ -1478,6 +1482,7 @@ static int kfd_fill_gpu_cache_info_from_gfx_config(struct kfd_dev *kdev,
14781482
CRAT_CACHE_FLAGS_DATA_CACHE |
14791483
CRAT_CACHE_FLAGS_SIMD_CACHE);
14801484
pcache_info[i].num_cu_shared = adev->gfx.config.max_cu_per_sh;
1485+
pcache_info[i].cache_line_size = adev->gfx.config.gc_tcc_cache_line_size;
14811486
i++;
14821487
}
14831488
/* L3 Data Cache per GPU */
@@ -1488,6 +1493,7 @@ static int kfd_fill_gpu_cache_info_from_gfx_config(struct kfd_dev *kdev,
14881493
CRAT_CACHE_FLAGS_DATA_CACHE |
14891494
CRAT_CACHE_FLAGS_SIMD_CACHE);
14901495
pcache_info[i].num_cu_shared = adev->gfx.config.max_cu_per_sh;
1496+
pcache_info[i].cache_line_size = 0;
14911497
i++;
14921498
}
14931499
return i;

0 commit comments

Comments
 (0)