• Home
  • Raw
  • Download

Lines Matching full:chunk

155 static void ac_sqtt_fill_cpu_info(struct sqtt_file_chunk_cpu_info *chunk)  in ac_sqtt_fill_cpu_info()  argument
162 chunk->header.chunk_id.type = SQTT_FILE_CHUNK_TYPE_CPU_INFO; in ac_sqtt_fill_cpu_info()
163 chunk->header.chunk_id.index = 0; in ac_sqtt_fill_cpu_info()
164 chunk->header.major_version = 0; in ac_sqtt_fill_cpu_info()
165 chunk->header.minor_version = 0; in ac_sqtt_fill_cpu_info()
166 chunk->header.size_in_bytes = sizeof(*chunk); in ac_sqtt_fill_cpu_info()
168 chunk->cpu_timestamp_freq = 1000000000; /* tick set to 1ns */ in ac_sqtt_fill_cpu_info()
170 strncpy((char *)chunk->vendor_id, "Unknown", sizeof(chunk->vendor_id)); in ac_sqtt_fill_cpu_info()
171 strncpy((char *)chunk->processor_brand, "Unknown", sizeof(chunk->processor_brand)); in ac_sqtt_fill_cpu_info()
172 chunk->clock_speed = 0; in ac_sqtt_fill_cpu_info()
173 chunk->num_logical_cores = 0; in ac_sqtt_fill_cpu_info()
174 chunk->num_physical_cores = 0; in ac_sqtt_fill_cpu_info()
175 chunk->system_ram_size = 0; in ac_sqtt_fill_cpu_info()
177 chunk->system_ram_size = system_ram_size / (1024 * 1024); in ac_sqtt_fill_cpu_info()
190 char *ptr = (char *)chunk->vendor_id; in ac_sqtt_fill_cpu_info()
193 strncpy(ptr, v + 1, sizeof(chunk->vendor_id) - 1); in ac_sqtt_fill_cpu_info()
194 ptr[sizeof(chunk->vendor_id) - 1] = '\0'; in ac_sqtt_fill_cpu_info()
200 char *ptr = (char *)chunk->processor_brand; in ac_sqtt_fill_cpu_info()
203 strncpy(ptr, v + 1, sizeof(chunk->processor_brand) - 1); in ac_sqtt_fill_cpu_info()
204 ptr[sizeof(chunk->processor_brand) - 1] = '\0'; in ac_sqtt_fill_cpu_info()
220 chunk->num_logical_cores = v; in ac_sqtt_fill_cpu_info()
228 chunk->num_physical_cores = v; in ac_sqtt_fill_cpu_info()
232 if (chunk->num_logical_cores) in ac_sqtt_fill_cpu_info()
233 chunk->clock_speed = cpu_clock_speed_total / chunk->num_logical_cores; in ac_sqtt_fill_cpu_info()
396 struct sqtt_file_chunk_asic_info *chunk) in ac_sqtt_fill_asic_info() argument
400 chunk->header.chunk_id.type = SQTT_FILE_CHUNK_TYPE_ASIC_INFO; in ac_sqtt_fill_asic_info()
401 chunk->header.chunk_id.index = 0; in ac_sqtt_fill_asic_info()
402 chunk->header.major_version = 0; in ac_sqtt_fill_asic_info()
403 chunk->header.minor_version = 5; in ac_sqtt_fill_asic_info()
404 chunk->header.size_in_bytes = sizeof(*chunk); in ac_sqtt_fill_asic_info()
406 chunk->flags = 0; in ac_sqtt_fill_asic_info()
412 chunk->flags |= SQTT_FILE_CHUNK_ASIC_INFO_FLAG_SC_PACKER_NUMBERING; in ac_sqtt_fill_asic_info()
416 chunk->flags |= SQTT_FILE_CHUNK_ASIC_INFO_FLAG_PS1_EVENT_TOKENS_ENABLED; in ac_sqtt_fill_asic_info()
418 chunk->trace_shader_core_clock = rad_info->max_gpu_freq_mhz * 1000000ull; in ac_sqtt_fill_asic_info()
419 chunk->trace_memory_clock = rad_info->memory_freq_mhz * 1000000ull; in ac_sqtt_fill_asic_info()
423 if (!chunk->trace_shader_core_clock) in ac_sqtt_fill_asic_info()
424 chunk->trace_shader_core_clock = 1300000000; in ac_sqtt_fill_asic_info()
425 if (!chunk->trace_memory_clock) in ac_sqtt_fill_asic_info()
426 chunk->trace_memory_clock = 687000000; in ac_sqtt_fill_asic_info()
428 chunk->device_id = rad_info->pci_id; in ac_sqtt_fill_asic_info()
429 chunk->device_revision_id = rad_info->pci_rev_id; in ac_sqtt_fill_asic_info()
430 chunk->vgprs_per_simd = rad_info->num_physical_wave64_vgprs_per_simd * (has_wave32 ? 2 : 1); in ac_sqtt_fill_asic_info()
431 chunk->sgprs_per_simd = rad_info->num_physical_sgprs_per_simd; in ac_sqtt_fill_asic_info()
432 chunk->shader_engines = rad_info->max_se; in ac_sqtt_fill_asic_info()
433 chunk->compute_unit_per_shader_engine = rad_info->min_good_cu_per_sa * rad_info->max_sa_per_se; in ac_sqtt_fill_asic_info()
434 chunk->simd_per_compute_unit = rad_info->num_simd_per_compute_unit; in ac_sqtt_fill_asic_info()
435 chunk->wavefronts_per_simd = rad_info->max_waves_per_simd; in ac_sqtt_fill_asic_info()
437 chunk->minimum_vgpr_alloc = rad_info->min_wave64_vgpr_alloc; in ac_sqtt_fill_asic_info()
438 chunk->vgpr_alloc_granularity = rad_info->wave64_vgpr_alloc_granularity * (has_wave32 ? 2 : 1); in ac_sqtt_fill_asic_info()
439 chunk->minimum_sgpr_alloc = rad_info->min_sgpr_alloc; in ac_sqtt_fill_asic_info()
440 chunk->sgpr_alloc_granularity = rad_info->sgpr_alloc_granularity; in ac_sqtt_fill_asic_info()
442 chunk->hardware_contexts = 8; in ac_sqtt_fill_asic_info()
443 chunk->gpu_type = in ac_sqtt_fill_asic_info()
445 chunk->gfxip_level = ac_gfx_level_to_sqtt_gfxip_level(rad_info->gfx_level); in ac_sqtt_fill_asic_info()
446 chunk->gpu_index = 0; in ac_sqtt_fill_asic_info()
448 chunk->max_number_of_dedicated_cus = 0; in ac_sqtt_fill_asic_info()
449 chunk->ce_ram_size = 0; in ac_sqtt_fill_asic_info()
450 chunk->ce_ram_size_graphics = 0; in ac_sqtt_fill_asic_info()
451 chunk->ce_ram_size_compute = 0; in ac_sqtt_fill_asic_info()
453 chunk->vram_bus_width = rad_info->memory_bus_width; in ac_sqtt_fill_asic_info()
454 chunk->vram_size = (uint64_t)rad_info->vram_size_kb * 1024; in ac_sqtt_fill_asic_info()
455 chunk->l2_cache_size = rad_info->l2_cache_size; in ac_sqtt_fill_asic_info()
456 chunk->l1_cache_size = rad_info->tcp_cache_size; in ac_sqtt_fill_asic_info()
457 chunk->lds_size = rad_info->lds_size_per_workgroup; in ac_sqtt_fill_asic_info()
460 chunk->lds_size /= 2; in ac_sqtt_fill_asic_info()
463 strncpy(chunk->gpu_name, rad_info->name, SQTT_GPU_NAME_MAX_SIZE - 1); in ac_sqtt_fill_asic_info()
465 chunk->alu_per_clock = 0.0; in ac_sqtt_fill_asic_info()
466 chunk->texture_per_clock = 0.0; in ac_sqtt_fill_asic_info()
467 chunk->prims_per_clock = rad_info->max_se; in ac_sqtt_fill_asic_info()
469 chunk->prims_per_clock *= 2; in ac_sqtt_fill_asic_info()
470 chunk->pixels_per_clock = 0.0; in ac_sqtt_fill_asic_info()
472 chunk->gpu_timestamp_frequency = rad_info->clock_crystal_freq * 1000; in ac_sqtt_fill_asic_info()
473 chunk->max_shader_core_clock = rad_info->max_gpu_freq_mhz * 1000000; in ac_sqtt_fill_asic_info()
474 chunk->max_memory_clock = rad_info->memory_freq_mhz * 1000000; in ac_sqtt_fill_asic_info()
475 chunk->memory_ops_per_clock = ac_memory_ops_per_clock(rad_info->vram_type); in ac_sqtt_fill_asic_info()
476 chunk->memory_chip_type = ac_vram_type_to_sqtt_memory_type(rad_info->vram_type); in ac_sqtt_fill_asic_info()
477 chunk->lds_granularity = rad_info->lds_encode_granularity; in ac_sqtt_fill_asic_info()
481 chunk->cu_mask[se][sa] = rad_info->cu_mask[se][sa]; in ac_sqtt_fill_asic_info()
485 chunk->gl1_cache_size = rad_info->l1_cache_size; in ac_sqtt_fill_asic_info()
486 chunk->instruction_cache_size = rad_info->sqc_inst_cache_size; in ac_sqtt_fill_asic_info()
487 chunk->scalar_cache_size = rad_info->sqc_scalar_cache_size; in ac_sqtt_fill_asic_info()
488 chunk->mall_cache_size = rad_info->l3_cache_size_mb * 1024 * 1024; in ac_sqtt_fill_asic_info()
562 static void ac_sqtt_fill_api_info(struct sqtt_file_chunk_api_info *chunk) in ac_sqtt_fill_api_info() argument
564 chunk->header.chunk_id.type = SQTT_FILE_CHUNK_TYPE_API_INFO; in ac_sqtt_fill_api_info()
565 chunk->header.chunk_id.index = 0; in ac_sqtt_fill_api_info()
566 chunk->header.major_version = 0; in ac_sqtt_fill_api_info()
567 chunk->header.minor_version = 2; in ac_sqtt_fill_api_info()
568 chunk->header.size_in_bytes = sizeof(*chunk); in ac_sqtt_fill_api_info()
570 chunk->api_type = SQTT_API_TYPE_VULKAN; in ac_sqtt_fill_api_info()
571 chunk->major_version = 0; in ac_sqtt_fill_api_info()
572 chunk->minor_version = 0; in ac_sqtt_fill_api_info()
573 chunk->profiling_mode = SQTT_PROFILING_MODE_PRESENT; in ac_sqtt_fill_api_info()
574 chunk->instruction_trace_mode = SQTT_INSTRUCTION_TRACE_DISABLED; in ac_sqtt_fill_api_info()
591 struct sqtt_file_chunk_code_object_database *chunk, size_t file_offset, in ac_sqtt_fill_code_object() argument
594 chunk->header.chunk_id.type = SQTT_FILE_CHUNK_TYPE_CODE_OBJECT_DATABASE; in ac_sqtt_fill_code_object()
595 chunk->header.chunk_id.index = 0; in ac_sqtt_fill_code_object()
596 chunk->header.major_version = 0; in ac_sqtt_fill_code_object()
597 chunk->header.minor_version = 0; in ac_sqtt_fill_code_object()
598 chunk->header.size_in_bytes = chunk_size; in ac_sqtt_fill_code_object()
599 chunk->offset = file_offset; in ac_sqtt_fill_code_object()
600 chunk->flags = 0; in ac_sqtt_fill_code_object()
601 chunk->size = chunk_size; in ac_sqtt_fill_code_object()
602 chunk->record_count = rgp_code_object->record_count; in ac_sqtt_fill_code_object()
623 struct sqtt_file_chunk_code_object_loader_events *chunk, in ac_sqtt_fill_loader_events() argument
626 chunk->header.chunk_id.type = in ac_sqtt_fill_loader_events()
628 chunk->header.chunk_id.index = 0; in ac_sqtt_fill_loader_events()
629 chunk->header.major_version = 1; in ac_sqtt_fill_loader_events()
630 chunk->header.minor_version = 0; in ac_sqtt_fill_loader_events()
631 chunk->header.size_in_bytes = (rgp_loader_events->record_count * in ac_sqtt_fill_loader_events()
633 sizeof(*chunk); in ac_sqtt_fill_loader_events()
634 chunk->offset = file_offset; in ac_sqtt_fill_loader_events()
635 chunk->flags = 0; in ac_sqtt_fill_loader_events()
636 chunk->record_size = sizeof(struct sqtt_code_object_loader_events_record); in ac_sqtt_fill_loader_events()
637 chunk->record_count = rgp_loader_events->record_count; in ac_sqtt_fill_loader_events()
655 struct sqtt_file_chunk_pso_correlation *chunk, size_t file_offset) in ac_sqtt_fill_pso_correlation() argument
657 chunk->header.chunk_id.type = SQTT_FILE_CHUNK_TYPE_PSO_CORRELATION; in ac_sqtt_fill_pso_correlation()
658 chunk->header.chunk_id.index = 0; in ac_sqtt_fill_pso_correlation()
659 chunk->header.major_version = 0; in ac_sqtt_fill_pso_correlation()
660 chunk->header.minor_version = 0; in ac_sqtt_fill_pso_correlation()
661 chunk->header.size_in_bytes = (rgp_pso_correlation->record_count * in ac_sqtt_fill_pso_correlation()
663 sizeof(*chunk); in ac_sqtt_fill_pso_correlation()
664 chunk->offset = file_offset; in ac_sqtt_fill_pso_correlation()
665 chunk->flags = 0; in ac_sqtt_fill_pso_correlation()
666 chunk->record_size = sizeof(struct sqtt_pso_correlation_record); in ac_sqtt_fill_pso_correlation()
667 chunk->record_count = rgp_pso_correlation->record_count; in ac_sqtt_fill_pso_correlation()
712 struct sqtt_file_chunk_sqtt_desc *chunk, int32_t chunk_index, in ac_sqtt_fill_sqtt_desc() argument
715 chunk->header.chunk_id.type = SQTT_FILE_CHUNK_TYPE_SQTT_DESC; in ac_sqtt_fill_sqtt_desc()
716 chunk->header.chunk_id.index = chunk_index; in ac_sqtt_fill_sqtt_desc()
717 chunk->header.major_version = 0; in ac_sqtt_fill_sqtt_desc()
718 chunk->header.minor_version = 2; in ac_sqtt_fill_sqtt_desc()
719 chunk->header.size_in_bytes = sizeof(*chunk); in ac_sqtt_fill_sqtt_desc()
721 chunk->sqtt_version = in ac_sqtt_fill_sqtt_desc()
723 chunk->shader_engine_index = shader_engine_index; in ac_sqtt_fill_sqtt_desc()
724 chunk->v1.instrumentation_spec_version = 1; in ac_sqtt_fill_sqtt_desc()
725 chunk->v1.instrumentation_api_version = 0; in ac_sqtt_fill_sqtt_desc()
726 chunk->v1.compute_unit_index = compute_unit_index; in ac_sqtt_fill_sqtt_desc()
741 static void ac_sqtt_fill_sqtt_data(struct sqtt_file_chunk_sqtt_data *chunk, int32_t chunk_index, in ac_sqtt_fill_sqtt_data() argument
744 chunk->header.chunk_id.type = SQTT_FILE_CHUNK_TYPE_SQTT_DATA; in ac_sqtt_fill_sqtt_data()
745 chunk->header.chunk_id.index = chunk_index; in ac_sqtt_fill_sqtt_data()
746 chunk->header.major_version = 0; in ac_sqtt_fill_sqtt_data()
747 chunk->header.minor_version = 0; in ac_sqtt_fill_sqtt_data()
748 chunk->header.size_in_bytes = sizeof(*chunk) + size; in ac_sqtt_fill_sqtt_data()
750 chunk->offset = sizeof(*chunk) + offset; in ac_sqtt_fill_sqtt_data()
751 chunk->size = size; in ac_sqtt_fill_sqtt_data()
795 struct sqtt_file_chunk_queue_event_timings *chunk) in ac_sqtt_fill_queue_event_timings() argument
802 chunk->header.chunk_id.type = SQTT_FILE_CHUNK_TYPE_QUEUE_EVENT_TIMINGS; in ac_sqtt_fill_queue_event_timings()
803 chunk->header.chunk_id.index = 0; in ac_sqtt_fill_queue_event_timings()
804 chunk->header.major_version = 1; in ac_sqtt_fill_queue_event_timings()
805 chunk->header.minor_version = 1; in ac_sqtt_fill_queue_event_timings()
806 chunk->header.size_in_bytes = queue_info_size + queue_event_size + in ac_sqtt_fill_queue_event_timings()
807 sizeof(*chunk); in ac_sqtt_fill_queue_event_timings()
809 chunk->queue_info_table_record_count = rgp_queue_info->record_count; in ac_sqtt_fill_queue_event_timings()
810 chunk->queue_info_table_size = queue_info_size; in ac_sqtt_fill_queue_event_timings()
811 chunk->queue_event_table_record_count = rgp_queue_event->record_count; in ac_sqtt_fill_queue_event_timings()
812 chunk->queue_event_table_size = queue_event_size; in ac_sqtt_fill_queue_event_timings()
829 ac_sqtt_fill_clock_calibration(struct sqtt_file_chunk_clock_calibration *chunk, in ac_sqtt_fill_clock_calibration() argument
832 chunk->header.chunk_id.type = SQTT_FILE_CHUNK_TYPE_CLOCK_CALIBRATION; in ac_sqtt_fill_clock_calibration()
833 chunk->header.chunk_id.index = chunk_index; in ac_sqtt_fill_clock_calibration()
834 chunk->header.major_version = 0; in ac_sqtt_fill_clock_calibration()
835 chunk->header.minor_version = 0; in ac_sqtt_fill_clock_calibration()
836 chunk->header.size_in_bytes = sizeof(*chunk); in ac_sqtt_fill_clock_calibration()
877 uint32_t data_offset; /* offset of counter from the beginning of the chunk */
895 struct sqtt_file_chunk_spm_db *chunk, in ac_sqtt_fill_spm_db() argument
899 chunk->header.chunk_id.type = SQTT_FILE_CHUNK_TYPE_SPM_DB; in ac_sqtt_fill_spm_db()
900 chunk->header.chunk_id.index = 0; in ac_sqtt_fill_spm_db()
901 chunk->header.major_version = 2; in ac_sqtt_fill_spm_db()
902 chunk->header.minor_version = 0; in ac_sqtt_fill_spm_db()
903 chunk->header.size_in_bytes = chunk_size; in ac_sqtt_fill_spm_db()
905 chunk->flags = 0; in ac_sqtt_fill_spm_db()
906 chunk->preamble_size = sizeof(struct sqtt_file_chunk_spm_db); in ac_sqtt_fill_spm_db()
907 chunk->num_timestamps = num_samples; in ac_sqtt_fill_spm_db()
908 chunk->num_spm_counter_info = spm_trace->num_counters; in ac_sqtt_fill_spm_db()
909 chunk->spm_counter_info_size = sizeof(struct sqtt_spm_counter_info); in ac_sqtt_fill_spm_db()
910 chunk->sample_interval = spm_trace->sample_interval; in ac_sqtt_fill_spm_db()
977 /* SQTT SPM DB chunk. */ in ac_sqtt_dump_spm()
1007 /* SQTT cpu chunk. */ in ac_sqtt_dump_data()
1012 /* SQTT asic chunk. */ in ac_sqtt_dump_data()
1017 /* SQTT api chunk. */ in ac_sqtt_dump_data()
1022 /* SQTT code object database chunk. */ in ac_sqtt_dump_data()
1055 /* SQTT code object loader events chunk. */ in ac_sqtt_dump_data()
1072 /* SQTT pso correlation chunk. */ in ac_sqtt_dump_data()
1170 /* SQTT desc chunk. */ in ac_sqtt_dump_data()
1175 /* SQTT data chunk. */ in ac_sqtt_dump_data()