Lines Matching refs:adev
48 void amdgpu_unregister_gpu_instance(struct amdgpu_device *adev) in amdgpu_unregister_gpu_instance() argument
57 if (gpu_instance->adev == adev) { in amdgpu_unregister_gpu_instance()
61 if (adev->flags & AMD_IS_APU) in amdgpu_unregister_gpu_instance()
82 struct amdgpu_device *adev = drm_to_adev(dev); in amdgpu_driver_unload_kms() local
84 if (adev == NULL) in amdgpu_driver_unload_kms()
87 amdgpu_unregister_gpu_instance(adev); in amdgpu_driver_unload_kms()
89 if (adev->rmmio == NULL) in amdgpu_driver_unload_kms()
95 amdgpu_acpi_fini(adev); in amdgpu_driver_unload_kms()
96 amdgpu_device_fini_hw(adev); in amdgpu_driver_unload_kms()
99 void amdgpu_register_gpu_instance(struct amdgpu_device *adev) in amdgpu_register_gpu_instance() argument
112 gpu_instance->adev = adev; in amdgpu_register_gpu_instance()
116 if (adev->flags & AMD_IS_APU) in amdgpu_register_gpu_instance()
133 int amdgpu_driver_load_kms(struct amdgpu_device *adev, unsigned long flags) in amdgpu_driver_load_kms() argument
138 dev = adev_to_drm(adev); in amdgpu_driver_load_kms()
146 r = amdgpu_device_init(adev, flags); in amdgpu_driver_load_kms()
152 adev->pm.rpm_mode = AMDGPU_RUNPM_NONE; in amdgpu_driver_load_kms()
155 adev->pm.rpm_mode = AMDGPU_RUNPM_PX; in amdgpu_driver_load_kms()
156 dev_info(adev->dev, "Using ATPX for runtime pm\n"); in amdgpu_driver_load_kms()
159 adev->pm.rpm_mode = AMDGPU_RUNPM_BOCO; in amdgpu_driver_load_kms()
160 dev_info(adev->dev, "Using BOCO for runtime pm\n"); in amdgpu_driver_load_kms()
163 switch (adev->asic_type) { in amdgpu_driver_load_kms()
168 adev->pm.rpm_mode = AMDGPU_RUNPM_BACO; in amdgpu_driver_load_kms()
172 if (!adev->gmc.noretry) in amdgpu_driver_load_kms()
173 adev->pm.rpm_mode = AMDGPU_RUNPM_BACO; in amdgpu_driver_load_kms()
177 adev->pm.rpm_mode = AMDGPU_RUNPM_BACO; in amdgpu_driver_load_kms()
181 if (adev->pm.rpm_mode == AMDGPU_RUNPM_BACO) in amdgpu_driver_load_kms()
182 dev_info(adev->dev, "Using BACO for runtime pm\n"); in amdgpu_driver_load_kms()
189 acpi_status = amdgpu_acpi_init(adev); in amdgpu_driver_load_kms()
205 struct amdgpu_device *adev) in amdgpu_firmware_info() argument
209 fw_info->ver = adev->vce.fw_version; in amdgpu_firmware_info()
210 fw_info->feature = adev->vce.fb_version; in amdgpu_firmware_info()
213 fw_info->ver = adev->uvd.fw_version; in amdgpu_firmware_info()
217 fw_info->ver = adev->vcn.fw_version; in amdgpu_firmware_info()
221 fw_info->ver = adev->gmc.fw_version; in amdgpu_firmware_info()
225 fw_info->ver = adev->gfx.me_fw_version; in amdgpu_firmware_info()
226 fw_info->feature = adev->gfx.me_feature_version; in amdgpu_firmware_info()
229 fw_info->ver = adev->gfx.pfp_fw_version; in amdgpu_firmware_info()
230 fw_info->feature = adev->gfx.pfp_feature_version; in amdgpu_firmware_info()
233 fw_info->ver = adev->gfx.ce_fw_version; in amdgpu_firmware_info()
234 fw_info->feature = adev->gfx.ce_feature_version; in amdgpu_firmware_info()
237 fw_info->ver = adev->gfx.rlc_fw_version; in amdgpu_firmware_info()
238 fw_info->feature = adev->gfx.rlc_feature_version; in amdgpu_firmware_info()
241 fw_info->ver = adev->gfx.rlc_srlc_fw_version; in amdgpu_firmware_info()
242 fw_info->feature = adev->gfx.rlc_srlc_feature_version; in amdgpu_firmware_info()
245 fw_info->ver = adev->gfx.rlc_srlg_fw_version; in amdgpu_firmware_info()
246 fw_info->feature = adev->gfx.rlc_srlg_feature_version; in amdgpu_firmware_info()
249 fw_info->ver = adev->gfx.rlc_srls_fw_version; in amdgpu_firmware_info()
250 fw_info->feature = adev->gfx.rlc_srls_feature_version; in amdgpu_firmware_info()
253 fw_info->ver = adev->gfx.rlcp_ucode_version; in amdgpu_firmware_info()
254 fw_info->feature = adev->gfx.rlcp_ucode_feature_version; in amdgpu_firmware_info()
257 fw_info->ver = adev->gfx.rlcv_ucode_version; in amdgpu_firmware_info()
258 fw_info->feature = adev->gfx.rlcv_ucode_feature_version; in amdgpu_firmware_info()
262 fw_info->ver = adev->gfx.mec_fw_version; in amdgpu_firmware_info()
263 fw_info->feature = adev->gfx.mec_feature_version; in amdgpu_firmware_info()
265 fw_info->ver = adev->gfx.mec2_fw_version; in amdgpu_firmware_info()
266 fw_info->feature = adev->gfx.mec2_feature_version; in amdgpu_firmware_info()
271 fw_info->ver = adev->pm.fw_version; in amdgpu_firmware_info()
277 fw_info->ver = adev->psp.xgmi_context.context.bin_desc.fw_version; in amdgpu_firmware_info()
278 fw_info->feature = adev->psp.xgmi_context.context in amdgpu_firmware_info()
282 fw_info->ver = adev->psp.ras_context.context.bin_desc.fw_version; in amdgpu_firmware_info()
283 fw_info->feature = adev->psp.ras_context.context in amdgpu_firmware_info()
287 fw_info->ver = adev->psp.hdcp_context.context.bin_desc.fw_version; in amdgpu_firmware_info()
288 fw_info->feature = adev->psp.hdcp_context.context in amdgpu_firmware_info()
292 fw_info->ver = adev->psp.dtm_context.context.bin_desc.fw_version; in amdgpu_firmware_info()
293 fw_info->feature = adev->psp.dtm_context.context in amdgpu_firmware_info()
297 fw_info->ver = adev->psp.rap_context.context.bin_desc.fw_version; in amdgpu_firmware_info()
298 fw_info->feature = adev->psp.rap_context.context in amdgpu_firmware_info()
302 fw_info->ver = adev->psp.securedisplay_context.context.bin_desc.fw_version; in amdgpu_firmware_info()
304 adev->psp.securedisplay_context.context.bin_desc in amdgpu_firmware_info()
312 if (query_fw->index >= adev->sdma.num_instances) in amdgpu_firmware_info()
314 fw_info->ver = adev->sdma.instance[query_fw->index].fw_version; in amdgpu_firmware_info()
315 fw_info->feature = adev->sdma.instance[query_fw->index].feature_version; in amdgpu_firmware_info()
318 fw_info->ver = adev->psp.sos.fw_version; in amdgpu_firmware_info()
319 fw_info->feature = adev->psp.sos.feature_version; in amdgpu_firmware_info()
322 fw_info->ver = adev->psp.asd_context.bin_desc.fw_version; in amdgpu_firmware_info()
323 fw_info->feature = adev->psp.asd_context.bin_desc.feature_version; in amdgpu_firmware_info()
326 fw_info->ver = adev->dm.dmcu_fw_version; in amdgpu_firmware_info()
330 fw_info->ver = adev->dm.dmcub_fw_version; in amdgpu_firmware_info()
334 fw_info->ver = adev->psp.toc.fw_version; in amdgpu_firmware_info()
335 fw_info->feature = adev->psp.toc.feature_version; in amdgpu_firmware_info()
338 fw_info->ver = adev->psp.cap_fw_version; in amdgpu_firmware_info()
339 fw_info->feature = adev->psp.cap_feature_version; in amdgpu_firmware_info()
342 fw_info->ver = adev->mes.kiq_version & AMDGPU_MES_VERSION_MASK; in amdgpu_firmware_info()
343 fw_info->feature = (adev->mes.kiq_version & AMDGPU_MES_FEAT_VERSION_MASK) in amdgpu_firmware_info()
347 fw_info->ver = adev->mes.sched_version & AMDGPU_MES_VERSION_MASK; in amdgpu_firmware_info()
348 fw_info->feature = (adev->mes.sched_version & AMDGPU_MES_FEAT_VERSION_MASK) in amdgpu_firmware_info()
352 fw_info->ver = adev->gfx.imu_fw_version; in amdgpu_firmware_info()
361 static int amdgpu_hw_ip_info(struct amdgpu_device *adev, in amdgpu_hw_ip_info() argument
377 for (i = 0; i < adev->gfx.num_gfx_rings; i++) in amdgpu_hw_ip_info()
378 if (adev->gfx.gfx_ring[i].sched.ready) in amdgpu_hw_ip_info()
385 for (i = 0; i < adev->gfx.num_compute_rings; i++) in amdgpu_hw_ip_info()
386 if (adev->gfx.compute_ring[i].sched.ready) in amdgpu_hw_ip_info()
393 for (i = 0; i < adev->sdma.num_instances; i++) in amdgpu_hw_ip_info()
394 if (adev->sdma.instance[i].ring.sched.ready) in amdgpu_hw_ip_info()
401 for (i = 0; i < adev->uvd.num_uvd_inst; i++) { in amdgpu_hw_ip_info()
402 if (adev->uvd.harvest_config & (1 << i)) in amdgpu_hw_ip_info()
405 if (adev->uvd.inst[i].ring.sched.ready) in amdgpu_hw_ip_info()
413 for (i = 0; i < adev->vce.num_rings; i++) in amdgpu_hw_ip_info()
414 if (adev->vce.ring[i].sched.ready) in amdgpu_hw_ip_info()
421 for (i = 0; i < adev->uvd.num_uvd_inst; i++) { in amdgpu_hw_ip_info()
422 if (adev->uvd.harvest_config & (1 << i)) in amdgpu_hw_ip_info()
425 for (j = 0; j < adev->uvd.num_enc_rings; j++) in amdgpu_hw_ip_info()
426 if (adev->uvd.inst[i].ring_enc[j].sched.ready) in amdgpu_hw_ip_info()
434 for (i = 0; i < adev->vcn.num_vcn_inst; i++) { in amdgpu_hw_ip_info()
435 if (adev->vcn.harvest_config & (1 << i)) in amdgpu_hw_ip_info()
438 if (adev->vcn.inst[i].ring_dec.sched.ready) in amdgpu_hw_ip_info()
446 for (i = 0; i < adev->vcn.num_vcn_inst; i++) { in amdgpu_hw_ip_info()
447 if (adev->vcn.harvest_config & (1 << i)) in amdgpu_hw_ip_info()
450 for (j = 0; j < adev->vcn.num_enc_rings; j++) in amdgpu_hw_ip_info()
451 if (adev->vcn.inst[i].ring_enc[j].sched.ready) in amdgpu_hw_ip_info()
458 type = (amdgpu_device_ip_get_ip_block(adev, AMD_IP_BLOCK_TYPE_JPEG)) ? in amdgpu_hw_ip_info()
461 for (i = 0; i < adev->jpeg.num_jpeg_inst; i++) { in amdgpu_hw_ip_info()
462 if (adev->jpeg.harvest_config & (1 << i)) in amdgpu_hw_ip_info()
465 for (j = 0; j < adev->jpeg.num_jpeg_rings; j++) in amdgpu_hw_ip_info()
466 if (adev->jpeg.inst[i].ring_dec[j].sched.ready) in amdgpu_hw_ip_info()
476 for (i = 0; i < adev->num_ip_blocks; i++) in amdgpu_hw_ip_info()
477 if (adev->ip_blocks[i].version->type == type && in amdgpu_hw_ip_info()
478 adev->ip_blocks[i].status.valid) in amdgpu_hw_ip_info()
481 if (i == adev->num_ip_blocks) in amdgpu_hw_ip_info()
487 result->hw_ip_version_major = adev->ip_blocks[i].version->major; in amdgpu_hw_ip_info()
488 result->hw_ip_version_minor = adev->ip_blocks[i].version->minor; in amdgpu_hw_ip_info()
490 if (adev->asic_type >= CHIP_VEGA10) { in amdgpu_hw_ip_info()
493 result->ip_discovery_version = adev->ip_versions[GC_HWIP][0]; in amdgpu_hw_ip_info()
496 result->ip_discovery_version = adev->ip_versions[SDMA0_HWIP][0]; in amdgpu_hw_ip_info()
501 result->ip_discovery_version = adev->ip_versions[UVD_HWIP][0]; in amdgpu_hw_ip_info()
504 result->ip_discovery_version = adev->ip_versions[VCE_HWIP][0]; in amdgpu_hw_ip_info()
537 struct amdgpu_device *adev = drm_to_adev(dev); in amdgpu_info_ioctl() local
539 struct amdgpu_mode_info *minfo = &adev->mode_info; in amdgpu_info_ioctl()
553 ui32 = adev->accel_working; in amdgpu_info_ioctl()
556 for (i = 0, found = 0; i < adev->mode_info.num_crtc; i++) { in amdgpu_info_ioctl()
575 ret = amdgpu_hw_ip_info(adev, info, &ip); in amdgpu_info_ioctl()
610 type = (amdgpu_device_ip_get_ip_block(adev, AMD_IP_BLOCK_TYPE_JPEG)) ? in amdgpu_info_ioctl()
617 for (i = 0; i < adev->num_ip_blocks; i++) in amdgpu_info_ioctl()
618 if (adev->ip_blocks[i].version->type == type && in amdgpu_info_ioctl()
619 adev->ip_blocks[i].status.valid && in amdgpu_info_ioctl()
626 ui64 = amdgpu_gfx_get_gpu_clock_counter(adev); in amdgpu_info_ioctl()
636 ret = amdgpu_firmware_info(&fw_info, &info->query_fw, adev); in amdgpu_info_ioctl()
644 ui64 = atomic64_read(&adev->num_bytes_moved); in amdgpu_info_ioctl()
647 ui64 = atomic64_read(&adev->num_evictions); in amdgpu_info_ioctl()
650 ui64 = atomic64_read(&adev->num_vram_cpu_page_faults); in amdgpu_info_ioctl()
653 ui64 = ttm_resource_manager_usage(&adev->mman.vram_mgr.manager); in amdgpu_info_ioctl()
656 ui64 = amdgpu_vram_mgr_vis_usage(&adev->mman.vram_mgr); in amdgpu_info_ioctl()
659 ui64 = ttm_resource_manager_usage(&adev->mman.gtt_mgr.manager); in amdgpu_info_ioctl()
665 gds_info.compute_partition_size = adev->gds.gds_size; in amdgpu_info_ioctl()
666 gds_info.gds_total_size = adev->gds.gds_size; in amdgpu_info_ioctl()
667 gds_info.gws_per_compute_partition = adev->gds.gws_size; in amdgpu_info_ioctl()
668 gds_info.oa_per_compute_partition = adev->gds.oa_size; in amdgpu_info_ioctl()
675 vram_gtt.vram_size = adev->gmc.real_vram_size - in amdgpu_info_ioctl()
676 atomic64_read(&adev->vram_pin_size) - in amdgpu_info_ioctl()
679 min(adev->gmc.visible_vram_size - in amdgpu_info_ioctl()
680 atomic64_read(&adev->visible_pin_size), in amdgpu_info_ioctl()
682 vram_gtt.gtt_size = ttm_manager_type(&adev->mman.bdev, TTM_PL_TT)->size; in amdgpu_info_ioctl()
683 vram_gtt.gtt_size -= atomic64_read(&adev->gart_pin_size); in amdgpu_info_ioctl()
690 &adev->mman.gtt_mgr.manager; in amdgpu_info_ioctl()
692 &adev->mman.vram_mgr.manager; in amdgpu_info_ioctl()
695 mem.vram.total_heap_size = adev->gmc.real_vram_size; in amdgpu_info_ioctl()
696 mem.vram.usable_heap_size = adev->gmc.real_vram_size - in amdgpu_info_ioctl()
697 atomic64_read(&adev->vram_pin_size) - in amdgpu_info_ioctl()
704 adev->gmc.visible_vram_size; in amdgpu_info_ioctl()
706 min(adev->gmc.visible_vram_size - in amdgpu_info_ioctl()
707 atomic64_read(&adev->visible_pin_size), in amdgpu_info_ioctl()
710 amdgpu_vram_mgr_vis_usage(&adev->mman.vram_mgr); in amdgpu_info_ioctl()
716 atomic64_read(&adev->gart_pin_size); in amdgpu_info_ioctl()
754 amdgpu_gfx_off_ctrl(adev, false); in amdgpu_info_ioctl()
756 if (amdgpu_asic_read_register(adev, se_num, sh_num, in amdgpu_info_ioctl()
762 amdgpu_gfx_off_ctrl(adev, true); in amdgpu_info_ioctl()
766 amdgpu_gfx_off_ctrl(adev, true); in amdgpu_info_ioctl()
781 dev_info->device_id = adev->pdev->device; in amdgpu_info_ioctl()
782 dev_info->chip_rev = adev->rev_id; in amdgpu_info_ioctl()
783 dev_info->external_rev = adev->external_rev_id; in amdgpu_info_ioctl()
784 dev_info->pci_rev = adev->pdev->revision; in amdgpu_info_ioctl()
785 dev_info->family = adev->family; in amdgpu_info_ioctl()
786 dev_info->num_shader_engines = adev->gfx.config.max_shader_engines; in amdgpu_info_ioctl()
787 dev_info->num_shader_arrays_per_engine = adev->gfx.config.max_sh_per_se; in amdgpu_info_ioctl()
789 dev_info->gpu_counter_freq = amdgpu_asic_get_xclk(adev) * 10; in amdgpu_info_ioctl()
790 if (adev->pm.dpm_enabled) { in amdgpu_info_ioctl()
791 dev_info->max_engine_clock = amdgpu_dpm_get_sclk(adev, false) * 10; in amdgpu_info_ioctl()
792 dev_info->max_memory_clock = amdgpu_dpm_get_mclk(adev, false) * 10; in amdgpu_info_ioctl()
793 dev_info->min_engine_clock = amdgpu_dpm_get_sclk(adev, true) * 10; in amdgpu_info_ioctl()
794 dev_info->min_memory_clock = amdgpu_dpm_get_mclk(adev, true) * 10; in amdgpu_info_ioctl()
798 adev->clock.default_sclk * 10; in amdgpu_info_ioctl()
801 adev->clock.default_mclk * 10; in amdgpu_info_ioctl()
803 dev_info->enabled_rb_pipes_mask = adev->gfx.config.backend_enable_mask; in amdgpu_info_ioctl()
804 dev_info->num_rb_pipes = adev->gfx.config.max_backends_per_se * in amdgpu_info_ioctl()
805 adev->gfx.config.max_shader_engines; in amdgpu_info_ioctl()
806 dev_info->num_hw_gfx_contexts = adev->gfx.config.max_hw_contexts; in amdgpu_info_ioctl()
808 if (adev->flags & AMD_IS_APU) in amdgpu_info_ioctl()
810 if (adev->gfx.mcbp) in amdgpu_info_ioctl()
812 if (amdgpu_is_tmz(adev)) in amdgpu_info_ioctl()
814 if (adev->gfx.config.ta_cntl2_truncate_coord_mode) in amdgpu_info_ioctl()
817 vm_size = adev->vm_manager.max_pfn * AMDGPU_GPU_PAGE_SIZE; in amdgpu_info_ioctl()
821 if (adev->vce.fw_version && in amdgpu_info_ioctl()
822 adev->vce.fw_version < AMDGPU_VCE_FW_53_45) in amdgpu_info_ioctl()
834 dev_info->pte_fragment_size = (1 << adev->vm_manager.fragment_size) * AMDGPU_GPU_PAGE_SIZE; in amdgpu_info_ioctl()
836 dev_info->cu_active_number = adev->gfx.cu_info.number; in amdgpu_info_ioctl()
837 dev_info->cu_ao_mask = adev->gfx.cu_info.ao_cu_mask; in amdgpu_info_ioctl()
838 dev_info->ce_ram_size = adev->gfx.ce_ram_size; in amdgpu_info_ioctl()
839 memcpy(&dev_info->cu_ao_bitmap[0], &adev->gfx.cu_info.ao_cu_bitmap[0], in amdgpu_info_ioctl()
840 sizeof(adev->gfx.cu_info.ao_cu_bitmap)); in amdgpu_info_ioctl()
841 memcpy(&dev_info->cu_bitmap[0], &adev->gfx.cu_info.bitmap[0], in amdgpu_info_ioctl()
843 dev_info->vram_type = adev->gmc.vram_type; in amdgpu_info_ioctl()
844 dev_info->vram_bit_width = adev->gmc.vram_width; in amdgpu_info_ioctl()
845 dev_info->vce_harvest_config = adev->vce.harvest_config; in amdgpu_info_ioctl()
847 adev->gfx.config.double_offchip_lds_buf; in amdgpu_info_ioctl()
848 dev_info->wave_front_size = adev->gfx.cu_info.wave_front_size; in amdgpu_info_ioctl()
849 dev_info->num_shader_visible_vgprs = adev->gfx.config.max_gprs; in amdgpu_info_ioctl()
850 dev_info->num_cu_per_sh = adev->gfx.config.max_cu_per_sh; in amdgpu_info_ioctl()
851 dev_info->num_tcc_blocks = adev->gfx.config.max_texture_channel_caches; in amdgpu_info_ioctl()
852 dev_info->gs_vgt_table_depth = adev->gfx.config.gs_vgt_table_depth; in amdgpu_info_ioctl()
853 dev_info->gs_prim_buffer_depth = adev->gfx.config.gs_prim_buffer_depth; in amdgpu_info_ioctl()
854 dev_info->max_gs_waves_per_vgt = adev->gfx.config.max_gs_threads; in amdgpu_info_ioctl()
856 if (adev->family >= AMDGPU_FAMILY_NV) in amdgpu_info_ioctl()
858 adev->gfx.config.pa_sc_tile_steering_override; in amdgpu_info_ioctl()
860 dev_info->tcc_disabled_mask = adev->gfx.config.tcc_disabled_mask; in amdgpu_info_ioctl()
863 pcie_gen_mask = adev->pm.pcie_gen_mask & (adev->pm.pcie_gen_mask >> 16); in amdgpu_info_ioctl()
866 adev->pm.pcie_mlw_mask & CAIL_PCIE_LINK_WIDTH_SUPPORT_X32 ? 32 : in amdgpu_info_ioctl()
867 adev->pm.pcie_mlw_mask & CAIL_PCIE_LINK_WIDTH_SUPPORT_X16 ? 16 : in amdgpu_info_ioctl()
868 adev->pm.pcie_mlw_mask & CAIL_PCIE_LINK_WIDTH_SUPPORT_X12 ? 12 : in amdgpu_info_ioctl()
869 adev->pm.pcie_mlw_mask & CAIL_PCIE_LINK_WIDTH_SUPPORT_X8 ? 8 : in amdgpu_info_ioctl()
870 adev->pm.pcie_mlw_mask & CAIL_PCIE_LINK_WIDTH_SUPPORT_X4 ? 4 : in amdgpu_info_ioctl()
871 adev->pm.pcie_mlw_mask & CAIL_PCIE_LINK_WIDTH_SUPPORT_X2 ? 2 : 1; in amdgpu_info_ioctl()
873 dev_info->tcp_cache_size = adev->gfx.config.gc_tcp_l1_size; in amdgpu_info_ioctl()
874 dev_info->num_sqc_per_wgp = adev->gfx.config.gc_num_sqc_per_wgp; in amdgpu_info_ioctl()
875 dev_info->sqc_data_cache_size = adev->gfx.config.gc_l1_data_cache_size_per_sqc; in amdgpu_info_ioctl()
876 dev_info->sqc_inst_cache_size = adev->gfx.config.gc_l1_instruction_cache_size_per_sqc; in amdgpu_info_ioctl()
877 dev_info->gl1c_cache_size = adev->gfx.config.gc_gl1c_size_per_instance * in amdgpu_info_ioctl()
878 adev->gfx.config.gc_gl1c_per_sa; in amdgpu_info_ioctl()
879 dev_info->gl2c_cache_size = adev->gfx.config.gc_gl2c_per_gpu; in amdgpu_info_ioctl()
880 dev_info->mall_size = adev->gmc.mall_size; in amdgpu_info_ioctl()
883 if (adev->gfx.funcs->get_gfx_shadow_info) { in amdgpu_info_ioctl()
886 ret = amdgpu_gfx_get_gfx_shadow_info(adev, &shadow_info); in amdgpu_info_ioctl()
906 vce_state = amdgpu_dpm_get_vce_clock_state(adev, i); in amdgpu_info_ioctl()
919 uint32_t bios_size = adev->bios_size; in amdgpu_info_ioctl()
933 bios = adev->bios + bios_offset; in amdgpu_info_ioctl()
942 atom_context = adev->mode_info.atom_context; in amdgpu_info_ioctl()
970 if (adev->asic_type < CHIP_POLARIS10) { in amdgpu_info_ioctl()
971 handle.uvd_max_handles = adev->uvd.max_handles; in amdgpu_info_ioctl()
972 handle.uvd_used_handles = amdgpu_uvd_used_handles(adev); in amdgpu_info_ioctl()
986 if (!adev->pm.dpm_enabled) in amdgpu_info_ioctl()
992 if (amdgpu_dpm_read_sensor(adev, in amdgpu_info_ioctl()
1001 if (amdgpu_dpm_read_sensor(adev, in amdgpu_info_ioctl()
1010 if (amdgpu_dpm_read_sensor(adev, in amdgpu_info_ioctl()
1018 if (amdgpu_dpm_read_sensor(adev, in amdgpu_info_ioctl()
1026 if (amdgpu_dpm_read_sensor(adev, in amdgpu_info_ioctl()
1030 if (amdgpu_dpm_read_sensor(adev, in amdgpu_info_ioctl()
1040 if (amdgpu_dpm_read_sensor(adev, in amdgpu_info_ioctl()
1048 if (amdgpu_dpm_read_sensor(adev, in amdgpu_info_ioctl()
1056 if (amdgpu_dpm_read_sensor(adev, in amdgpu_info_ioctl()
1065 if (amdgpu_dpm_read_sensor(adev, in amdgpu_info_ioctl()
1074 if (amdgpu_dpm_read_sensor(adev, in amdgpu_info_ioctl()
1083 if (amdgpu_dpm_read_sensor(adev, in amdgpu_info_ioctl()
1098 ui32 = atomic_read(&adev->vram_lost_counter); in amdgpu_info_ioctl()
1101 struct amdgpu_ras *ras = amdgpu_ras_get_context(adev); in amdgpu_info_ioctl()
1106 ras_mask = (uint64_t)adev->ras_enabled << 32 | ras->features; in amdgpu_info_ioctl()
1117 if (!adev->asic_funcs->query_video_codecs) in amdgpu_info_ioctl()
1122 r = amdgpu_asic_query_video_codecs(adev, false, &codecs); in amdgpu_info_ioctl()
1127 r = amdgpu_asic_query_video_codecs(adev, true, &codecs); in amdgpu_info_ioctl()
1216 struct amdgpu_device *adev = drm_to_adev(dev); in amdgpu_driver_open_kms() local
1221 flush_delayed_work(&adev->delayed_init_work); in amdgpu_driver_open_kms()
1243 dev_warn(adev->dev, "No more PASIDs available!"); in amdgpu_driver_open_kms()
1247 r = amdgpu_xcp_open_device(adev, fpriv, file_priv); in amdgpu_driver_open_kms()
1251 r = amdgpu_vm_init(adev, &fpriv->vm, fpriv->xcp_id); in amdgpu_driver_open_kms()
1255 r = amdgpu_vm_set_pasid(adev, &fpriv->vm, pasid); in amdgpu_driver_open_kms()
1259 fpriv->prt_va = amdgpu_vm_bo_add(adev, &fpriv->vm, NULL); in amdgpu_driver_open_kms()
1265 if (adev->gfx.mcbp) { in amdgpu_driver_open_kms()
1266 uint64_t csa_addr = amdgpu_csa_vaddr(adev) & AMDGPU_GMC_HOLE_MASK; in amdgpu_driver_open_kms()
1268 r = amdgpu_map_static_csa(adev, &fpriv->vm, adev->virt.csa_obj, in amdgpu_driver_open_kms()
1277 amdgpu_ctx_mgr_init(&fpriv->ctx_mgr, adev); in amdgpu_driver_open_kms()
1283 amdgpu_vm_fini(adev, &fpriv->vm); in amdgpu_driver_open_kms()
1288 amdgpu_vm_set_pasid(adev, &fpriv->vm, 0); in amdgpu_driver_open_kms()
1312 struct amdgpu_device *adev = drm_to_adev(dev); in amdgpu_driver_postclose_kms() local
1324 if (amdgpu_device_ip_get_ip_block(adev, AMD_IP_BLOCK_TYPE_UVD) != NULL) in amdgpu_driver_postclose_kms()
1325 amdgpu_uvd_free_handles(adev, file_priv); in amdgpu_driver_postclose_kms()
1326 if (amdgpu_device_ip_get_ip_block(adev, AMD_IP_BLOCK_TYPE_VCE) != NULL) in amdgpu_driver_postclose_kms()
1327 amdgpu_vce_free_handles(adev, file_priv); in amdgpu_driver_postclose_kms()
1330 uint64_t csa_addr = amdgpu_csa_vaddr(adev) & AMDGPU_GMC_HOLE_MASK; in amdgpu_driver_postclose_kms()
1332 WARN_ON(amdgpu_unmap_static_csa(adev, &fpriv->vm, adev->virt.csa_obj, in amdgpu_driver_postclose_kms()
1340 amdgpu_vm_bo_del(adev, fpriv->prt_va); in amdgpu_driver_postclose_kms()
1345 amdgpu_vm_fini(adev, &fpriv->vm); in amdgpu_driver_postclose_kms()
1367 struct amdgpu_device *adev = drm_to_adev(dev); in amdgpu_driver_release_kms() local
1369 amdgpu_device_fini_sw(adev); in amdgpu_driver_release_kms()
1370 pci_set_drvdata(adev->pdev, NULL); in amdgpu_driver_release_kms()
1388 struct amdgpu_device *adev = drm_to_adev(dev); in amdgpu_get_vblank_counter_kms() local
1392 if (pipe >= adev->mode_info.num_crtc) { in amdgpu_get_vblank_counter_kms()
1405 if (adev->mode_info.crtcs[pipe]) { in amdgpu_get_vblank_counter_kms()
1410 count = amdgpu_display_vblank_get_counter(adev, pipe); in amdgpu_get_vblank_counter_kms()
1418 &adev->mode_info.crtcs[pipe]->base.hwmode); in amdgpu_get_vblank_counter_kms()
1419 } while (count != amdgpu_display_vblank_get_counter(adev, pipe)); in amdgpu_get_vblank_counter_kms()
1437 count = amdgpu_display_vblank_get_counter(adev, pipe); in amdgpu_get_vblank_counter_kms()
1456 struct amdgpu_device *adev = drm_to_adev(dev); in amdgpu_enable_vblank_kms() local
1457 int idx = amdgpu_display_crtc_idx_to_irq_type(adev, pipe); in amdgpu_enable_vblank_kms()
1459 return amdgpu_irq_get(adev, &adev->crtc_irq, idx); in amdgpu_enable_vblank_kms()
1473 struct amdgpu_device *adev = drm_to_adev(dev); in amdgpu_disable_vblank_kms() local
1474 int idx = amdgpu_display_crtc_idx_to_irq_type(adev, pipe); in amdgpu_disable_vblank_kms()
1476 amdgpu_irq_put(adev, &adev->crtc_irq, idx); in amdgpu_disable_vblank_kms()
1486 struct amdgpu_device *adev = m->private; in amdgpu_debugfs_firmware_info_show() local
1489 struct atom_context *ctx = adev->mode_info.atom_context; in amdgpu_debugfs_firmware_info_show()
1506 ret = amdgpu_firmware_info(&fw_info, &query_fw, adev); in amdgpu_debugfs_firmware_info_show()
1514 ret = amdgpu_firmware_info(&fw_info, &query_fw, adev); in amdgpu_debugfs_firmware_info_show()
1522 ret = amdgpu_firmware_info(&fw_info, &query_fw, adev); in amdgpu_debugfs_firmware_info_show()
1530 ret = amdgpu_firmware_info(&fw_info, &query_fw, adev); in amdgpu_debugfs_firmware_info_show()
1538 ret = amdgpu_firmware_info(&fw_info, &query_fw, adev); in amdgpu_debugfs_firmware_info_show()
1546 ret = amdgpu_firmware_info(&fw_info, &query_fw, adev); in amdgpu_debugfs_firmware_info_show()
1554 ret = amdgpu_firmware_info(&fw_info, &query_fw, adev); in amdgpu_debugfs_firmware_info_show()
1562 ret = amdgpu_firmware_info(&fw_info, &query_fw, adev); in amdgpu_debugfs_firmware_info_show()
1570 ret = amdgpu_firmware_info(&fw_info, &query_fw, adev); in amdgpu_debugfs_firmware_info_show()
1578 ret = amdgpu_firmware_info(&fw_info, &query_fw, adev); in amdgpu_debugfs_firmware_info_show()
1586 ret = amdgpu_firmware_info(&fw_info, &query_fw, adev); in amdgpu_debugfs_firmware_info_show()
1594 ret = amdgpu_firmware_info(&fw_info, &query_fw, adev); in amdgpu_debugfs_firmware_info_show()
1603 ret = amdgpu_firmware_info(&fw_info, &query_fw, adev); in amdgpu_debugfs_firmware_info_show()
1610 if (adev->gfx.mec2_fw) { in amdgpu_debugfs_firmware_info_show()
1612 ret = amdgpu_firmware_info(&fw_info, &query_fw, adev); in amdgpu_debugfs_firmware_info_show()
1622 ret = amdgpu_firmware_info(&fw_info, &query_fw, adev); in amdgpu_debugfs_firmware_info_show()
1630 ret = amdgpu_firmware_info(&fw_info, &query_fw, adev); in amdgpu_debugfs_firmware_info_show()
1639 ret = amdgpu_firmware_info(&fw_info, &query_fw, adev); in amdgpu_debugfs_firmware_info_show()
1648 ret = amdgpu_firmware_info(&fw_info, &query_fw, adev); in amdgpu_debugfs_firmware_info_show()
1658 ret = amdgpu_firmware_info(&fw_info, &query_fw, adev); in amdgpu_debugfs_firmware_info_show()
1670 for (i = 0; i < adev->sdma.num_instances; i++) { in amdgpu_debugfs_firmware_info_show()
1672 ret = amdgpu_firmware_info(&fw_info, &query_fw, adev); in amdgpu_debugfs_firmware_info_show()
1681 ret = amdgpu_firmware_info(&fw_info, &query_fw, adev); in amdgpu_debugfs_firmware_info_show()
1689 ret = amdgpu_firmware_info(&fw_info, &query_fw, adev); in amdgpu_debugfs_firmware_info_show()
1697 ret = amdgpu_firmware_info(&fw_info, &query_fw, adev); in amdgpu_debugfs_firmware_info_show()
1705 ret = amdgpu_firmware_info(&fw_info, &query_fw, adev); in amdgpu_debugfs_firmware_info_show()
1712 if (adev->psp.cap_fw) { in amdgpu_debugfs_firmware_info_show()
1714 ret = amdgpu_firmware_info(&fw_info, &query_fw, adev); in amdgpu_debugfs_firmware_info_show()
1723 ret = amdgpu_firmware_info(&fw_info, &query_fw, adev); in amdgpu_debugfs_firmware_info_show()
1731 ret = amdgpu_firmware_info(&fw_info, &query_fw, adev); in amdgpu_debugfs_firmware_info_show()
1746 void amdgpu_debugfs_firmware_init(struct amdgpu_device *adev) in amdgpu_debugfs_firmware_init() argument
1749 struct drm_minor *minor = adev_to_drm(adev)->primary; in amdgpu_debugfs_firmware_init()
1753 adev, &amdgpu_debugfs_firmware_info_fops); in amdgpu_debugfs_firmware_init()