@@ -1434,7 +1434,8 @@ static int kfd_fill_gpu_cache_info_from_gfx_config(struct kfd_dev *kdev,
1434
1434
pcache_info [i ].flags = (CRAT_CACHE_FLAGS_ENABLED |
1435
1435
CRAT_CACHE_FLAGS_DATA_CACHE |
1436
1436
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 ;
1438
1439
i ++ ;
1439
1440
}
1440
1441
/* Scalar L1 Instruction Cache per SQC */
@@ -1446,6 +1447,7 @@ static int kfd_fill_gpu_cache_info_from_gfx_config(struct kfd_dev *kdev,
1446
1447
CRAT_CACHE_FLAGS_INST_CACHE |
1447
1448
CRAT_CACHE_FLAGS_SIMD_CACHE );
1448
1449
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 ;
1449
1451
i ++ ;
1450
1452
}
1451
1453
/* Scalar L1 Data Cache per SQC */
@@ -1456,6 +1458,7 @@ static int kfd_fill_gpu_cache_info_from_gfx_config(struct kfd_dev *kdev,
1456
1458
CRAT_CACHE_FLAGS_DATA_CACHE |
1457
1459
CRAT_CACHE_FLAGS_SIMD_CACHE );
1458
1460
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 ;
1459
1462
i ++ ;
1460
1463
}
1461
1464
/* GL1 Data Cache per SA */
@@ -1468,6 +1471,7 @@ static int kfd_fill_gpu_cache_info_from_gfx_config(struct kfd_dev *kdev,
1468
1471
CRAT_CACHE_FLAGS_DATA_CACHE |
1469
1472
CRAT_CACHE_FLAGS_SIMD_CACHE );
1470
1473
pcache_info [i ].num_cu_shared = adev -> gfx .config .max_cu_per_sh ;
1474
+ pcache_info [i ].cache_line_size = 0 ;
1471
1475
i ++ ;
1472
1476
}
1473
1477
/* 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,
1478
1482
CRAT_CACHE_FLAGS_DATA_CACHE |
1479
1483
CRAT_CACHE_FLAGS_SIMD_CACHE );
1480
1484
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 ;
1481
1486
i ++ ;
1482
1487
}
1483
1488
/* L3 Data Cache per GPU */
@@ -1488,6 +1493,7 @@ static int kfd_fill_gpu_cache_info_from_gfx_config(struct kfd_dev *kdev,
1488
1493
CRAT_CACHE_FLAGS_DATA_CACHE |
1489
1494
CRAT_CACHE_FLAGS_SIMD_CACHE );
1490
1495
pcache_info [i ].num_cu_shared = adev -> gfx .config .max_cu_per_sh ;
1496
+ pcache_info [i ].cache_line_size = 0 ;
1491
1497
i ++ ;
1492
1498
}
1493
1499
return i ;
0 commit comments