Module: Mesa
Branch: main
Commit: 5e734a7cbfd34866e3861431c606e784bc0dd550
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=5e734a7cbfd34866e3861431c606e784bc0dd550

Author: Friedrich Vock <[email protected]>
Date:   Sun Oct 22 20:21:19 2023 +0200

radv/rra: Recognize LPDDR memory

Also move away from using unnamed constants for memory types.

Fixes: aef7ea868fe ("ac/gpu_info: handle LPDDR4 and 5 in 
ac_memory_ops_per_clock")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25845>

---

 src/amd/vulkan/radv_rra.c | 42 ++++++++++++++++++++++++++++++++----------
 1 file changed, 32 insertions(+), 10 deletions(-)

diff --git a/src/amd/vulkan/radv_rra.c b/src/amd/vulkan/radv_rra.c
index 670a4a3fdf7..225d70dc14c 100644
--- a/src/amd/vulkan/radv_rra.c
+++ b/src/amd/vulkan/radv_rra.c
@@ -104,6 +104,24 @@ rra_dump_chunk_description(uint64_t offset, uint64_t 
header_size, uint64_t data_
    fwrite(&chunk, sizeof(struct rra_file_chunk_description), 1, output);
 }
 
+enum rra_memory_type {
+   RRA_MEMORY_TYPE_UNKNOWN,
+   RRA_MEMORY_TYPE_DDR,
+   RRA_MEMORY_TYPE_DDR2,
+   RRA_MEMORY_TYPE_DDR3,
+   RRA_MEMORY_TYPE_DDR4,
+   RRA_MEMORY_TYPE_DDR5,
+   RRA_MEMORY_TYPE_GDDR3,
+   RRA_MEMORY_TYPE_GDDR4,
+   RRA_MEMORY_TYPE_GDDR5,
+   RRA_MEMORY_TYPE_GDDR6,
+   RRA_MEMORY_TYPE_HBM,
+   RRA_MEMORY_TYPE_HBM2,
+   RRA_MEMORY_TYPE_HBM3,
+   RRA_MEMORY_TYPE_LPDDR4,
+   RRA_MEMORY_TYPE_LPDDR5,
+};
+
 #define RRA_FILE_DEVICE_NAME_MAX_SIZE 256
 
 struct rra_asic_info {
@@ -133,25 +151,29 @@ amdgpu_vram_type_to_rra(uint32_t type)
 {
    switch (type) {
    case AMD_VRAM_TYPE_UNKNOWN:
-      return 0;
+      return RRA_MEMORY_TYPE_UNKNOWN;
    case AMD_VRAM_TYPE_DDR2:
-      return 2;
+      return RRA_MEMORY_TYPE_DDR2;
    case AMD_VRAM_TYPE_DDR3:
-      return 3;
+      return RRA_MEMORY_TYPE_DDR3;
    case AMD_VRAM_TYPE_DDR4:
-      return 4;
+      return RRA_MEMORY_TYPE_DDR4;
    case AMD_VRAM_TYPE_DDR5:
-      return 5;
+      return RRA_MEMORY_TYPE_DDR5;
    case AMD_VRAM_TYPE_HBM:
-      return 10;
+      return RRA_MEMORY_TYPE_HBM;
    case AMD_VRAM_TYPE_GDDR3:
-      return 6;
+      return RRA_MEMORY_TYPE_GDDR3;
    case AMD_VRAM_TYPE_GDDR4:
-      return 7;
+      return RRA_MEMORY_TYPE_GDDR4;
    case AMD_VRAM_TYPE_GDDR5:
-      return 8;
+      return RRA_MEMORY_TYPE_GDDR5;
    case AMD_VRAM_TYPE_GDDR6:
-      return 9;
+      return RRA_MEMORY_TYPE_GDDR6;
+   case AMD_VRAM_TYPE_LPDDR4:
+      return RRA_MEMORY_TYPE_LPDDR4;
+   case AMD_VRAM_TYPE_LPDDR5:
+      return RRA_MEMORY_TYPE_LPDDR5;
    default:
       unreachable("invalid vram type");
    }

Reply via email to