[PATCH] drm/amdkfd: Add cache line size info

Somasekharan, Sreekant Sreekant.Somasekharan at amd.com
Tue Aug 27 18:53:02 UTC 2024


[AMD Official Use Only - AMD Internal Distribution Only]

Reviewed-by: Sreekant Somasekharan <Sreekant.Somasekharan at amd.com>

Regards,

-Sreekant


________________________________
From: amd-gfx <amd-gfx-bounces at lists.freedesktop.org> on behalf of David Belanger <david.belanger at amd.com>
Sent: Friday, August 23, 2024 7:58 PM
To: amd-gfx at lists.freedesktop.org <amd-gfx at lists.freedesktop.org>
Cc: Belanger, David <David.Belanger at amd.com>
Subject: [PATCH] drm/amdkfd: Add cache line size info

Caution: This message originated from an External Source. Use proper caution when opening attachments, clicking links, or responding.


Populate cache line size info in topology based on information from IP
discovery table.

Signed-off-by: David Belanger <david.belanger at amd.com>
---
 drivers/gpu/drm/amd/amdkfd/kfd_crat.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_crat.c b/drivers/gpu/drm/amd/amdkfd/kfd_crat.c
index cd7b81b7b939..48caecf7e72e 100644
--- a/drivers/gpu/drm/amd/amdkfd/kfd_crat.c
+++ b/drivers/gpu/drm/amd/amdkfd/kfd_crat.c
@@ -1434,7 +1434,8 @@ static int kfd_fill_gpu_cache_info_from_gfx_config(struct kfd_dev *kdev,
                pcache_info[i].flags = (CRAT_CACHE_FLAGS_ENABLED |
                                        CRAT_CACHE_FLAGS_DATA_CACHE |
                                        CRAT_CACHE_FLAGS_SIMD_CACHE);
-               pcache_info[0].num_cu_shared = adev->gfx.config.gc_num_tcp_per_wpg / 2;
+               pcache_info[i].num_cu_shared = adev->gfx.config.gc_num_tcp_per_wpg / 2;
+               pcache_info[i].cache_line_size = adev->gfx.config.gc_tcp_cache_line_size;
                i++;
        }
        /* Scalar L1 Instruction Cache per SQC */
@@ -1446,6 +1447,7 @@ static int kfd_fill_gpu_cache_info_from_gfx_config(struct kfd_dev *kdev,
                                        CRAT_CACHE_FLAGS_INST_CACHE |
                                        CRAT_CACHE_FLAGS_SIMD_CACHE);
                pcache_info[i].num_cu_shared = adev->gfx.config.gc_num_sqc_per_wgp * 2;
+               pcache_info[i].cache_line_size = adev->gfx.config.gc_instruction_cache_line_size;
                i++;
        }
        /* Scalar L1 Data Cache per SQC */
@@ -1456,6 +1458,7 @@ static int kfd_fill_gpu_cache_info_from_gfx_config(struct kfd_dev *kdev,
                                        CRAT_CACHE_FLAGS_DATA_CACHE |
                                        CRAT_CACHE_FLAGS_SIMD_CACHE);
                pcache_info[i].num_cu_shared = adev->gfx.config.gc_num_sqc_per_wgp * 2;
+               pcache_info[i].cache_line_size = adev->gfx.config.gc_scalar_data_cache_line_size;
                i++;
        }
        /* GL1 Data Cache per SA */
@@ -1468,6 +1471,7 @@ static int kfd_fill_gpu_cache_info_from_gfx_config(struct kfd_dev *kdev,
                                        CRAT_CACHE_FLAGS_DATA_CACHE |
                                        CRAT_CACHE_FLAGS_SIMD_CACHE);
                pcache_info[i].num_cu_shared = adev->gfx.config.max_cu_per_sh;
+               pcache_info[i].cache_line_size = 0;
                i++;
        }
        /* 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,
                                        CRAT_CACHE_FLAGS_DATA_CACHE |
                                        CRAT_CACHE_FLAGS_SIMD_CACHE);
                pcache_info[i].num_cu_shared = adev->gfx.config.max_cu_per_sh;
+               pcache_info[i].cache_line_size = adev->gfx.config.gc_tcc_cache_line_size;
                i++;
        }
        /* L3 Data Cache per GPU */
@@ -1488,6 +1493,7 @@ static int kfd_fill_gpu_cache_info_from_gfx_config(struct kfd_dev *kdev,
                                        CRAT_CACHE_FLAGS_DATA_CACHE |
                                        CRAT_CACHE_FLAGS_SIMD_CACHE);
                pcache_info[i].num_cu_shared = adev->gfx.config.max_cu_per_sh;
+               pcache_info[i].cache_line_size = 0;
                i++;
        }
        return i;
--
2.41.0

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/amd-gfx/attachments/20240827/8a8614df/attachment.htm>


More information about the amd-gfx mailing list