| /* |
| * Copyright 2023 Google LLC |
| * SPDX-License-Identifier: MIT |
| */ |
| |
| #include "amdgpu_devices.h" |
| #include "util/macros.h" |
| |
| const struct amdgpu_device amdgpu_devices[] = { |
| { |
| .name = "renoir", |
| .radeon_family = CHIP_RENOIR, |
| .hw_ip_gfx = { |
| .hw_ip_version_major = 9, |
| .ib_start_alignment = 32, |
| .ib_size_alignment = 32, |
| .available_rings = 0x1, |
| .ip_discovery_version = 0x90300, |
| }, |
| .hw_ip_compute = { |
| .hw_ip_version_major = 9, |
| .ib_start_alignment = 32, |
| .ib_size_alignment = 32, |
| .available_rings = 0xf, |
| .ip_discovery_version = 0x90300, |
| }, |
| .fw_gfx_me = { |
| .ver = 166, |
| .feature = 53, |
| }, |
| .fw_gfx_pfp = { |
| .ver = 194, |
| .feature = 53, |
| }, |
| .fw_gfx_mec = { |
| .ver = 464, |
| .feature = 53, |
| }, |
| .mmr_regs = { |
| 0x263e, 0xffffffff, 0x26010042, |
| }, |
| .mmr_reg_count = 1, |
| .dev = { |
| .device_id = 0x15e7, |
| .external_rev = 0xa1, |
| .pci_rev = 0xe9, |
| .family = AMDGPU_FAMILY_RV, |
| .num_shader_engines = 1, |
| .num_shader_arrays_per_engine = 1, |
| .gpu_counter_freq = 100000, |
| .max_engine_clock = 1800000, |
| .max_memory_clock = 1333000, |
| .cu_active_number = 7, |
| .cu_ao_mask = 0xfe, |
| .cu_bitmap[0][0] = 0xfe, |
| .enabled_rb_pipes_mask = 0x3, |
| .num_rb_pipes = 2, |
| .num_hw_gfx_contexts = 8, |
| .ids_flags = 0x5, |
| .virtual_address_offset = 0x200000, |
| .virtual_address_max = UINT64_C(0x800000000000), |
| .virtual_address_alignment = 4096, |
| .pte_fragment_size = 2097152, |
| .gart_page_size = 4096, |
| .ce_ram_size = 32768, |
| .vram_type = 11, |
| .vram_bit_width = 128, |
| .gc_double_offchip_lds_buf = 1, |
| .wave_front_size = 64, |
| .num_shader_visible_vgprs = 256, |
| .num_cu_per_sh = 8, |
| .num_tcc_blocks = 4, |
| .gs_vgt_table_depth = 32, |
| .gs_prim_buffer_depth = 1792, |
| .max_gs_waves_per_vgt = 32, |
| .cu_ao_bitmap[0][0] = 0xfe, |
| .high_va_offset = UINT64_C(0xffff800000000000), |
| .high_va_max = UINT64_C(0xffffffffffe00000), |
| }, |
| .mem = { |
| .vram = { |
| .total_heap_size = UINT64_C(64) << 20, |
| }, |
| .cpu_accessible_vram = { |
| .total_heap_size = UINT64_C(64) << 20, |
| }, |
| .gtt = { |
| .total_heap_size = UINT64_C(4096) << 20, |
| }, |
| }, |
| }, |
| { |
| .name = "raven", |
| .radeon_family = CHIP_RAVEN, |
| .hw_ip_gfx = { |
| .hw_ip_version_major = 9, |
| .ib_start_alignment = 32, |
| .ib_size_alignment = 32, |
| .available_rings = 0x1, |
| }, |
| .hw_ip_compute = { |
| .hw_ip_version_major = 9, |
| .ib_start_alignment = 32, |
| .ib_size_alignment = 32, |
| .available_rings = 0xf, |
| }, |
| .fw_gfx_me = { |
| .ver = 162, |
| .feature = 47, |
| }, |
| .fw_gfx_pfp = { |
| .ver = 185, |
| .feature = 47, |
| }, |
| .fw_gfx_mec = { |
| .ver = 427, |
| .feature = 47, |
| }, |
| .mmr_regs = { |
| 0x263e, 0xffffffff, 0x24000042, |
| }, |
| .mmr_reg_count = 1, |
| .dev = { |
| .device_id = 0x15d8, |
| .chip_rev = 0x01, |
| .external_rev = 0x42, |
| .pci_rev = 0xc1, |
| .family = AMDGPU_FAMILY_RV, |
| .num_shader_engines = 1, |
| .num_shader_arrays_per_engine = 1, |
| .gpu_counter_freq = 25000, |
| .max_engine_clock = 1400000, |
| .max_memory_clock = 1200000, |
| .cu_active_number = 10, |
| .cu_ao_mask = 0x3ff, |
| .cu_bitmap[0][0] = 0x3ff, |
| .enabled_rb_pipes_mask = 0x3, |
| .num_rb_pipes = 2, |
| .num_hw_gfx_contexts = 8, |
| .ids_flags = 0x1, |
| .virtual_address_offset = 0x200000, |
| .virtual_address_max = UINT64_C(0x800000000000), |
| .virtual_address_alignment = 4096, |
| .pte_fragment_size = 2097152, |
| .gart_page_size = 4096, |
| .ce_ram_size = 32768, |
| .vram_type = 8, |
| .vram_bit_width = 128, |
| .gc_double_offchip_lds_buf = 1, |
| .wave_front_size = 64, |
| .num_shader_visible_vgprs = 256, |
| .num_cu_per_sh = 11, |
| .num_tcc_blocks = 4, |
| .gs_vgt_table_depth = 32, |
| .gs_prim_buffer_depth = 1792, |
| .max_gs_waves_per_vgt = 32, |
| .cu_ao_bitmap[0][0] = 0x3ff, |
| .high_va_offset = UINT64_C(0xffff800000000000), |
| .high_va_max = UINT64_C(0xffffffffffe00000), |
| }, |
| .mem = { |
| .vram = { |
| .total_heap_size = UINT64_C(64) << 20, |
| }, |
| .cpu_accessible_vram = { |
| .total_heap_size = UINT64_C(64) << 20, |
| }, |
| .gtt = { |
| .total_heap_size = UINT64_C(3072) << 20, |
| }, |
| }, |
| }, |
| { |
| .name = "raven2", |
| .radeon_family = CHIP_RAVEN2, |
| .hw_ip_gfx = { |
| .hw_ip_version_major = 9, |
| .hw_ip_version_minor = 0, |
| .capabilities_flags = UINT64_C(0), |
| .ib_start_alignment = 32, |
| .ib_size_alignment = 32, |
| .available_rings = 0x1, |
| .ip_discovery_version = 0x0000, |
| }, |
| .hw_ip_compute = { |
| .hw_ip_version_major = 9, |
| .hw_ip_version_minor = 0, |
| .capabilities_flags = UINT64_C(0), |
| .ib_start_alignment = 32, |
| .ib_size_alignment = 32, |
| .available_rings = 0xf, |
| .ip_discovery_version = 0x0000, |
| }, |
| .fw_gfx_me = { |
| .ver = 166, |
| .feature = 53, |
| }, |
| .fw_gfx_pfp = { |
| .ver = 194, |
| .feature = 53, |
| }, |
| .fw_gfx_mec = { |
| .ver = 464, |
| .feature = 53, |
| }, |
| .mmr_regs = { |
| 0x263e, 0xffffffff, 0x26013041, |
| }, |
| .mmr_reg_count = 1, |
| .dev = { |
| .device_id = 0x15d8, |
| .chip_rev = 0x09, |
| .external_rev = 0x82, |
| .pci_rev = 0xea, |
| .family = AMDGPU_FAMILY_RV, |
| .num_shader_engines = 1, |
| .num_shader_arrays_per_engine = 1, |
| .gpu_counter_freq = 100000, |
| .max_engine_clock = UINT64_C(600000), |
| .max_memory_clock = UINT64_C(800000), |
| .cu_active_number = 3, |
| .cu_ao_mask = 0x7, |
| .cu_bitmap = { |
| { 0x7, 0x0, 0x0, 0x0, }, |
| { 0x0, 0x0, 0x0, 0x0, }, |
| { 0x0, 0x0, 0x0, 0x0, }, |
| { 0x0, 0x0, 0x0, 0x0, }, |
| }, |
| .enabled_rb_pipes_mask = 0x1, |
| .num_rb_pipes = 1, |
| .num_hw_gfx_contexts = 8, |
| .pcie_gen = 0, |
| .ids_flags = UINT64_C(0x1), |
| .virtual_address_offset = UINT64_C(0x200000), |
| .virtual_address_max = UINT64_C(0x800000000000), |
| .virtual_address_alignment = 4096, |
| .pte_fragment_size = 2097152, |
| .gart_page_size = 4096, |
| .ce_ram_size = 32768, |
| .vram_type = 8, |
| .vram_bit_width = 64, |
| .vce_harvest_config = 0, |
| .gc_double_offchip_lds_buf = 1, |
| .prim_buf_gpu_addr = UINT64_C(0), |
| .pos_buf_gpu_addr = UINT64_C(0), |
| .cntl_sb_buf_gpu_addr = UINT64_C(0), |
| .param_buf_gpu_addr = UINT64_C(0), |
| .prim_buf_size = 0, |
| .pos_buf_size = 0, |
| .cntl_sb_buf_size = 0, |
| .param_buf_size = 0, |
| .wave_front_size = 64, |
| .num_shader_visible_vgprs = 256, |
| .num_cu_per_sh = 3, |
| .num_tcc_blocks = 2, |
| .gs_vgt_table_depth = 32, |
| .gs_prim_buffer_depth = 1792, |
| .max_gs_waves_per_vgt = 32, |
| .pcie_num_lanes = 0, |
| .cu_ao_bitmap = { |
| { 0x7, 0x0, 0x0, 0x0, }, |
| { 0x0, 0x0, 0x0, 0x0, }, |
| { 0x0, 0x0, 0x0, 0x0, }, |
| { 0x0, 0x0, 0x0, 0x0, }, |
| }, |
| .high_va_offset = UINT64_C(0xffff800000000000), |
| .high_va_max = UINT64_C(0xffffffffffe00000), |
| .pa_sc_tile_steering_override = 0, |
| .tcc_disabled_mask = UINT64_C(0), |
| .min_engine_clock = UINT64_C(0), |
| .min_memory_clock = UINT64_C(0), |
| .tcp_cache_size = 0, |
| .num_sqc_per_wgp = 0, |
| .sqc_data_cache_size = 0, |
| .sqc_inst_cache_size = 0, |
| .gl1c_cache_size = 0, |
| .gl2c_cache_size = 0, |
| .mall_size = UINT64_C(0), |
| .enabled_rb_pipes_mask_hi = 0, |
| }, |
| .mem = { |
| .vram = { |
| .total_heap_size = UINT64_C(67108864), |
| .usable_heap_size = UINT64_C(50491392), |
| .heap_usage = UINT64_C(51437568), |
| .max_allocation = UINT64_C(37868544), |
| }, |
| .cpu_accessible_vram = { |
| .total_heap_size = UINT64_C(67108864), |
| .usable_heap_size = UINT64_C(50491392), |
| .heap_usage = UINT64_C(51437568), |
| .max_allocation = UINT64_C(37868544), |
| }, |
| .gtt = { |
| .total_heap_size = UINT64_C(3057070080), |
| .usable_heap_size = UINT64_C(3052445696), |
| .heap_usage = UINT64_C(62390272), |
| .max_allocation = UINT64_C(2289334272), |
| }, |
| }, |
| }, |
| { |
| .name = "stoney", |
| .radeon_family = CHIP_STONEY, |
| .hw_ip_gfx = { |
| .hw_ip_version_major = 8, |
| .hw_ip_version_minor = 1, |
| .ib_start_alignment = 32, |
| .ib_size_alignment = 32, |
| .available_rings = 0x1, |
| }, |
| .hw_ip_compute = { |
| .hw_ip_version_major = 8, |
| .hw_ip_version_minor = 1, |
| .ib_start_alignment = 32, |
| .ib_size_alignment = 32, |
| .available_rings = 0xf, |
| }, |
| .fw_gfx_me = { |
| .ver = 52, |
| .feature = 35, |
| }, |
| .fw_gfx_pfp = { |
| .ver = 77, |
| .feature = 35, |
| }, |
| .fw_gfx_mec = { |
| .ver = 134, |
| .feature = 35, |
| }, |
| .mmr_regs = { |
| 0x263e, 0xffffffff, 0x02010001, |
| 0x263d, 0x0000ff00, 0x00000000, |
| 0xa0d4, 0x0000ff00, 0x00000000, |
| 0xa0d5, 0x0000ff00, 0x00000000, |
| 0x09d8, 0xffffffff, 0x00007111, |
| 0x2644, 0xffffffff, 0x00800010, |
| 0x2645, 0xffffffff, 0x00800810, |
| 0x2646, 0xffffffff, 0x00801010, |
| 0x2647, 0xffffffff, 0x00801810, |
| 0x2648, 0xffffffff, 0x00802810, |
| 0x2649, 0xffffffff, 0x00802808, |
| 0x264a, 0xffffffff, 0x00802814, |
| 0x264b, 0xffffffff, 0x00000000, |
| 0x264c, 0xffffffff, 0x00000004, |
| 0x264d, 0xffffffff, 0x02000008, |
| 0x264e, 0xffffffff, 0x02000010, |
| 0x264f, 0xffffffff, 0x06000014, |
| 0x2650, 0xffffffff, 0x00000000, |
| 0x2651, 0xffffffff, 0x02400008, |
| 0x2652, 0xffffffff, 0x02400010, |
| 0x2653, 0xffffffff, 0x02400030, |
| 0x2654, 0xffffffff, 0x06400014, |
| 0x2655, 0xffffffff, 0x00000000, |
| 0x2656, 0xffffffff, 0x0040000c, |
| 0x2657, 0xffffffff, 0x0100000c, |
| 0x2658, 0xffffffff, 0x0100001c, |
| 0x2659, 0xffffffff, 0x01000034, |
| 0x265a, 0xffffffff, 0x01000024, |
| 0x265b, 0xffffffff, 0x00000000, |
| 0x265c, 0xffffffff, 0x0040001c, |
| 0x265d, 0xffffffff, 0x01000020, |
| 0x265e, 0xffffffff, 0x01000038, |
| 0x265f, 0xffffffff, 0x02c00008, |
| 0x2660, 0xffffffff, 0x02c00010, |
| 0x2661, 0xffffffff, 0x06c00014, |
| 0x2662, 0xffffffff, 0x00000000, |
| 0x2663, 0xffffffff, 0x00000000, |
| 0x2664, 0xffffffff, 0x000000a8, |
| 0x2665, 0xffffffff, 0x000000a4, |
| 0x2666, 0xffffffff, 0x00000090, |
| 0x2667, 0xffffffff, 0x00000090, |
| 0x2668, 0xffffffff, 0x00000090, |
| 0x2669, 0xffffffff, 0x00000090, |
| 0x266a, 0xffffffff, 0x00000090, |
| 0x266b, 0xffffffff, 0x00000000, |
| 0x266c, 0xffffffff, 0x000000ee, |
| 0x266d, 0xffffffff, 0x000000ea, |
| 0x266e, 0xffffffff, 0x000000e9, |
| 0x266f, 0xffffffff, 0x000000e5, |
| 0x2670, 0xffffffff, 0x000000e4, |
| 0x2671, 0xffffffff, 0x000000e0, |
| 0x2672, 0xffffffff, 0x00000090, |
| 0x2673, 0xffffffff, 0x00000000, |
| }, |
| .mmr_reg_count = 53, |
| .dev = { |
| .device_id = 0x98e4, |
| .external_rev = 0x61, |
| .pci_rev = 0xeb, |
| .family = AMDGPU_FAMILY_CZ, |
| .num_shader_engines = 1, |
| .num_shader_arrays_per_engine = 1, |
| .gpu_counter_freq = 48000, |
| .max_engine_clock = 600000, |
| .max_memory_clock = 933000, |
| .cu_active_number = 3, |
| .cu_ao_mask = 0x3, |
| .cu_bitmap[0][0] = 0x7, |
| .enabled_rb_pipes_mask = 0x1, |
| .num_rb_pipes = 1, |
| .num_hw_gfx_contexts = 8, |
| .ids_flags = 0x1, |
| .virtual_address_offset = 0x200000, |
| .virtual_address_max = UINT64_C(0xfffe00000), |
| .virtual_address_alignment = 4096, |
| .pte_fragment_size = 2097152, |
| .gart_page_size = 4096, |
| .ce_ram_size = 32768, |
| .vram_bit_width = 64, |
| .vce_harvest_config = 2, |
| .wave_front_size = 64, |
| .num_shader_visible_vgprs = 256, |
| .num_cu_per_sh = 3, |
| .num_tcc_blocks = 2, |
| .max_gs_waves_per_vgt = 16, |
| .cu_ao_bitmap[0][0] = 0x3, |
| }, |
| .mem = { |
| .vram = { |
| .total_heap_size = UINT64_C(16) << 20, |
| }, |
| .cpu_accessible_vram = { |
| .total_heap_size = UINT64_C(16) << 20, |
| }, |
| .gtt = { |
| .total_heap_size = UINT64_C(3072) << 20, |
| }, |
| }, |
| }, |
| { |
| .name = "vangogh", |
| .radeon_family = CHIP_VANGOGH, |
| .hw_ip_gfx = { |
| .hw_ip_version_major = 10, |
| .hw_ip_version_minor = 0, |
| .capabilities_flags = UINT64_C(0), |
| .ib_start_alignment = 32, |
| .ib_size_alignment = 32, |
| .available_rings = 0x1, |
| .ip_discovery_version = 0x0000, |
| }, |
| .hw_ip_compute = { |
| .hw_ip_version_major = 10, |
| .hw_ip_version_minor = 0, |
| .capabilities_flags = UINT64_C(0), |
| .ib_start_alignment = 32, |
| .ib_size_alignment = 32, |
| .available_rings = 0xf, |
| .ip_discovery_version = 0x0000, |
| }, |
| .fw_gfx_me = { |
| .ver = 64, |
| .feature = 41, |
| }, |
| .fw_gfx_pfp = { |
| .ver = 95, |
| .feature = 41, |
| }, |
| .fw_gfx_mec = { |
| .ver = 98, |
| .feature = 41, |
| }, |
| .mmr_regs = { |
| 0x263e, 0xffffffff, 0x00000142, |
| }, |
| .mmr_reg_count = 1, |
| .dev = { |
| .device_id = 0x163f, |
| .chip_rev = 0x00, |
| .external_rev = 0x01, |
| .pci_rev = 0xae, |
| .family = AMDGPU_FAMILY_VGH, |
| .num_shader_engines = 1, |
| .num_shader_arrays_per_engine = 1, |
| .gpu_counter_freq = 100000, |
| .max_engine_clock = UINT64_C(0), |
| .max_memory_clock = UINT64_C(0), |
| .cu_active_number = 8, |
| .cu_ao_mask = 0xff, |
| .cu_bitmap = { |
| { 0xff, 0x0, 0x0, 0x0, }, |
| { 0x0, 0x0, 0x0, 0x0, }, |
| { 0x0, 0x0, 0x0, 0x0, }, |
| { 0x0, 0x0, 0x0, 0x0, }, |
| }, |
| .enabled_rb_pipes_mask = 0x3, |
| .num_rb_pipes = 2, |
| .num_hw_gfx_contexts = 8, |
| .pcie_gen = 0, |
| .ids_flags = UINT64_C(0x1), |
| .virtual_address_offset = UINT64_C(0x200000), |
| .virtual_address_max = UINT64_C(0x800000000000), |
| .virtual_address_alignment = 4096, |
| .pte_fragment_size = 2097152, |
| .gart_page_size = 4096, |
| .ce_ram_size = 65536, |
| .vram_type = 10, |
| .vram_bit_width = 256, |
| .vce_harvest_config = 0, |
| .gc_double_offchip_lds_buf = 1, |
| .prim_buf_gpu_addr = UINT64_C(0), |
| .pos_buf_gpu_addr = UINT64_C(0), |
| .cntl_sb_buf_gpu_addr = UINT64_C(0), |
| .param_buf_gpu_addr = UINT64_C(0), |
| .prim_buf_size = 0, |
| .pos_buf_size = 0, |
| .cntl_sb_buf_size = 0, |
| .param_buf_size = 0, |
| .wave_front_size = 32, |
| .num_shader_visible_vgprs = 1024, |
| .num_cu_per_sh = 8, |
| .num_tcc_blocks = 4, |
| .gs_vgt_table_depth = 32, |
| .gs_prim_buffer_depth = 1792, |
| .max_gs_waves_per_vgt = 32, |
| .pcie_num_lanes = 0, |
| .cu_ao_bitmap = { |
| { 0xff, 0x0, 0x0, 0x0, }, |
| { 0x0, 0x0, 0x0, 0x0, }, |
| { 0x0, 0x0, 0x0, 0x0, }, |
| { 0x0, 0x0, 0x0, 0x0, }, |
| }, |
| .high_va_offset = UINT64_C(0xffff800000000000), |
| .high_va_max = UINT64_C(0xffffffffffe00000), |
| .pa_sc_tile_steering_override = 0, |
| .tcc_disabled_mask = UINT64_C(0), |
| .min_engine_clock = UINT64_C(0), |
| .min_memory_clock = UINT64_C(0), |
| .tcp_cache_size = 0, |
| .num_sqc_per_wgp = 0, |
| .sqc_data_cache_size = 0, |
| .sqc_inst_cache_size = 0, |
| .gl1c_cache_size = 0, |
| .gl2c_cache_size = 0, |
| .mall_size = UINT64_C(0), |
| .enabled_rb_pipes_mask_hi = 0, |
| }, |
| .mem = { |
| .vram = { |
| .total_heap_size = UINT64_C(1073741824), |
| .usable_heap_size = UINT64_C(1040584704), |
| .heap_usage = UINT64_C(344141824), |
| .max_allocation = UINT64_C(780438528), |
| }, |
| .cpu_accessible_vram = { |
| .total_heap_size = UINT64_C(1073741824), |
| .usable_heap_size = UINT64_C(1040584704), |
| .heap_usage = UINT64_C(344141824), |
| .max_allocation = UINT64_C(780438528), |
| }, |
| .gtt = { |
| .total_heap_size = UINT64_C(8522825728), |
| .usable_heap_size = UINT64_C(8511004672), |
| .heap_usage = UINT64_C(79179776), |
| .max_allocation = UINT64_C(6383253504), |
| }, |
| }, |
| }, |
| { |
| .name = "raphael_mendocino", |
| .radeon_family = CHIP_RAPHAEL_MENDOCINO, |
| .hw_ip_gfx = { |
| .hw_ip_version_major = 10, |
| .hw_ip_version_minor = 0, |
| .capabilities_flags = UINT64_C(0), |
| .ib_start_alignment = 32, |
| .ib_size_alignment = 32, |
| .available_rings = 0x1, |
| .ip_discovery_version = 0xa0306, |
| }, |
| .hw_ip_compute = { |
| .hw_ip_version_major = 10, |
| .hw_ip_version_minor = 0, |
| .capabilities_flags = UINT64_C(0), |
| .ib_start_alignment = 32, |
| .ib_size_alignment = 32, |
| .available_rings = 0xf, |
| .ip_discovery_version = 0xa0306, |
| }, |
| .fw_gfx_me = { |
| .ver = 13, |
| .feature = 38, |
| }, |
| .fw_gfx_pfp = { |
| .ver = 13, |
| .feature = 38, |
| }, |
| .fw_gfx_mec = { |
| .ver = 18, |
| .feature = 38, |
| }, |
| .mmr_regs = { |
| 0x263e, 0xffffffff, 0x00000042, |
| }, |
| .mmr_reg_count = 1, |
| .dev = { |
| .device_id = 0x164e, |
| .chip_rev = 0x01, |
| .external_rev = 0x02, |
| .pci_rev = 0xc1, |
| .family = AMDGPU_FAMILY_GC_10_3_6, |
| .num_shader_engines = 1, |
| .num_shader_arrays_per_engine = 1, |
| .gpu_counter_freq = 100000, |
| .max_engine_clock = UINT64_C(200000), |
| .max_memory_clock = UINT64_C(2400000), |
| .cu_active_number = 2, |
| .cu_ao_mask = 0x3, |
| .cu_bitmap = { |
| { 0x3, 0x0, 0x0, 0x0, }, |
| { 0x0, 0x0, 0x0, 0x0, }, |
| { 0x0, 0x0, 0x0, 0x0, }, |
| { 0x0, 0x0, 0x0, 0x0, }, |
| }, |
| .enabled_rb_pipes_mask = 0x1, |
| .num_rb_pipes = 1, |
| .num_hw_gfx_contexts = 8, |
| .pcie_gen = 4, |
| .ids_flags = UINT64_C(0x1), |
| .virtual_address_offset = UINT64_C(0x200000), |
| .virtual_address_max = UINT64_C(0x800000000000), |
| .virtual_address_alignment = 4096, |
| .pte_fragment_size = 2097152, |
| .gart_page_size = 4096, |
| .ce_ram_size = 65536, |
| .vram_type = 10, |
| .vram_bit_width = 128, |
| .vce_harvest_config = 0, |
| .gc_double_offchip_lds_buf = 1, |
| .prim_buf_gpu_addr = UINT64_C(0), |
| .pos_buf_gpu_addr = UINT64_C(0), |
| .cntl_sb_buf_gpu_addr = UINT64_C(0), |
| .param_buf_gpu_addr = UINT64_C(0), |
| .prim_buf_size = 0, |
| .pos_buf_size = 0, |
| .cntl_sb_buf_size = 0, |
| .param_buf_size = 0, |
| .wave_front_size = 32, |
| .num_shader_visible_vgprs = 1024, |
| .num_cu_per_sh = 2, |
| .num_tcc_blocks = 2, |
| .gs_vgt_table_depth = 32, |
| .gs_prim_buffer_depth = 1792, |
| .max_gs_waves_per_vgt = 32, |
| .pcie_num_lanes = 16, |
| .cu_ao_bitmap = { |
| { 0x3, 0x0, 0x0, 0x0, }, |
| { 0x0, 0x0, 0x0, 0x0, }, |
| { 0x0, 0x0, 0x0, 0x0, }, |
| { 0x0, 0x0, 0x0, 0x0, }, |
| }, |
| .high_va_offset = UINT64_C(0xffff800000000000), |
| .high_va_max = UINT64_C(0xffffffffffe00000), |
| .pa_sc_tile_steering_override = 0, |
| .tcc_disabled_mask = UINT64_C(0), |
| .min_engine_clock = UINT64_C(200000), |
| .min_memory_clock = UINT64_C(2400000), |
| .tcp_cache_size = 0, |
| .num_sqc_per_wgp = 0, |
| .sqc_data_cache_size = 0, |
| .sqc_inst_cache_size = 0, |
| .gl1c_cache_size = 0, |
| .gl2c_cache_size = 0, |
| .mall_size = UINT64_C(0), |
| .enabled_rb_pipes_mask_hi = 0, |
| }, |
| .mem = { |
| .vram = { |
| .total_heap_size = UINT64_C(536870912), |
| .usable_heap_size = UINT64_C(512081920), |
| .heap_usage = UINT64_C(30093312), |
| .max_allocation = UINT64_C(384061440), |
| }, |
| .cpu_accessible_vram = { |
| .total_heap_size = UINT64_C(536870912), |
| .usable_heap_size = UINT64_C(512081920), |
| .heap_usage = UINT64_C(30093312), |
| .max_allocation = UINT64_C(384061440), |
| }, |
| .gtt = { |
| .total_heap_size = UINT64_C(33254252544), |
| .usable_heap_size = UINT64_C(33241997312), |
| .heap_usage = UINT64_C(14360576), |
| .max_allocation = UINT64_C(24931497984), |
| }, |
| }, |
| }, |
| { |
| .name = "polaris10", |
| .radeon_family = CHIP_POLARIS10, |
| .hw_ip_gfx = { |
| .hw_ip_version_major = 8, |
| .hw_ip_version_minor = 0, |
| .capabilities_flags = UINT64_C(0), |
| .ib_start_alignment = 32, |
| .ib_size_alignment = 32, |
| .available_rings = 0x1, |
| .ip_discovery_version = 0x0000, |
| }, |
| .hw_ip_compute = { |
| .hw_ip_version_major = 8, |
| .hw_ip_version_minor = 0, |
| .capabilities_flags = UINT64_C(0), |
| .ib_start_alignment = 32, |
| .ib_size_alignment = 32, |
| .available_rings = 0xf, |
| .ip_discovery_version = 0x0000, |
| }, |
| .fw_gfx_me = { |
| .ver = 167, |
| .feature = 49, |
| }, |
| .fw_gfx_pfp = { |
| .ver = 254, |
| .feature = 49, |
| }, |
| .fw_gfx_mec = { |
| .ver = 730, |
| .feature = 49, |
| }, |
| .mmr_regs = { |
| 0x263e, 0xffffffff, 0x22011003, |
| 0x263d, 0x0000ff00, 0x00000000, |
| 0xa0d4, 0x0000ff00, 0x16000012, |
| 0xa0d5, 0x0000ff00, 0x0000002a, |
| 0x263d, 0x0000ff01, 0x00000000, |
| 0xa0d4, 0x0000ff01, 0x16000012, |
| 0xa0d5, 0x0000ff01, 0x0000002a, |
| 0x263d, 0x0000ff02, 0x00000000, |
| 0xa0d4, 0x0000ff02, 0x16000012, |
| 0xa0d5, 0x0000ff02, 0x0000002a, |
| 0x263d, 0x0000ff03, 0x00000000, |
| 0xa0d4, 0x0000ff03, 0x16000012, |
| 0xa0d5, 0x0000ff03, 0x0000002a, |
| 0x09d8, 0xffffffff, 0x000060a2, |
| 0x2644, 0xffffffff, 0x00800310, |
| 0x2645, 0xffffffff, 0x00800b10, |
| 0x2646, 0xffffffff, 0x00801310, |
| 0x2647, 0xffffffff, 0x00801b10, |
| 0x2648, 0xffffffff, 0x00802b10, |
| 0x2649, 0xffffffff, 0x00802b08, |
| 0x264a, 0xffffffff, 0x00802b14, |
| 0x264b, 0xffffffff, 0x00802954, |
| 0x264c, 0xffffffff, 0x00000304, |
| 0x264d, 0xffffffff, 0x02000308, |
| 0x264e, 0xffffffff, 0x02000310, |
| 0x264f, 0xffffffff, 0x06000314, |
| 0x2650, 0xffffffff, 0x06000154, |
| 0x2651, 0xffffffff, 0x02400308, |
| 0x2652, 0xffffffff, 0x02400310, |
| 0x2653, 0xffffffff, 0x02400330, |
| 0x2654, 0xffffffff, 0x06400314, |
| 0x2655, 0xffffffff, 0x06400154, |
| 0x2656, 0xffffffff, 0x0040030c, |
| 0x2657, 0xffffffff, 0x0100030c, |
| 0x2658, 0xffffffff, 0x0100031c, |
| 0x2659, 0xffffffff, 0x01000334, |
| 0x265a, 0xffffffff, 0x01000324, |
| 0x265b, 0xffffffff, 0x01000164, |
| 0x265c, 0xffffffff, 0x0040031c, |
| 0x265d, 0xffffffff, 0x01000320, |
| 0x265e, 0xffffffff, 0x01000338, |
| 0x265f, 0xffffffff, 0x02c00308, |
| 0x2660, 0xffffffff, 0x02c00310, |
| 0x2661, 0xffffffff, 0x06c00314, |
| 0x2662, 0xffffffff, 0x06c00154, |
| 0x2663, 0xffffffff, 0x00000000, |
| 0x2664, 0xffffffff, 0x000000e8, |
| 0x2665, 0xffffffff, 0x000000e8, |
| 0x2666, 0xffffffff, 0x000000e8, |
| 0x2667, 0xffffffff, 0x000000e8, |
| 0x2668, 0xffffffff, 0x000000d4, |
| 0x2669, 0xffffffff, 0x000000c0, |
| 0x266a, 0xffffffff, 0x000000c0, |
| 0x266b, 0xffffffff, 0x00000000, |
| 0x266c, 0xffffffff, 0x000000ec, |
| 0x266d, 0xffffffff, 0x000000e8, |
| 0x266e, 0xffffffff, 0x000000d4, |
| 0x266f, 0xffffffff, 0x000000d0, |
| 0x2670, 0xffffffff, 0x00000080, |
| 0x2671, 0xffffffff, 0x00000040, |
| 0x2672, 0xffffffff, 0x00000040, |
| 0x2673, 0xffffffff, 0x00000000, |
| }, |
| .mmr_reg_count = 62, |
| .dev = { |
| .device_id = 0x67df, |
| .chip_rev = 0x01, |
| .external_rev = 0x51, |
| .pci_rev = 0xe7, |
| .family = AMDGPU_FAMILY_VI, |
| .num_shader_engines = 4, |
| .num_shader_arrays_per_engine = 1, |
| .gpu_counter_freq = 25000, |
| .max_engine_clock = UINT64_C(1360000), |
| .max_memory_clock = UINT64_C(2000000), |
| .cu_active_number = 36, |
| .cu_ao_mask = 0x1ff01ff, |
| .cu_bitmap = { |
| { 0x1ff, 0x0, 0x0, 0x0, }, |
| { 0x1ff, 0x0, 0x0, 0x0, }, |
| { 0x1ff, 0x0, 0x0, 0x0, }, |
| { 0x1ff, 0x0, 0x0, 0x0, }, |
| }, |
| .enabled_rb_pipes_mask = 0xff, |
| .num_rb_pipes = 8, |
| .num_hw_gfx_contexts = 8, |
| .pcie_gen = 0, |
| .ids_flags = UINT64_C(0x0), |
| .virtual_address_offset = UINT64_C(0x200000), |
| .virtual_address_max = UINT64_C(0x1fffe00000), |
| .virtual_address_alignment = 4096, |
| .pte_fragment_size = 2097152, |
| .gart_page_size = 4096, |
| .ce_ram_size = 32768, |
| .vram_type = 5, |
| .vram_bit_width = 256, |
| .vce_harvest_config = 2, |
| .gc_double_offchip_lds_buf = 1, |
| .prim_buf_gpu_addr = UINT64_C(0), |
| .pos_buf_gpu_addr = UINT64_C(0), |
| .cntl_sb_buf_gpu_addr = UINT64_C(0), |
| .param_buf_gpu_addr = UINT64_C(0), |
| .prim_buf_size = 0, |
| .pos_buf_size = 0, |
| .cntl_sb_buf_size = 0, |
| .param_buf_size = 0, |
| .wave_front_size = 64, |
| .num_shader_visible_vgprs = 256, |
| .num_cu_per_sh = 9, |
| .num_tcc_blocks = 8, |
| .gs_vgt_table_depth = 0, |
| .gs_prim_buffer_depth = 0, |
| .max_gs_waves_per_vgt = 32, |
| .pcie_num_lanes = 0, |
| .cu_ao_bitmap = { |
| { 0x1ff, 0x0, 0x0, 0x0, }, |
| { 0x1ff, 0x0, 0x0, 0x0, }, |
| { 0x1ff, 0x0, 0x0, 0x0, }, |
| { 0x1ff, 0x0, 0x0, 0x0, }, |
| }, |
| .high_va_offset = UINT64_C(0x0), |
| .high_va_max = UINT64_C(0x0), |
| .pa_sc_tile_steering_override = 0, |
| .tcc_disabled_mask = UINT64_C(0), |
| .min_engine_clock = UINT64_C(0), |
| .min_memory_clock = UINT64_C(0), |
| .tcp_cache_size = 0, |
| .num_sqc_per_wgp = 0, |
| .sqc_data_cache_size = 0, |
| .sqc_inst_cache_size = 0, |
| .gl1c_cache_size = 0, |
| .gl2c_cache_size = 0, |
| .mall_size = UINT64_C(0), |
| .enabled_rb_pipes_mask_hi = 0, |
| }, |
| .mem = { |
| .vram = { |
| .total_heap_size = UINT64_C(8589934592), |
| .usable_heap_size = UINT64_C(8576106496), |
| .heap_usage = UINT64_C(267620352), |
| .max_allocation = UINT64_C(6432079872), |
| }, |
| .cpu_accessible_vram = { |
| .total_heap_size = UINT64_C(268435456), |
| .usable_heap_size = UINT64_C(262995968), |
| .heap_usage = UINT64_C(17641472), |
| .max_allocation = UINT64_C(197246976), |
| }, |
| .gtt = { |
| .total_heap_size = UINT64_C(16776243200), |
| .usable_heap_size = UINT64_C(16766920704), |
| .heap_usage = UINT64_C(80318464), |
| .max_allocation = UINT64_C(12575190528), |
| }, |
| }, |
| }, |
| { |
| .name = "polaris12", |
| .radeon_family = CHIP_POLARIS12, |
| .hw_ip_gfx = { |
| .hw_ip_version_major = 8, |
| .hw_ip_version_minor = 0, |
| .capabilities_flags = UINT64_C(0), |
| .ib_start_alignment = 32, |
| .ib_size_alignment = 32, |
| .available_rings = 0x1, |
| .ip_discovery_version = 0x0000, |
| }, |
| .hw_ip_compute = { |
| .hw_ip_version_major = 8, |
| .hw_ip_version_minor = 0, |
| .capabilities_flags = UINT64_C(0), |
| .ib_start_alignment = 32, |
| .ib_size_alignment = 32, |
| .available_rings = 0xf, |
| .ip_discovery_version = 0x0000, |
| }, |
| .fw_gfx_me = { |
| .ver = 167, |
| .feature = 49, |
| }, |
| .fw_gfx_pfp = { |
| .ver = 254, |
| .feature = 49, |
| }, |
| .fw_gfx_mec = { |
| .ver = 730, |
| .feature = 49, |
| }, |
| .mmr_regs = { |
| 0x263e, 0xffffffff, 0x22011002, |
| 0x263d, 0x0000ff00, 0x00000001, |
| 0xa0d4, 0x0000ff00, 0x16000012, |
| 0xa0d5, 0x0000ff00, 0x00000000, |
| 0x263d, 0x0000ff01, 0x00000001, |
| 0xa0d4, 0x0000ff01, 0x16000012, |
| 0xa0d5, 0x0000ff01, 0x00000000, |
| 0x09d8, 0xffffffff, 0x000060a2, |
| 0x2644, 0xffffffff, 0x00800150, |
| 0x2645, 0xffffffff, 0x00800950, |
| 0x2646, 0xffffffff, 0x00801150, |
| 0x2647, 0xffffffff, 0x00801950, |
| 0x2648, 0xffffffff, 0x00802950, |
| 0x2649, 0xffffffff, 0x00802948, |
| 0x264a, 0xffffffff, 0x00802954, |
| 0x264b, 0xffffffff, 0x00802954, |
| 0x264c, 0xffffffff, 0x00000144, |
| 0x264d, 0xffffffff, 0x02000148, |
| 0x264e, 0xffffffff, 0x02000150, |
| 0x264f, 0xffffffff, 0x06000154, |
| 0x2650, 0xffffffff, 0x06000154, |
| 0x2651, 0xffffffff, 0x02400148, |
| 0x2652, 0xffffffff, 0x02400150, |
| 0x2653, 0xffffffff, 0x02400170, |
| 0x2654, 0xffffffff, 0x06400154, |
| 0x2655, 0xffffffff, 0x06400154, |
| 0x2656, 0xffffffff, 0x0040014c, |
| 0x2657, 0xffffffff, 0x0100014c, |
| 0x2658, 0xffffffff, 0x0100015c, |
| 0x2659, 0xffffffff, 0x01000174, |
| 0x265a, 0xffffffff, 0x01000164, |
| 0x265b, 0xffffffff, 0x01000164, |
| 0x265c, 0xffffffff, 0x0040015c, |
| 0x265d, 0xffffffff, 0x01000160, |
| 0x265e, 0xffffffff, 0x01000178, |
| 0x265f, 0xffffffff, 0x02c00148, |
| 0x2660, 0xffffffff, 0x02c00150, |
| 0x2661, 0xffffffff, 0x06c00154, |
| 0x2662, 0xffffffff, 0x06c00154, |
| 0x2663, 0xffffffff, 0x00000000, |
| 0x2664, 0xffffffff, 0x000000e8, |
| 0x2665, 0xffffffff, 0x000000e8, |
| 0x2666, 0xffffffff, 0x000000e8, |
| 0x2667, 0xffffffff, 0x000000e4, |
| 0x2668, 0xffffffff, 0x000000d0, |
| 0x2669, 0xffffffff, 0x000000d0, |
| 0x266a, 0xffffffff, 0x000000d0, |
| 0x266b, 0xffffffff, 0x00000000, |
| 0x266c, 0xffffffff, 0x000000ed, |
| 0x266d, 0xffffffff, 0x000000e9, |
| 0x266e, 0xffffffff, 0x000000e8, |
| 0x266f, 0xffffffff, 0x000000e4, |
| 0x2670, 0xffffffff, 0x000000d0, |
| 0x2671, 0xffffffff, 0x00000090, |
| 0x2672, 0xffffffff, 0x00000040, |
| 0x2673, 0xffffffff, 0x00000000, |
| }, |
| .mmr_reg_count = 56, |
| .dev = { |
| .device_id = 0x699f, |
| .chip_rev = 0x00, |
| .external_rev = 0x64, |
| .pci_rev = 0xc7, |
| .family = AMDGPU_FAMILY_VI, |
| .num_shader_engines = 2, |
| .num_shader_arrays_per_engine = 1, |
| .gpu_counter_freq = 25000, |
| .max_engine_clock = UINT64_C(1183000), |
| .max_memory_clock = UINT64_C(1750000), |
| .cu_active_number = 8, |
| .cu_ao_mask = 0x1e001e, |
| .cu_bitmap = { |
| { 0x1e, 0x0, 0x0, 0x0, }, |
| { 0x1e, 0x0, 0x0, 0x0, }, |
| { 0x0, 0x0, 0x0, 0x0, }, |
| { 0x0, 0x0, 0x0, 0x0, }, |
| }, |
| .enabled_rb_pipes_mask = 0xf, |
| .num_rb_pipes = 4, |
| .num_hw_gfx_contexts = 8, |
| .pcie_gen = 3, |
| .ids_flags = UINT64_C(0x0), |
| .virtual_address_offset = UINT64_C(0x200000), |
| .virtual_address_max = UINT64_C(0x3fffe00000), |
| .virtual_address_alignment = 4096, |
| .pte_fragment_size = 2097152, |
| .gart_page_size = 4096, |
| .ce_ram_size = 32768, |
| .vram_type = 5, |
| .vram_bit_width = 128, |
| .vce_harvest_config = 2, |
| .gc_double_offchip_lds_buf = 1, |
| .prim_buf_gpu_addr = UINT64_C(0), |
| .pos_buf_gpu_addr = UINT64_C(0), |
| .cntl_sb_buf_gpu_addr = UINT64_C(0), |
| .param_buf_gpu_addr = UINT64_C(0), |
| .prim_buf_size = 0, |
| .pos_buf_size = 0, |
| .cntl_sb_buf_size = 0, |
| .param_buf_size = 0, |
| .wave_front_size = 64, |
| .num_shader_visible_vgprs = 256, |
| .num_cu_per_sh = 5, |
| .num_tcc_blocks = 4, |
| .gs_vgt_table_depth = 0, |
| .gs_prim_buffer_depth = 0, |
| .max_gs_waves_per_vgt = 32, |
| .pcie_num_lanes = 1, |
| .cu_ao_bitmap = { |
| { 0x1e, 0x0, 0x0, 0x0, }, |
| { 0x1e, 0x0, 0x0, 0x0, }, |
| { 0x0, 0x0, 0x0, 0x0, }, |
| { 0x0, 0x0, 0x0, 0x0, }, |
| }, |
| .high_va_offset = UINT64_C(0x0), |
| .high_va_max = UINT64_C(0x0), |
| .pa_sc_tile_steering_override = 0, |
| .tcc_disabled_mask = UINT64_C(0), |
| .min_engine_clock = UINT64_C(214000), |
| .min_memory_clock = UINT64_C(300000), |
| .tcp_cache_size = 0, |
| .num_sqc_per_wgp = 0, |
| .sqc_data_cache_size = 0, |
| .sqc_inst_cache_size = 0, |
| .gl1c_cache_size = 0, |
| .gl2c_cache_size = 0, |
| .mall_size = UINT64_C(0), |
| .enabled_rb_pipes_mask_hi = 0, |
| }, |
| .mem = { |
| .vram = { |
| .total_heap_size = UINT64_C(4294967296), |
| .usable_heap_size = UINT64_C(4281139200), |
| .heap_usage = UINT64_C(5963776), |
| .max_allocation = UINT64_C(3210854400), |
| }, |
| .cpu_accessible_vram = { |
| .total_heap_size = UINT64_C(4294967296), |
| .usable_heap_size = UINT64_C(4281139200), |
| .heap_usage = UINT64_C(5963776), |
| .max_allocation = UINT64_C(3210854400), |
| }, |
| .gtt = { |
| .total_heap_size = UINT64_C(33254252544), |
| .usable_heap_size = UINT64_C(33249120256), |
| .heap_usage = UINT64_C(17903616), |
| .max_allocation = UINT64_C(24936840192), |
| }, |
| }, |
| }, |
| { |
| .name = "vega10", |
| .radeon_family = CHIP_VEGA10, |
| .hw_ip_gfx = { |
| .hw_ip_version_major = 9, |
| .hw_ip_version_minor = 0, |
| .capabilities_flags = UINT64_C(0), |
| .ib_start_alignment = 32, |
| .ib_size_alignment = 32, |
| .available_rings = 0x1, |
| .ip_discovery_version = 0x90001, |
| }, |
| .hw_ip_compute = { |
| .hw_ip_version_major = 9, |
| .hw_ip_version_minor = 0, |
| .capabilities_flags = UINT64_C(0), |
| .ib_start_alignment = 32, |
| .ib_size_alignment = 32, |
| .available_rings = 0xf, |
| .ip_discovery_version = 0x90001, |
| }, |
| .fw_gfx_me = { |
| .ver = 166, |
| .feature = 53, |
| }, |
| .fw_gfx_pfp = { |
| .ver = 194, |
| .feature = 53, |
| }, |
| .fw_gfx_mec = { |
| .ver = 33236, |
| .feature = 53, |
| }, |
| .mmr_regs = { |
| 0x263e, 0xffffffff, 0x2a114042, |
| }, |
| .mmr_reg_count = 1, |
| .dev = { |
| .device_id = 0x687f, |
| .chip_rev = 0x01, |
| .external_rev = 0x01, |
| .pci_rev = 0xc1, |
| .family = AMDGPU_FAMILY_AI, |
| .num_shader_engines = 4, |
| .num_shader_arrays_per_engine = 1, |
| .gpu_counter_freq = 27000, |
| .max_engine_clock = UINT64_C(1630000), |
| .max_memory_clock = UINT64_C(945000), |
| .cu_active_number = 64, |
| .cu_ao_mask = 0xffffffff, |
| .cu_bitmap = { |
| { 0xffff, 0x0, 0x0, 0x0, }, |
| { 0xffff, 0x0, 0x0, 0x0, }, |
| { 0xffff, 0x0, 0x0, 0x0, }, |
| { 0xffff, 0x0, 0x0, 0x0, }, |
| }, |
| .enabled_rb_pipes_mask = 0xffff, |
| .num_rb_pipes = 16, |
| .num_hw_gfx_contexts = 8, |
| .pcie_gen = 0, |
| .ids_flags = UINT64_C(0x0), |
| .virtual_address_offset = UINT64_C(0x200000), |
| .virtual_address_max = UINT64_C(0x800000000000), |
| .virtual_address_alignment = 4096, |
| .pte_fragment_size = 2097152, |
| .gart_page_size = 4096, |
| .ce_ram_size = 32768, |
| .vram_type = 6, |
| .vram_bit_width = 2048, |
| .vce_harvest_config = 0, |
| .gc_double_offchip_lds_buf = 1, |
| .prim_buf_gpu_addr = UINT64_C(0), |
| .pos_buf_gpu_addr = UINT64_C(0), |
| .cntl_sb_buf_gpu_addr = UINT64_C(0), |
| .param_buf_gpu_addr = UINT64_C(0), |
| .prim_buf_size = 0, |
| .pos_buf_size = 0, |
| .cntl_sb_buf_size = 0, |
| .param_buf_size = 0, |
| .wave_front_size = 64, |
| .num_shader_visible_vgprs = 256, |
| .num_cu_per_sh = 16, |
| .num_tcc_blocks = 16, |
| .gs_vgt_table_depth = 32, |
| .gs_prim_buffer_depth = 1792, |
| .max_gs_waves_per_vgt = 32, |
| .pcie_num_lanes = 0, |
| .cu_ao_bitmap = { |
| { 0xffff, 0x0, 0x0, 0x0, }, |
| { 0xffff, 0x0, 0x0, 0x0, }, |
| { 0xffff, 0x0, 0x0, 0x0, }, |
| { 0xffff, 0x0, 0x0, 0x0, }, |
| }, |
| .high_va_offset = UINT64_C(0xffff800000000000), |
| .high_va_max = UINT64_C(0xffffffffffe00000), |
| .pa_sc_tile_steering_override = 0, |
| .tcc_disabled_mask = UINT64_C(0), |
| .min_engine_clock = UINT64_C(0), |
| .min_memory_clock = UINT64_C(0), |
| .tcp_cache_size = 0, |
| .num_sqc_per_wgp = 0, |
| .sqc_data_cache_size = 0, |
| .sqc_inst_cache_size = 0, |
| .gl1c_cache_size = 0, |
| .gl2c_cache_size = 0, |
| .mall_size = UINT64_C(0), |
| .enabled_rb_pipes_mask_hi = 0, |
| }, |
| .mem = { |
| .vram = { |
| .total_heap_size = UINT64_C(8573157376), |
| .usable_heap_size = UINT64_C(8556453888), |
| .heap_usage = UINT64_C(39575552), |
| .max_allocation = UINT64_C(6417340416), |
| }, |
| .cpu_accessible_vram = { |
| .total_heap_size = UINT64_C(268435456), |
| .usable_heap_size = UINT64_C(260120576), |
| .heap_usage = UINT64_C(30138368), |
| .max_allocation = UINT64_C(195090432), |
| }, |
| .gtt = { |
| .total_heap_size = UINT64_C(8359135232), |
| .usable_heap_size = UINT64_C(8346802176), |
| .heap_usage = UINT64_C(22892544), |
| .max_allocation = UINT64_C(6260101632), |
| }, |
| }, |
| }, |
| { |
| .name = "navi10", |
| .radeon_family = CHIP_NAVI10, |
| .hw_ip_gfx = { |
| .hw_ip_version_major = 10, |
| .hw_ip_version_minor = 0, |
| .capabilities_flags = UINT64_C(0), |
| .ib_start_alignment = 32, |
| .ib_size_alignment = 32, |
| .available_rings = 0x1, |
| .ip_discovery_version = 0xa010a, |
| }, |
| .hw_ip_compute = { |
| .hw_ip_version_major = 10, |
| .hw_ip_version_minor = 0, |
| .capabilities_flags = UINT64_C(0), |
| .ib_start_alignment = 32, |
| .ib_size_alignment = 32, |
| .available_rings = 0xf, |
| .ip_discovery_version = 0xa010a, |
| }, |
| .fw_gfx_me = { |
| .ver = 100, |
| .feature = 34, |
| }, |
| .fw_gfx_pfp = { |
| .ver = 155, |
| .feature = 34, |
| }, |
| .fw_gfx_mec = { |
| .ver = 146, |
| .feature = 34, |
| }, |
| .mmr_regs = { |
| 0x263e, 0xffffffff, 0x00100044, |
| }, |
| .mmr_reg_count = 1, |
| .dev = { |
| .device_id = 0x731f, |
| .chip_rev = 0x02, |
| .external_rev = 0x03, |
| .pci_rev = 0xc1, |
| .family = AMDGPU_FAMILY_NV, |
| .num_shader_engines = 2, |
| .num_shader_arrays_per_engine = 2, |
| .gpu_counter_freq = 100000, |
| .max_engine_clock = UINT64_C(2100000), |
| .max_memory_clock = UINT64_C(875000), |
| .cu_active_number = 40, |
| .cu_ao_mask = 0xffffffff, |
| .cu_bitmap = { |
| { 0x3ff, 0x3ff, 0x0, 0x0, }, |
| { 0x3ff, 0x3ff, 0x0, 0x0, }, |
| { 0x0, 0x0, 0x0, 0x0, }, |
| { 0x0, 0x0, 0x0, 0x0, }, |
| }, |
| .enabled_rb_pipes_mask = 0xffff, |
| .num_rb_pipes = 16, |
| .num_hw_gfx_contexts = 8, |
| .pcie_gen = 0, |
| .ids_flags = UINT64_C(0x0), |
| .virtual_address_offset = UINT64_C(0x200000), |
| .virtual_address_max = UINT64_C(0x800000000000), |
| .virtual_address_alignment = 4096, |
| .pte_fragment_size = 2097152, |
| .gart_page_size = 4096, |
| .ce_ram_size = 65536, |
| .vram_type = 9, |
| .vram_bit_width = 256, |
| .vce_harvest_config = 0, |
| .gc_double_offchip_lds_buf = 1, |
| .prim_buf_gpu_addr = UINT64_C(0), |
| .pos_buf_gpu_addr = UINT64_C(0), |
| .cntl_sb_buf_gpu_addr = UINT64_C(0), |
| .param_buf_gpu_addr = UINT64_C(0), |
| .prim_buf_size = 0, |
| .pos_buf_size = 0, |
| .cntl_sb_buf_size = 0, |
| .param_buf_size = 0, |
| .wave_front_size = 32, |
| .num_shader_visible_vgprs = 1024, |
| .num_cu_per_sh = 10, |
| .num_tcc_blocks = 16, |
| .gs_vgt_table_depth = 32, |
| .gs_prim_buffer_depth = 1792, |
| .max_gs_waves_per_vgt = 32, |
| .pcie_num_lanes = 0, |
| .cu_ao_bitmap = { |
| { 0x3ff, 0x3ff, 0x0, 0x0, }, |
| { 0x3ff, 0x3ff, 0x0, 0x0, }, |
| { 0x0, 0x0, 0x0, 0x0, }, |
| { 0x0, 0x0, 0x0, 0x0, }, |
| }, |
| .high_va_offset = UINT64_C(0xffff800000000000), |
| .high_va_max = UINT64_C(0xffffffffffe00000), |
| .pa_sc_tile_steering_override = 1187840, |
| .tcc_disabled_mask = UINT64_C(0), |
| .min_engine_clock = UINT64_C(0), |
| .min_memory_clock = UINT64_C(0), |
| .tcp_cache_size = 0, |
| .num_sqc_per_wgp = 0, |
| .sqc_data_cache_size = 0, |
| .sqc_inst_cache_size = 0, |
| .gl1c_cache_size = 0, |
| .gl2c_cache_size = 0, |
| .mall_size = UINT64_C(0), |
| .enabled_rb_pipes_mask_hi = 0, |
| }, |
| .mem = { |
| .vram = { |
| .total_heap_size = UINT64_C(8573157376), |
| .usable_heap_size = UINT64_C(8553127936), |
| .heap_usage = UINT64_C(11644928), |
| .max_allocation = UINT64_C(6414845952), |
| }, |
| .cpu_accessible_vram = { |
| .total_heap_size = UINT64_C(268435456), |
| .usable_heap_size = UINT64_C(256860160), |
| .heap_usage = UINT64_C(11579392), |
| .max_allocation = UINT64_C(192645120), |
| }, |
| .gtt = { |
| .total_heap_size = UINT64_C(8359135232), |
| .usable_heap_size = UINT64_C(8347318272), |
| .heap_usage = UINT64_C(22102016), |
| .max_allocation = UINT64_C(6260488704), |
| }, |
| }, |
| }, |
| { |
| .name = "navi31", |
| .radeon_family = CHIP_NAVI31, |
| .hw_ip_gfx = { |
| .hw_ip_version_major = 11, |
| .hw_ip_version_minor = 0, |
| .capabilities_flags = UINT64_C(0), |
| .ib_start_alignment = 32, |
| .ib_size_alignment = 32, |
| .available_rings = 0x1, |
| .ip_discovery_version = 0xb0000, |
| }, |
| .hw_ip_compute = { |
| .hw_ip_version_major = 11, |
| .hw_ip_version_minor = 0, |
| .capabilities_flags = UINT64_C(0), |
| .ib_start_alignment = 32, |
| .ib_size_alignment = 32, |
| .available_rings = 0xf, |
| .ip_discovery_version = 0xb0000, |
| }, |
| .fw_gfx_me = { |
| .ver = 1486, |
| .feature = 29, |
| }, |
| .fw_gfx_pfp = { |
| .ver = 1525, |
| .feature = 29, |
| }, |
| .fw_gfx_mec = { |
| .ver = 494, |
| .feature = 29, |
| }, |
| .mmr_regs = { |
| 0x263e, 0xffffffff, 0x00000545, |
| }, |
| .mmr_reg_count = 1, |
| .dev = { |
| .device_id = 0x744c, |
| .chip_rev = 0x00, |
| .external_rev = 0x01, |
| .pci_rev = 0xc8, |
| .family = AMDGPU_FAMILY_GC_11_0_0, |
| .num_shader_engines = 6, |
| .num_shader_arrays_per_engine = 2, |
| .gpu_counter_freq = 100000, |
| .max_engine_clock = UINT64_C(2371000), |
| .max_memory_clock = UINT64_C(1249000), |
| .cu_active_number = 96, |
| .cu_ao_mask = 0x0, |
| .cu_bitmap = { |
| { 0xff, 0xff, 0xff, 0xff, }, |
| { 0xff, 0xff, 0xff, 0xff, }, |
| { 0xff, 0xff, 0x0, 0x0, }, |
| { 0xff, 0xff, 0x0, 0x0, }, |
| }, |
| .enabled_rb_pipes_mask = 0xffffff, |
| .num_rb_pipes = 24, |
| .num_hw_gfx_contexts = 8, |
| .pcie_gen = 4, |
| .ids_flags = UINT64_C(0x0), |
| .virtual_address_offset = UINT64_C(0x200000), |
| .virtual_address_max = UINT64_C(0x800000000000), |
| .virtual_address_alignment = 4096, |
| .pte_fragment_size = 2097152, |
| .gart_page_size = 4096, |
| .ce_ram_size = 0, |
| .vram_type = 9, |
| .vram_bit_width = 384, |
| .vce_harvest_config = 0, |
| .gc_double_offchip_lds_buf = 0, |
| .prim_buf_gpu_addr = UINT64_C(0), |
| .pos_buf_gpu_addr = UINT64_C(0), |
| .cntl_sb_buf_gpu_addr = UINT64_C(0), |
| .param_buf_gpu_addr = UINT64_C(0), |
| .prim_buf_size = 0, |
| .pos_buf_size = 0, |
| .cntl_sb_buf_size = 0, |
| .param_buf_size = 0, |
| .wave_front_size = 32, |
| .num_shader_visible_vgprs = 1536, |
| .num_cu_per_sh = 8, |
| .num_tcc_blocks = 24, |
| .gs_vgt_table_depth = 32, |
| .gs_prim_buffer_depth = 1792, |
| .max_gs_waves_per_vgt = 32, |
| .pcie_num_lanes = 16, |
| .cu_ao_bitmap = { |
| { 0x0, 0x0, 0x0, 0x0, }, |
| { 0x0, 0x0, 0x0, 0x0, }, |
| { 0x0, 0x0, 0x0, 0x0, }, |
| { 0x0, 0x0, 0x0, 0x0, }, |
| }, |
| .high_va_offset = UINT64_C(0xffff800000000000), |
| .high_va_max = UINT64_C(0xffffffffffe00000), |
| .pa_sc_tile_steering_override = 0, |
| .tcc_disabled_mask = UINT64_C(0), |
| .min_engine_clock = UINT64_C(500000), |
| .min_memory_clock = UINT64_C(96000), |
| .tcp_cache_size = 32, |
| .num_sqc_per_wgp = 1, |
| .sqc_data_cache_size = 16, |
| .sqc_inst_cache_size = 32, |
| .gl1c_cache_size = 256, |
| .gl2c_cache_size = 6144, |
| .mall_size = UINT64_C(100663296), |
| .enabled_rb_pipes_mask_hi = 0, |
| }, |
| .mem = { |
| .vram = { |
| .total_heap_size = UINT64_C(25753026560), |
| .usable_heap_size = UINT64_C(25681096704), |
| .heap_usage = UINT64_C(7515435008), |
| .max_allocation = UINT64_C(19260822528), |
| }, |
| .cpu_accessible_vram = { |
| .total_heap_size = UINT64_C(25753026560), |
| .usable_heap_size = UINT64_C(25681096704), |
| .heap_usage = UINT64_C(7515435008), |
| .max_allocation = UINT64_C(19260822528), |
| }, |
| .gtt = { |
| .total_heap_size = UINT64_C(33254252544), |
| .usable_heap_size = UINT64_C(33240895488), |
| .heap_usage = UINT64_C(142462976), |
| .max_allocation = UINT64_C(24930671616), |
| }, |
| }, |
| }, |
| { |
| .name = "navi21", |
| .radeon_family = CHIP_NAVI21, |
| .hw_ip_gfx = { |
| .hw_ip_version_major = 10, |
| .hw_ip_version_minor = 0, |
| .capabilities_flags = UINT64_C(0), |
| .ib_start_alignment = 32, |
| .ib_size_alignment = 32, |
| .available_rings = 0x1, |
| .ip_discovery_version = 0xa0300, |
| }, |
| .hw_ip_compute = { |
| .hw_ip_version_major = 10, |
| .hw_ip_version_minor = 0, |
| .capabilities_flags = UINT64_C(0), |
| .ib_start_alignment = 32, |
| .ib_size_alignment = 32, |
| .available_rings = 0xf, |
| .ip_discovery_version = 0xa0300, |
| }, |
| .fw_gfx_me = { |
| .ver = 64, |
| .feature = 42, |
| }, |
| .fw_gfx_pfp = { |
| .ver = 95, |
| .feature = 42, |
| }, |
| .fw_gfx_mec = { |
| .ver = 104, |
| .feature = 42, |
| }, |
| .mmr_regs = { |
| 0x263e, 0xffffffff, 0x00000444, |
| }, |
| .mmr_reg_count = 1, |
| .dev = { |
| .device_id = 0x73bf, |
| .chip_rev = 0x01, |
| .external_rev = 0x29, |
| .pci_rev = 0xc3, |
| .family = AMDGPU_FAMILY_NV, |
| .num_shader_engines = 4, |
| .num_shader_arrays_per_engine = 2, |
| .gpu_counter_freq = 100000, |
| .max_engine_clock = UINT64_C(2475000), |
| .max_memory_clock = UINT64_C(1000000), |
| .cu_active_number = 60, |
| .cu_ao_mask = 0x3ffff, |
| .cu_bitmap = { |
| { 0x3ff, 0x3ff, 0x0, 0x0, }, |
| { 0x0, 0x0, 0x0, 0x0, }, |
| { 0x3ff, 0x3ff, 0x0, 0x0, }, |
| { 0x3ff, 0x3ff, 0x0, 0x0, }, |
| }, |
| .enabled_rb_pipes_mask = 0xff0f, |
| .num_rb_pipes = 16, |
| .num_hw_gfx_contexts = 8, |
| .pcie_gen = 3, |
| .ids_flags = UINT64_C(0x0), |
| .virtual_address_offset = UINT64_C(0x200000), |
| .virtual_address_max = UINT64_C(0x800000000000), |
| .virtual_address_alignment = 4096, |
| .pte_fragment_size = 2097152, |
| .gart_page_size = 4096, |
| .ce_ram_size = 65536, |
| .vram_type = 9, |
| .vram_bit_width = 256, |
| .vce_harvest_config = 0, |
| .gc_double_offchip_lds_buf = 1, |
| .prim_buf_gpu_addr = UINT64_C(0), |
| .pos_buf_gpu_addr = UINT64_C(0), |
| .cntl_sb_buf_gpu_addr = UINT64_C(0), |
| .param_buf_gpu_addr = UINT64_C(0), |
| .prim_buf_size = 0, |
| .pos_buf_size = 0, |
| .cntl_sb_buf_size = 0, |
| .param_buf_size = 0, |
| .wave_front_size = 32, |
| .num_shader_visible_vgprs = 1024, |
| .num_cu_per_sh = 10, |
| .num_tcc_blocks = 16, |
| .gs_vgt_table_depth = 32, |
| .gs_prim_buffer_depth = 1792, |
| .max_gs_waves_per_vgt = 32, |
| .pcie_num_lanes = 16, |
| .cu_ao_bitmap = { |
| { 0x3ff, 0x3ff, 0x0, 0x0, }, |
| { 0x0, 0x0, 0x0, 0x0, }, |
| { 0x3ff, 0x3ff, 0x0, 0x0, }, |
| { 0x3ff, 0x3ff, 0x0, 0x0, }, |
| }, |
| .high_va_offset = UINT64_C(0xffff800000000000), |
| .high_va_max = UINT64_C(0xffffffffffe00000), |
| .pa_sc_tile_steering_override = 0, |
| .tcc_disabled_mask = UINT64_C(0), |
| .min_engine_clock = UINT64_C(500000), |
| .min_memory_clock = UINT64_C(96000), |
| .tcp_cache_size = 0, |
| .num_sqc_per_wgp = 0, |
| .sqc_data_cache_size = 0, |
| .sqc_inst_cache_size = 0, |
| .gl1c_cache_size = 0, |
| .gl2c_cache_size = 0, |
| .mall_size = UINT64_C(134217728), |
| .enabled_rb_pipes_mask_hi = 0, |
| }, |
| .mem = { |
| .vram = { |
| .total_heap_size = UINT64_C(17163091968), |
| .usable_heap_size = UINT64_C(17128448000), |
| .heap_usage = UINT64_C(817770496), |
| .max_allocation = UINT64_C(12846336000), |
| }, |
| .cpu_accessible_vram = { |
| .total_heap_size = UINT64_C(268435456), |
| .usable_heap_size = UINT64_C(273055744), |
| .heap_usage = UINT64_C(246521856), |
| .max_allocation = UINT64_C(204791808), |
| }, |
| .gtt = { |
| .total_heap_size = UINT64_C(16746784768), |
| .usable_heap_size = UINT64_C(16733624320), |
| .heap_usage = UINT64_C(499445760), |
| .max_allocation = UINT64_C(12550218240), |
| }, |
| }, |
| }, |
| { |
| .name = "pitcairn", |
| .radeon_family = CHIP_PITCAIRN, |
| .hw_ip_gfx = { |
| .hw_ip_version_major = 6, |
| .hw_ip_version_minor = 0, |
| .capabilities_flags = UINT64_C(0), |
| .ib_start_alignment = 32, |
| .ib_size_alignment = 32, |
| .available_rings = 0x1, |
| .ip_discovery_version = 0x0000, |
| }, |
| .hw_ip_compute = { |
| .hw_ip_version_major = 6, |
| .hw_ip_version_minor = 0, |
| .capabilities_flags = UINT64_C(0), |
| .ib_start_alignment = 32, |
| .ib_size_alignment = 32, |
| .available_rings = 0x3, |
| .ip_discovery_version = 0x0000, |
| }, |
| .fw_gfx_me = { |
| .ver = 145, |
| .feature = 29, |
| }, |
| .fw_gfx_pfp = { |
| .ver = 84, |
| .feature = 29, |
| }, |
| .fw_gfx_mec = { |
| .ver = 0, |
| .feature = 0, |
| }, |
| .mmr_regs = { |
| 0x263e, 0xffffffff, 0x12011003, |
| 0x263d, 0x0000ff00, 0x00000001, |
| 0xa0d4, 0x0000ff00, 0x2a001260, |
| 0x263d, 0x0000ff01, 0x00000001, |
| 0xa0d4, 0x0000ff01, 0x2a001260, |
| 0x09d8, 0xffffffff, 0x0000025a, |
| 0x2644, 0xffffffff, 0x00360292, |
| 0x2645, 0xffffffff, 0x00360a92, |
| 0x2646, 0xffffffff, 0x00361292, |
| 0x2647, 0xffffffff, 0x00122a92, |
| 0x2648, 0xffffffff, 0x0000028a, |
| 0x2649, 0xffffffff, 0x00021a92, |
| 0x264a, 0xffffffff, 0x00031292, |
| 0x264b, 0xffffffff, 0x00022112, |
| 0x264c, 0xffffffff, 0x00000004, |
| 0x264d, 0xffffffff, 0x00000288, |
| 0x264e, 0xffffffff, 0x00361290, |
| 0x264f, 0xffffffff, 0x00351290, |
| 0x2650, 0xffffffff, 0x00301a90, |
| 0x2651, 0xffffffff, 0x00000289, |
| 0x2652, 0xffffffff, 0x00321291, |
| 0x2653, 0xffffffff, 0x00311291, |
| 0x2654, 0xffffffff, 0x00301a91, |
| 0x2655, 0xffffffff, 0x00302a91, |
| 0x2656, 0xffffffff, 0x0000028d, |
| 0x2657, 0xffffffff, 0x00302aa1, |
| 0x2658, 0xffffffff, 0x00302a9d, |
| 0x2659, 0xffffffff, 0x00131291, |
| 0x265a, 0xffffffff, 0x00121291, |
| 0x265b, 0xffffffff, 0x00031291, |
| 0x265c, 0xffffffff, 0x00021a91, |
| 0x265d, 0xffffffff, 0x00022111, |
| 0x265e, 0xffffffff, 0x00022111, |
| 0x265f, 0xffffffff, 0x00022111, |
| 0x2660, 0xffffffff, 0x00022111, |
| 0x2661, 0xffffffff, 0x00022111, |
| 0x2662, 0xffffffff, 0x00012911, |
| 0x2663, 0xffffffff, 0x00000000, |
| }, |
| .mmr_reg_count = 38, |
| .dev = { |
| .device_id = 0x6818, |
| .chip_rev = 0x01, |
| .external_rev = 0x15, |
| .pci_rev = 0x00, |
| .family = AMDGPU_FAMILY_SI, |
| .num_shader_engines = 2, |
| .num_shader_arrays_per_engine = 2, |
| .gpu_counter_freq = 27000, |
| .max_engine_clock = UINT64_C(1100000), |
| .max_memory_clock = UINT64_C(1250000), |
| .cu_active_number = 20, |
| .cu_ao_mask = 0x1f1f1f1f, |
| .cu_bitmap = { |
| { 0x1f, 0x1f, 0x0, 0x0, }, |
| { 0x1f, 0x1f, 0x0, 0x0, }, |
| { 0x0, 0x0, 0x0, 0x0, }, |
| { 0x0, 0x0, 0x0, 0x0, }, |
| }, |
| .enabled_rb_pipes_mask = 0xff, |
| .num_rb_pipes = 8, |
| .num_hw_gfx_contexts = 8, |
| .pcie_gen = 3, |
| .ids_flags = UINT64_C(0x0), |
| .virtual_address_offset = UINT64_C(0x200000), |
| .virtual_address_max = UINT64_C(0xfffe00000), |
| .virtual_address_alignment = 4096, |
| .pte_fragment_size = 2097152, |
| .gart_page_size = 4096, |
| .ce_ram_size = 32768, |
| .vram_type = 5, |
| .vram_bit_width = 256, |
| .vce_harvest_config = 0, |
| .gc_double_offchip_lds_buf = 0, |
| .prim_buf_gpu_addr = UINT64_C(0), |
| .pos_buf_gpu_addr = UINT64_C(0), |
| .cntl_sb_buf_gpu_addr = UINT64_C(0), |
| .param_buf_gpu_addr = UINT64_C(0), |
| .prim_buf_size = 0, |
| .pos_buf_size = 0, |
| .cntl_sb_buf_size = 0, |
| .param_buf_size = 0, |
| .wave_front_size = 0, |
| .num_shader_visible_vgprs = 256, |
| .num_cu_per_sh = 5, |
| .num_tcc_blocks = 8, |
| .gs_vgt_table_depth = 0, |
| .gs_prim_buffer_depth = 0, |
| .max_gs_waves_per_vgt = 32, |
| .pcie_num_lanes = 8, |
| .cu_ao_bitmap = { |
| { 0x1f, 0x1f, 0x0, 0x0, }, |
| { 0x1f, 0x1f, 0x0, 0x0, }, |
| { 0x0, 0x0, 0x0, 0x0, }, |
| { 0x0, 0x0, 0x0, 0x0, }, |
| }, |
| .high_va_offset = UINT64_C(0x0), |
| .high_va_max = UINT64_C(0x0), |
| .pa_sc_tile_steering_override = 0, |
| .tcc_disabled_mask = UINT64_C(0), |
| .min_engine_clock = UINT64_C(300000), |
| .min_memory_clock = UINT64_C(150000), |
| .tcp_cache_size = 0, |
| .num_sqc_per_wgp = 0, |
| .sqc_data_cache_size = 0, |
| .sqc_inst_cache_size = 0, |
| .gl1c_cache_size = 0, |
| .gl2c_cache_size = 0, |
| .mall_size = UINT64_C(0), |
| .enabled_rb_pipes_mask_hi = 0, |
| }, |
| .mem = { |
| .vram = { |
| .total_heap_size = UINT64_C(2147483648), |
| .usable_heap_size = UINT64_C(2134118400), |
| .heap_usage = UINT64_C(5238784), |
| .max_allocation = UINT64_C(1600588800), |
| }, |
| .cpu_accessible_vram = { |
| .total_heap_size = UINT64_C(268435456), |
| .usable_heap_size = UINT64_C(263458816), |
| .heap_usage = UINT64_C(4976640), |
| .max_allocation = UINT64_C(197594112), |
| }, |
| .gtt = { |
| .total_heap_size = UINT64_C(8363028480), |
| .usable_heap_size = UINT64_C(8359759872), |
| .heap_usage = UINT64_C(3530752), |
| .max_allocation = UINT64_C(6269819904), |
| }, |
| }, |
| }, |
| { |
| .name = "bonaire", |
| .radeon_family = CHIP_BONAIRE, |
| .hw_ip_gfx = { |
| .hw_ip_version_major = 7, |
| .hw_ip_version_minor = 2, |
| .capabilities_flags = UINT64_C(0), |
| .ib_start_alignment = 32, |
| .ib_size_alignment = 32, |
| .available_rings = 0x1, |
| .ip_discovery_version = 0x0000, |
| }, |
| .hw_ip_compute = { |
| .hw_ip_version_major = 7, |
| .hw_ip_version_minor = 2, |
| .capabilities_flags = UINT64_C(0), |
| .ib_start_alignment = 32, |
| .ib_size_alignment = 32, |
| .available_rings = 0xf, |
| .ip_discovery_version = 0x0000, |
| }, |
| .fw_gfx_me = { |
| .ver = 187, |
| .feature = 29, |
| }, |
| .fw_gfx_pfp = { |
| .ver = 229, |
| .feature = 29, |
| }, |
| .fw_gfx_mec = { |
| .ver = 421, |
| .feature = 29, |
| }, |
| .mmr_regs = { |
| 0x263e, 0xffffffff, 0x12010001, |
| 0x263d, 0x0000ff00, 0x00000001, |
| 0xa0d4, 0x0000ff00, 0x16000012, |
| 0xa0d5, 0x0000ff00, 0x00000000, |
| 0x263d, 0x0000ff01, 0x00000001, |
| 0xa0d4, 0x0000ff01, 0x16000012, |
| 0xa0d5, 0x0000ff01, 0x00000000, |
| 0x09d8, 0xffffffff, 0x00006262, |
| 0x2644, 0xffffffff, 0x00800150, |
| 0x2645, 0xffffffff, 0x00800950, |
| 0x2646, 0xffffffff, 0x00801150, |
| 0x2647, 0xffffffff, 0x00801950, |
| 0x2648, 0xffffffff, 0x00802950, |
| 0x2649, 0xffffffff, 0x00800148, |
| 0x264a, 0xffffffff, 0x00802954, |
| 0x264b, 0xffffffff, 0x00002800, |
| 0x264c, 0xffffffff, 0x00000144, |
| 0x264d, 0xffffffff, 0x00000148, |
| 0x264e, 0xffffffff, 0x02000150, |
| 0x264f, 0xffffffff, 0x06000154, |
| 0x2650, 0xffffffff, 0x00002800, |
| 0x2651, 0xffffffff, 0x00400148, |
| 0x2652, 0xffffffff, 0x02400150, |
| 0x2653, 0xffffffff, 0x02400170, |
| 0x2654, 0xffffffff, 0x06400154, |
| 0x2655, 0xffffffff, 0x00002800, |
| 0x2656, 0xffffffff, 0x0040014c, |
| 0x2657, 0xffffffff, 0x0040014c, |
| 0x2658, 0xffffffff, 0x0040015c, |
| 0x2659, 0xffffffff, 0x00400174, |
| 0x265a, 0xffffffff, 0x00400164, |
| 0x265b, 0xffffffff, 0x00002800, |
| 0x265c, 0xffffffff, 0x0040015c, |
| 0x265d, 0xffffffff, 0x00400160, |
| 0x265e, 0xffffffff, 0x00400178, |
| 0x265f, 0xffffffff, 0x00c00148, |
| 0x2660, 0xffffffff, 0x02c00150, |
| 0x2661, 0xffffffff, 0x06c00154, |
| 0x2662, 0xffffffff, 0x00002800, |
| 0x2663, 0xffffffff, 0x00000000, |
| 0x2664, 0xffffffff, 0x000000e8, |
| 0x2665, 0xffffffff, 0x000000e4, |
| 0x2666, 0xffffffff, 0x000000d0, |
| 0x2667, 0xffffffff, 0x000000d0, |
| 0x2668, 0xffffffff, 0x000000d0, |
| 0x2669, 0xffffffff, 0x00000090, |
| 0x266a, 0xffffffff, 0x00000040, |
| 0x266b, 0xffffffff, 0x00000000, |
| 0x266c, 0xffffffff, 0x000000ed, |
| 0x266d, 0xffffffff, 0x000000e9, |
| 0x266e, 0xffffffff, 0x000000e8, |
| 0x266f, 0xffffffff, 0x000000e4, |
| 0x2670, 0xffffffff, 0x000000d0, |
| 0x2671, 0xffffffff, 0x00000090, |
| 0x2672, 0xffffffff, 0x00000040, |
| 0x2673, 0xffffffff, 0x00000000, |
| }, |
| .mmr_reg_count = 56, |
| .dev = { |
| .device_id = 0x6658, |
| .chip_rev = 0x01, |
| .external_rev = 0x15, |
| .pci_rev = 0x00, |
| .family = AMDGPU_FAMILY_CI, |
| .num_shader_engines = 2, |
| .num_shader_arrays_per_engine = 1, |
| .gpu_counter_freq = 27000, |
| .max_engine_clock = UINT64_C(1075000), |
| .max_memory_clock = UINT64_C(1600000), |
| .cu_active_number = 14, |
| .cu_ao_mask = 0x7f007f, |
| .cu_bitmap = { |
| { 0x7f, 0x0, 0x0, 0x0, }, |
| { 0x7f, 0x0, 0x0, 0x0, }, |
| { 0x0, 0x0, 0x0, 0x0, }, |
| { 0x0, 0x0, 0x0, 0x0, }, |
| }, |
| .enabled_rb_pipes_mask = 0xf, |
| .num_rb_pipes = 4, |
| .num_hw_gfx_contexts = 8, |
| .pcie_gen = 3, |
| .ids_flags = UINT64_C(0x0), |
| .virtual_address_offset = UINT64_C(0x200000), |
| .virtual_address_max = UINT64_C(0x1fffe00000), |
| .virtual_address_alignment = 4096, |
| .pte_fragment_size = 2097152, |
| .gart_page_size = 4096, |
| .ce_ram_size = 32768, |
| .vram_type = 5, |
| .vram_bit_width = 128, |
| .vce_harvest_config = 0, |
| .gc_double_offchip_lds_buf = 1, |
| .prim_buf_gpu_addr = UINT64_C(0), |
| .pos_buf_gpu_addr = UINT64_C(0), |
| .cntl_sb_buf_gpu_addr = UINT64_C(0), |
| .param_buf_gpu_addr = UINT64_C(0), |
| .prim_buf_size = 0, |
| .pos_buf_size = 0, |
| .cntl_sb_buf_size = 0, |
| .param_buf_size = 0, |
| .wave_front_size = 64, |
| .num_shader_visible_vgprs = 256, |
| .num_cu_per_sh = 7, |
| .num_tcc_blocks = 4, |
| .gs_vgt_table_depth = 0, |
| .gs_prim_buffer_depth = 0, |
| .max_gs_waves_per_vgt = 32, |
| .pcie_num_lanes = 16, |
| .cu_ao_bitmap = { |
| { 0x7f, 0x0, 0x0, 0x0, }, |
| { 0x7f, 0x0, 0x0, 0x0, }, |
| { 0x0, 0x0, 0x0, 0x0, }, |
| { 0x0, 0x0, 0x0, 0x0, }, |
| }, |
| .high_va_offset = UINT64_C(0x0), |
| .high_va_max = UINT64_C(0x0), |
| .pa_sc_tile_steering_override = 0, |
| .tcc_disabled_mask = UINT64_C(0), |
| .min_engine_clock = UINT64_C(300000), |
| .min_memory_clock = UINT64_C(150000), |
| .tcp_cache_size = 0, |
| .num_sqc_per_wgp = 0, |
| .sqc_data_cache_size = 0, |
| .sqc_inst_cache_size = 0, |
| .gl1c_cache_size = 0, |
| .gl2c_cache_size = 0, |
| .mall_size = UINT64_C(0), |
| .enabled_rb_pipes_mask_hi = 0, |
| }, |
| .mem = { |
| .vram = { |
| .total_heap_size = UINT64_C(2147483648), |
| .usable_heap_size = UINT64_C(2118266880), |
| .heap_usage = UINT64_C(21352448), |
| .max_allocation = UINT64_C(1588700160), |
| }, |
| .cpu_accessible_vram = { |
| .total_heap_size = UINT64_C(268435456), |
| .usable_heap_size = UINT64_C(255901696), |
| .heap_usage = UINT64_C(20828160), |
| .max_allocation = UINT64_C(191926272), |
| }, |
| .gtt = { |
| .total_heap_size = UINT64_C(16746776576), |
| .usable_heap_size = UINT64_C(16743417856), |
| .heap_usage = UINT64_C(3883008), |
| .max_allocation = UINT64_C(12557563392), |
| }, |
| }, |
| }, |
| { |
| .name = "gfx1150", |
| .radeon_family = CHIP_GFX1150, |
| .hw_ip_gfx = { |
| .hw_ip_version_major = 11, |
| .hw_ip_version_minor = 0, |
| .capabilities_flags = UINT64_C(0), |
| .ib_start_alignment = 32, |
| .ib_size_alignment = 32, |
| .available_rings = 0x1, |
| .ip_discovery_version = 0xb0500, |
| }, |
| .hw_ip_compute = { |
| .hw_ip_version_major = 11, |
| .hw_ip_version_minor = 0, |
| .capabilities_flags = UINT64_C(0), |
| .ib_start_alignment = 32, |
| .ib_size_alignment = 32, |
| .available_rings = 0xf, |
| .ip_discovery_version = 0xb0500, |
| }, |
| .fw_gfx_me = { |
| .ver = 29, |
| .feature = 35, |
| }, |
| .fw_gfx_pfp = { |
| .ver = 39, |
| .feature = 35, |
| }, |
| .fw_gfx_mec = { |
| .ver = 24, |
| .feature = 35, |
| }, |
| .mmr_regs = { |
| 0x263e, 0xffffffff, 0x00000242, |
| }, |
| .mmr_reg_count = 1, |
| .dev = { |
| .device_id = 0x150e, |
| .chip_rev = 0x01, |
| .external_rev = 0x11, |
| .pci_rev = 0xd1, |
| .family = AMDGPU_FAMILY_GC_11_5_0, |
| .num_shader_engines = 1, |
| .num_shader_arrays_per_engine = 2, |
| .gpu_counter_freq = 100000, |
| .max_engine_clock = UINT64_C(2900000), |
| .max_memory_clock = UINT64_C(937000), |
| .cu_active_number = 16, |
| .cu_ao_mask = 0x0, |
| .cu_bitmap = { |
| { 0xff, 0xff, 0x0, 0x0, }, |
| { 0x0, 0x0, 0x0, 0x0, }, |
| { 0x0, 0x0, 0x0, 0x0, }, |
| { 0x0, 0x0, 0x0, 0x0, }, |
| }, |
| .enabled_rb_pipes_mask = 0xf, |
| .num_rb_pipes = 4, |
| .num_hw_gfx_contexts = 8, |
| .pcie_gen = 4, |
| .ids_flags = UINT64_C(0x9), |
| .virtual_address_offset = UINT64_C(0x10000), |
| .virtual_address_max = UINT64_C(0x800000000000), |
| .virtual_address_alignment = 4096, |
| .pte_fragment_size = 2097152, |
| .gart_page_size = 4096, |
| .ce_ram_size = 0, |
| .vram_type = 12, |
| .vram_bit_width = 128, |
| .vce_harvest_config = 0, |
| .gc_double_offchip_lds_buf = 0, |
| .prim_buf_gpu_addr = UINT64_C(0), |
| .pos_buf_gpu_addr = UINT64_C(0), |
| .cntl_sb_buf_gpu_addr = UINT64_C(0), |
| .param_buf_gpu_addr = UINT64_C(0), |
| .prim_buf_size = 0, |
| .pos_buf_size = 0, |
| .cntl_sb_buf_size = 0, |
| .param_buf_size = 0, |
| .wave_front_size = 32, |
| .num_shader_visible_vgprs = 1024, |
| .num_cu_per_sh = 8, |
| .num_tcc_blocks = 4, |
| .gs_vgt_table_depth = 32, |
| .gs_prim_buffer_depth = 1792, |
| .max_gs_waves_per_vgt = 32, |
| .pcie_num_lanes = 16, |
| .cu_ao_bitmap = { |
| { 0x0, 0x0, 0x0, 0x0, }, |
| { 0x0, 0x0, 0x0, 0x0, }, |
| { 0x0, 0x0, 0x0, 0x0, }, |
| { 0x0, 0x0, 0x0, 0x0, }, |
| }, |
| .high_va_offset = UINT64_C(0xffff800000000000), |
| .high_va_max = UINT64_C(0xffffffffffbfe000), |
| .pa_sc_tile_steering_override = 0, |
| .tcc_disabled_mask = UINT64_C(0), |
| .min_engine_clock = UINT64_C(600000), |
| .min_memory_clock = UINT64_C(400000), |
| .tcp_cache_size = 32, |
| .num_sqc_per_wgp = 1, |
| .sqc_data_cache_size = 16, |
| .sqc_inst_cache_size = 32, |
| .gl1c_cache_size = 256, |
| .gl2c_cache_size = 2048, |
| .mall_size = UINT64_C(0), |
| .enabled_rb_pipes_mask_hi = 0, |
| }, |
| .mem = { |
| .vram = { |
| .total_heap_size = UINT64_C(536870912), |
| .usable_heap_size = UINT64_C(368558080), |
| .heap_usage = UINT64_C(281300992), |
| .max_allocation = UINT64_C(276418560), |
| }, |
| .cpu_accessible_vram = { |
| .total_heap_size = UINT64_C(536870912), |
| .usable_heap_size = UINT64_C(368558080), |
| .heap_usage = UINT64_C(281300992), |
| .max_allocation = UINT64_C(276418560), |
| }, |
| .gtt = { |
| .total_heap_size = UINT64_C(16488497152), |
| .usable_heap_size = UINT64_C(16474185728), |
| .heap_usage = UINT64_C(50016256), |
| .max_allocation = UINT64_C(12355639296), |
| }, |
| }, |
| } |
| }; |
| |
| const size_t num_amdgpu_devices = ARRAY_SIZE(amdgpu_devices); |