Lines Matching refs:ip_blocks
2211 if (!adev->ip_blocks[i].status.valid) in amdgpu_device_ip_set_clockgating_state()
2213 if (adev->ip_blocks[i].version->type != block_type) in amdgpu_device_ip_set_clockgating_state()
2215 if (!adev->ip_blocks[i].version->funcs->set_clockgating_state) in amdgpu_device_ip_set_clockgating_state()
2217 r = adev->ip_blocks[i].version->funcs->set_clockgating_state( in amdgpu_device_ip_set_clockgating_state()
2218 &adev->ip_blocks[i], state); in amdgpu_device_ip_set_clockgating_state()
2221 adev->ip_blocks[i].version->funcs->name, r); in amdgpu_device_ip_set_clockgating_state()
2245 if (!adev->ip_blocks[i].status.valid) in amdgpu_device_ip_set_powergating_state()
2247 if (adev->ip_blocks[i].version->type != block_type) in amdgpu_device_ip_set_powergating_state()
2249 if (!adev->ip_blocks[i].version->funcs->set_powergating_state) in amdgpu_device_ip_set_powergating_state()
2251 r = adev->ip_blocks[i].version->funcs->set_powergating_state( in amdgpu_device_ip_set_powergating_state()
2252 &adev->ip_blocks[i], state); in amdgpu_device_ip_set_powergating_state()
2255 adev->ip_blocks[i].version->funcs->name, r); in amdgpu_device_ip_set_powergating_state()
2277 if (!adev->ip_blocks[i].status.valid) in amdgpu_device_ip_get_clockgating_state()
2279 if (adev->ip_blocks[i].version->funcs->get_clockgating_state) in amdgpu_device_ip_get_clockgating_state()
2280 adev->ip_blocks[i].version->funcs->get_clockgating_state( in amdgpu_device_ip_get_clockgating_state()
2281 &adev->ip_blocks[i], flags); in amdgpu_device_ip_get_clockgating_state()
2300 if (!adev->ip_blocks[i].status.valid) in amdgpu_device_ip_wait_for_idle()
2302 if (adev->ip_blocks[i].version->type == block_type) { in amdgpu_device_ip_wait_for_idle()
2303 if (adev->ip_blocks[i].version->funcs->wait_for_idle) { in amdgpu_device_ip_wait_for_idle()
2304 r = adev->ip_blocks[i].version->funcs->wait_for_idle( in amdgpu_device_ip_wait_for_idle()
2305 &adev->ip_blocks[i]); in amdgpu_device_ip_wait_for_idle()
2331 if (adev->ip_blocks[i].version->type == block_type) in amdgpu_device_ip_is_valid()
2332 return adev->ip_blocks[i].status.valid; in amdgpu_device_ip_is_valid()
2354 if (adev->ip_blocks[i].version->type == type) in amdgpu_device_ip_get_ip_block()
2355 return &adev->ip_blocks[i]; in amdgpu_device_ip_get_ip_block()
2416 adev->ip_blocks[adev->num_ip_blocks].adev = adev; in amdgpu_device_ip_block_add()
2418 adev->ip_blocks[adev->num_ip_blocks++].version = ip_block_version; in amdgpu_device_ip_block_add()
2715 ip_block = &adev->ip_blocks[i]; in amdgpu_device_ip_early_init()
2719 i, adev->ip_blocks[i].version->funcs->name); in amdgpu_device_ip_early_init()
2720 adev->ip_blocks[i].status.valid = false; in amdgpu_device_ip_early_init()
2724 adev->ip_blocks[i].status.valid = false; in amdgpu_device_ip_early_init()
2727 adev->ip_blocks[i].version->funcs->name, r); in amdgpu_device_ip_early_init()
2730 adev->ip_blocks[i].status.valid = true; in amdgpu_device_ip_early_init()
2733 adev->ip_blocks[i].status.valid = true; in amdgpu_device_ip_early_init()
2736 if (adev->ip_blocks[i].version->type == AMD_IP_BLOCK_TYPE_COMMON) { in amdgpu_device_ip_early_init()
2796 if (!adev->ip_blocks[i].status.sw) in amdgpu_device_ip_hw_init_phase1()
2798 if (adev->ip_blocks[i].status.hw) in amdgpu_device_ip_hw_init_phase1()
2801 adev, adev->ip_blocks[i].version->type)) in amdgpu_device_ip_hw_init_phase1()
2803 if (adev->ip_blocks[i].version->type == AMD_IP_BLOCK_TYPE_COMMON || in amdgpu_device_ip_hw_init_phase1()
2804 (amdgpu_sriov_vf(adev) && (adev->ip_blocks[i].version->type == AMD_IP_BLOCK_TYPE_PSP)) || in amdgpu_device_ip_hw_init_phase1()
2805 adev->ip_blocks[i].version->type == AMD_IP_BLOCK_TYPE_IH) { in amdgpu_device_ip_hw_init_phase1()
2806 r = adev->ip_blocks[i].version->funcs->hw_init(&adev->ip_blocks[i]); in amdgpu_device_ip_hw_init_phase1()
2809 adev->ip_blocks[i].version->funcs->name, r); in amdgpu_device_ip_hw_init_phase1()
2812 adev->ip_blocks[i].status.hw = true; in amdgpu_device_ip_hw_init_phase1()
2824 if (!adev->ip_blocks[i].status.sw) in amdgpu_device_ip_hw_init_phase2()
2826 if (adev->ip_blocks[i].status.hw) in amdgpu_device_ip_hw_init_phase2()
2829 adev, adev->ip_blocks[i].version->type)) in amdgpu_device_ip_hw_init_phase2()
2831 r = adev->ip_blocks[i].version->funcs->hw_init(&adev->ip_blocks[i]); in amdgpu_device_ip_hw_init_phase2()
2834 adev->ip_blocks[i].version->funcs->name, r); in amdgpu_device_ip_hw_init_phase2()
2837 adev->ip_blocks[i].status.hw = true; in amdgpu_device_ip_hw_init_phase2()
2851 if (adev->ip_blocks[i].version->type != AMD_IP_BLOCK_TYPE_PSP) in amdgpu_device_fw_loading()
2858 if (!adev->ip_blocks[i].status.sw) in amdgpu_device_fw_loading()
2862 if (adev->ip_blocks[i].status.hw == true) in amdgpu_device_fw_loading()
2866 r = amdgpu_ip_block_resume(&adev->ip_blocks[i]); in amdgpu_device_fw_loading()
2870 r = adev->ip_blocks[i].version->funcs->hw_init(&adev->ip_blocks[i]); in amdgpu_device_fw_loading()
2873 adev->ip_blocks[i].version->funcs->name, r); in amdgpu_device_fw_loading()
2876 adev->ip_blocks[i].status.hw = true; in amdgpu_device_fw_loading()
2973 if (!adev->ip_blocks[i].status.valid) in amdgpu_device_ip_init()
2975 if (adev->ip_blocks[i].version->funcs->sw_init) { in amdgpu_device_ip_init()
2976 r = adev->ip_blocks[i].version->funcs->sw_init(&adev->ip_blocks[i]); in amdgpu_device_ip_init()
2979 adev->ip_blocks[i].version->funcs->name, r); in amdgpu_device_ip_init()
2983 adev->ip_blocks[i].status.sw = true; in amdgpu_device_ip_init()
2986 adev, adev->ip_blocks[i].version->type)) in amdgpu_device_ip_init()
2989 if (adev->ip_blocks[i].version->type == AMD_IP_BLOCK_TYPE_COMMON) { in amdgpu_device_ip_init()
2991 r = adev->ip_blocks[i].version->funcs->hw_init(&adev->ip_blocks[i]); in amdgpu_device_ip_init()
2996 adev->ip_blocks[i].status.hw = true; in amdgpu_device_ip_init()
2997 } else if (adev->ip_blocks[i].version->type == AMD_IP_BLOCK_TYPE_GMC) { in amdgpu_device_ip_init()
3008 r = adev->ip_blocks[i].version->funcs->hw_init(&adev->ip_blocks[i]); in amdgpu_device_ip_init()
3018 adev->ip_blocks[i].status.hw = true; in amdgpu_device_ip_init()
3206 if (!adev->ip_blocks[i].status.late_initialized) in amdgpu_device_set_cg_state()
3210 (adev->ip_blocks[i].version->type == AMD_IP_BLOCK_TYPE_GFX || in amdgpu_device_set_cg_state()
3211 adev->ip_blocks[i].version->type == AMD_IP_BLOCK_TYPE_SDMA)) in amdgpu_device_set_cg_state()
3214 if (adev->ip_blocks[i].version->type != AMD_IP_BLOCK_TYPE_UVD && in amdgpu_device_set_cg_state()
3215 adev->ip_blocks[i].version->type != AMD_IP_BLOCK_TYPE_VCE && in amdgpu_device_set_cg_state()
3216 adev->ip_blocks[i].version->type != AMD_IP_BLOCK_TYPE_VCN && in amdgpu_device_set_cg_state()
3217 adev->ip_blocks[i].version->type != AMD_IP_BLOCK_TYPE_JPEG && in amdgpu_device_set_cg_state()
3218 adev->ip_blocks[i].version->funcs->set_clockgating_state) { in amdgpu_device_set_cg_state()
3220 r = adev->ip_blocks[i].version->funcs->set_clockgating_state(&adev->ip_blocks[i], in amdgpu_device_set_cg_state()
3224 adev->ip_blocks[i].version->funcs->name, r); in amdgpu_device_set_cg_state()
3243 if (!adev->ip_blocks[i].status.late_initialized) in amdgpu_device_set_pg_state()
3247 (adev->ip_blocks[i].version->type == AMD_IP_BLOCK_TYPE_GFX || in amdgpu_device_set_pg_state()
3248 adev->ip_blocks[i].version->type == AMD_IP_BLOCK_TYPE_SDMA)) in amdgpu_device_set_pg_state()
3251 if (adev->ip_blocks[i].version->type != AMD_IP_BLOCK_TYPE_UVD && in amdgpu_device_set_pg_state()
3252 adev->ip_blocks[i].version->type != AMD_IP_BLOCK_TYPE_VCE && in amdgpu_device_set_pg_state()
3253 adev->ip_blocks[i].version->type != AMD_IP_BLOCK_TYPE_VCN && in amdgpu_device_set_pg_state()
3254 adev->ip_blocks[i].version->type != AMD_IP_BLOCK_TYPE_JPEG && in amdgpu_device_set_pg_state()
3255 adev->ip_blocks[i].version->funcs->set_powergating_state) { in amdgpu_device_set_pg_state()
3257 r = adev->ip_blocks[i].version->funcs->set_powergating_state(&adev->ip_blocks[i], in amdgpu_device_set_pg_state()
3261 adev->ip_blocks[i].version->funcs->name, r); in amdgpu_device_set_pg_state()
3322 if (!adev->ip_blocks[i].status.hw) in amdgpu_device_ip_late_init()
3324 if (adev->ip_blocks[i].version->funcs->late_init) { in amdgpu_device_ip_late_init()
3325 r = adev->ip_blocks[i].version->funcs->late_init(&adev->ip_blocks[i]); in amdgpu_device_ip_late_init()
3328 adev->ip_blocks[i].version->funcs->name, r); in amdgpu_device_ip_late_init()
3332 adev->ip_blocks[i].status.late_initialized = true; in amdgpu_device_ip_late_init()
3430 if (!adev->ip_blocks[i].status.hw) in amdgpu_device_smu_fini_early()
3432 if (adev->ip_blocks[i].version->type == AMD_IP_BLOCK_TYPE_SMC) { in amdgpu_device_smu_fini_early()
3433 amdgpu_ip_block_hw_fini(&adev->ip_blocks[i]); in amdgpu_device_smu_fini_early()
3444 if (!adev->ip_blocks[i].version->funcs->early_fini) in amdgpu_device_ip_fini_early()
3447 r = adev->ip_blocks[i].version->funcs->early_fini(&adev->ip_blocks[i]); in amdgpu_device_ip_fini_early()
3450 adev->ip_blocks[i].version->funcs->name, r); in amdgpu_device_ip_fini_early()
3463 if (!adev->ip_blocks[i].status.hw) in amdgpu_device_ip_fini_early()
3466 amdgpu_ip_block_hw_fini(&adev->ip_blocks[i]); in amdgpu_device_ip_fini_early()
3503 if (!adev->ip_blocks[i].status.sw) in amdgpu_device_ip_fini()
3506 if (adev->ip_blocks[i].version->type == AMD_IP_BLOCK_TYPE_GMC) { in amdgpu_device_ip_fini()
3515 if (adev->ip_blocks[i].version->funcs->sw_fini) { in amdgpu_device_ip_fini()
3516 r = adev->ip_blocks[i].version->funcs->sw_fini(&adev->ip_blocks[i]); in amdgpu_device_ip_fini()
3520 adev->ip_blocks[i].version->funcs->name, r); in amdgpu_device_ip_fini()
3523 adev->ip_blocks[i].status.sw = false; in amdgpu_device_ip_fini()
3524 adev->ip_blocks[i].status.valid = false; in amdgpu_device_ip_fini()
3528 if (!adev->ip_blocks[i].status.late_initialized) in amdgpu_device_ip_fini()
3530 if (adev->ip_blocks[i].version->funcs->late_fini) in amdgpu_device_ip_fini()
3531 adev->ip_blocks[i].version->funcs->late_fini(&adev->ip_blocks[i]); in amdgpu_device_ip_fini()
3532 adev->ip_blocks[i].status.late_initialized = false; in amdgpu_device_ip_fini()
3595 if (!adev->ip_blocks[i].status.valid) in amdgpu_device_ip_suspend_phase1()
3599 if (adev->ip_blocks[i].version->type != AMD_IP_BLOCK_TYPE_DCE) in amdgpu_device_ip_suspend_phase1()
3603 r = amdgpu_ip_block_suspend(&adev->ip_blocks[i]); in amdgpu_device_ip_suspend_phase1()
3630 if (!adev->ip_blocks[i].status.valid) in amdgpu_device_ip_suspend_phase2()
3633 if (adev->ip_blocks[i].version->type == AMD_IP_BLOCK_TYPE_DCE) in amdgpu_device_ip_suspend_phase2()
3637 adev->ip_blocks[i].version->type == AMD_IP_BLOCK_TYPE_PSP) { in amdgpu_device_ip_suspend_phase2()
3638 adev->ip_blocks[i].status.hw = false; in amdgpu_device_ip_suspend_phase2()
3644 adev, adev->ip_blocks[i].version->type)) in amdgpu_device_ip_suspend_phase2()
3651 adev->ip_blocks[i].version->type == AMD_IP_BLOCK_TYPE_GFX && in amdgpu_device_ip_suspend_phase2()
3660 (adev->ip_blocks[i].version->type == AMD_IP_BLOCK_TYPE_PSP || in amdgpu_device_ip_suspend_phase2()
3661 adev->ip_blocks[i].version->type == AMD_IP_BLOCK_TYPE_GFX || in amdgpu_device_ip_suspend_phase2()
3662 adev->ip_blocks[i].version->type == AMD_IP_BLOCK_TYPE_MES)) in amdgpu_device_ip_suspend_phase2()
3669 (adev->ip_blocks[i].version->type == in amdgpu_device_ip_suspend_phase2()
3682 adev->ip_blocks[i].version->type == AMD_IP_BLOCK_TYPE_PSP) in amdgpu_device_ip_suspend_phase2()
3686 r = amdgpu_ip_block_suspend(&adev->ip_blocks[i]); in amdgpu_device_ip_suspend_phase2()
3687 adev->ip_blocks[i].status.hw = false; in amdgpu_device_ip_suspend_phase2()
3691 if (adev->ip_blocks[i].version->type == AMD_IP_BLOCK_TYPE_SMC) { in amdgpu_device_ip_suspend_phase2()
3753 block = &adev->ip_blocks[i]; in amdgpu_device_ip_reinit_early_sriov()
3762 r = block->version->funcs->hw_init(&adev->ip_blocks[i]); in amdgpu_device_ip_reinit_early_sriov()
3834 if (!adev->ip_blocks[i].status.valid || adev->ip_blocks[i].status.hw) in amdgpu_device_ip_resume_phase1()
3836 if (adev->ip_blocks[i].version->type == AMD_IP_BLOCK_TYPE_COMMON || in amdgpu_device_ip_resume_phase1()
3837 adev->ip_blocks[i].version->type == AMD_IP_BLOCK_TYPE_GMC || in amdgpu_device_ip_resume_phase1()
3838 adev->ip_blocks[i].version->type == AMD_IP_BLOCK_TYPE_IH || in amdgpu_device_ip_resume_phase1()
3839 (adev->ip_blocks[i].version->type == AMD_IP_BLOCK_TYPE_PSP && amdgpu_sriov_vf(adev))) { in amdgpu_device_ip_resume_phase1()
3841 r = amdgpu_ip_block_resume(&adev->ip_blocks[i]); in amdgpu_device_ip_resume_phase1()
3868 if (!adev->ip_blocks[i].status.valid || adev->ip_blocks[i].status.hw) in amdgpu_device_ip_resume_phase2()
3870 if (adev->ip_blocks[i].version->type == AMD_IP_BLOCK_TYPE_COMMON || in amdgpu_device_ip_resume_phase2()
3871 adev->ip_blocks[i].version->type == AMD_IP_BLOCK_TYPE_GMC || in amdgpu_device_ip_resume_phase2()
3872 adev->ip_blocks[i].version->type == AMD_IP_BLOCK_TYPE_IH || in amdgpu_device_ip_resume_phase2()
3873 adev->ip_blocks[i].version->type == AMD_IP_BLOCK_TYPE_DCE || in amdgpu_device_ip_resume_phase2()
3874 adev->ip_blocks[i].version->type == AMD_IP_BLOCK_TYPE_PSP) in amdgpu_device_ip_resume_phase2()
3876 r = amdgpu_ip_block_resume(&adev->ip_blocks[i]); in amdgpu_device_ip_resume_phase2()
3902 if (!adev->ip_blocks[i].status.valid || adev->ip_blocks[i].status.hw) in amdgpu_device_ip_resume_phase3()
3904 if (adev->ip_blocks[i].version->type == AMD_IP_BLOCK_TYPE_DCE) { in amdgpu_device_ip_resume_phase3()
3905 r = amdgpu_ip_block_resume(&adev->ip_blocks[i]); in amdgpu_device_ip_resume_phase3()
4955 if (!adev->ip_blocks[i].status.valid) in amdgpu_device_prepare()
4957 if (!adev->ip_blocks[i].version->funcs->prepare_suspend) in amdgpu_device_prepare()
4959 r = adev->ip_blocks[i].version->funcs->prepare_suspend(&adev->ip_blocks[i]); in amdgpu_device_prepare()
5153 if (!adev->ip_blocks[i].status.valid) in amdgpu_device_ip_check_soft_reset()
5155 if (adev->ip_blocks[i].version->funcs->check_soft_reset) in amdgpu_device_ip_check_soft_reset()
5156 adev->ip_blocks[i].status.hang = in amdgpu_device_ip_check_soft_reset()
5157 adev->ip_blocks[i].version->funcs->check_soft_reset( in amdgpu_device_ip_check_soft_reset()
5158 &adev->ip_blocks[i]); in amdgpu_device_ip_check_soft_reset()
5159 if (adev->ip_blocks[i].status.hang) { in amdgpu_device_ip_check_soft_reset()
5160 dev_info(adev->dev, "IP block:%s is hung!\n", adev->ip_blocks[i].version->funcs->name); in amdgpu_device_ip_check_soft_reset()
5183 if (!adev->ip_blocks[i].status.valid) in amdgpu_device_ip_pre_soft_reset()
5185 if (adev->ip_blocks[i].status.hang && in amdgpu_device_ip_pre_soft_reset()
5186 adev->ip_blocks[i].version->funcs->pre_soft_reset) { in amdgpu_device_ip_pre_soft_reset()
5187 r = adev->ip_blocks[i].version->funcs->pre_soft_reset(&adev->ip_blocks[i]); in amdgpu_device_ip_pre_soft_reset()
5213 if (!adev->ip_blocks[i].status.valid) in amdgpu_device_ip_need_full_reset()
5215 if ((adev->ip_blocks[i].version->type == AMD_IP_BLOCK_TYPE_GMC) || in amdgpu_device_ip_need_full_reset()
5216 (adev->ip_blocks[i].version->type == AMD_IP_BLOCK_TYPE_SMC) || in amdgpu_device_ip_need_full_reset()
5217 (adev->ip_blocks[i].version->type == AMD_IP_BLOCK_TYPE_ACP) || in amdgpu_device_ip_need_full_reset()
5218 (adev->ip_blocks[i].version->type == AMD_IP_BLOCK_TYPE_DCE) || in amdgpu_device_ip_need_full_reset()
5219 adev->ip_blocks[i].version->type == AMD_IP_BLOCK_TYPE_PSP) { in amdgpu_device_ip_need_full_reset()
5220 if (adev->ip_blocks[i].status.hang) { in amdgpu_device_ip_need_full_reset()
5245 if (!adev->ip_blocks[i].status.valid) in amdgpu_device_ip_soft_reset()
5247 if (adev->ip_blocks[i].status.hang && in amdgpu_device_ip_soft_reset()
5248 adev->ip_blocks[i].version->funcs->soft_reset) { in amdgpu_device_ip_soft_reset()
5249 r = adev->ip_blocks[i].version->funcs->soft_reset(&adev->ip_blocks[i]); in amdgpu_device_ip_soft_reset()
5274 if (!adev->ip_blocks[i].status.valid) in amdgpu_device_ip_post_soft_reset()
5276 if (adev->ip_blocks[i].status.hang && in amdgpu_device_ip_post_soft_reset()
5277 adev->ip_blocks[i].version->funcs->post_soft_reset) in amdgpu_device_ip_post_soft_reset()
5278 r = adev->ip_blocks[i].version->funcs->post_soft_reset(&adev->ip_blocks[i]); in amdgpu_device_ip_post_soft_reset()
5571 if (tmp_adev->ip_blocks[i].version->funcs->dump_ip_state) in amdgpu_device_pre_asic_reset()
5572 tmp_adev->ip_blocks[i].version->funcs in amdgpu_device_pre_asic_reset()
5573 ->dump_ip_state((void *)&tmp_adev->ip_blocks[i]); in amdgpu_device_pre_asic_reset()