diff options
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/mxgpu_ai.c')
| -rw-r--r-- | drivers/gpu/drm/amd/amdgpu/mxgpu_ai.c | 82 | 
1 files changed, 2 insertions, 80 deletions
| diff --git a/drivers/gpu/drm/amd/amdgpu/mxgpu_ai.c b/drivers/gpu/drm/amd/amdgpu/mxgpu_ai.c index cc5bf595f9b1..5fd67e1cc2a0 100644 --- a/drivers/gpu/drm/amd/amdgpu/mxgpu_ai.c +++ b/drivers/gpu/drm/amd/amdgpu/mxgpu_ai.c @@ -158,82 +158,6 @@ static void xgpu_ai_mailbox_trans_msg (struct amdgpu_device *adev,  	xgpu_ai_mailbox_set_valid(adev, false);  } -static int xgpu_ai_get_pp_clk(struct amdgpu_device *adev, u32 type, char *buf) -{ -        int r = 0; -        u32 req, val, size; - -        if (!amdgim_is_hwperf(adev) || buf == NULL) -                return -EBADRQC; - -        switch(type) { -        case PP_SCLK: -                req = IDH_IRQ_GET_PP_SCLK; -                break; -        case PP_MCLK: -                req = IDH_IRQ_GET_PP_MCLK; -                break; -        default: -                return -EBADRQC; -        } - -        mutex_lock(&adev->virt.dpm_mutex); - -        xgpu_ai_mailbox_trans_msg(adev, req, 0, 0, 0); - -        r = xgpu_ai_poll_msg(adev, IDH_SUCCESS); -        if (!r && adev->fw_vram_usage.va != NULL) { -                val = RREG32_NO_KIQ( -                        SOC15_REG_OFFSET(NBIO, 0, -                                         mmBIF_BX_PF0_MAILBOX_MSGBUF_RCV_DW1)); -                size = strnlen((((char *)adev->virt.fw_reserve.p_pf2vf) + -                                val), PAGE_SIZE); - -                if (size < PAGE_SIZE) -                        strcpy(buf,((char *)adev->virt.fw_reserve.p_pf2vf + val)); -                else -                        size = 0; - -                r = size; -                goto out; -        } - -        r = xgpu_ai_poll_msg(adev, IDH_FAIL); -        if(r) -                pr_info("%s DPM request failed", -                        (type == PP_SCLK)? "SCLK" : "MCLK"); - -out: -        mutex_unlock(&adev->virt.dpm_mutex); -        return r; -} - -static int xgpu_ai_force_dpm_level(struct amdgpu_device *adev, u32 level) -{ -        int r = 0; -        u32 req = IDH_IRQ_FORCE_DPM_LEVEL; - -        if (!amdgim_is_hwperf(adev)) -                return -EBADRQC; - -        mutex_lock(&adev->virt.dpm_mutex); -        xgpu_ai_mailbox_trans_msg(adev, req, level, 0, 0); - -        r = xgpu_ai_poll_msg(adev, IDH_SUCCESS); -        if (!r) -                goto out; - -        r = xgpu_ai_poll_msg(adev, IDH_FAIL); -        if (!r) -                pr_info("DPM request failed"); -        else -                pr_info("Mailbox is broken"); - -out: -        mutex_unlock(&adev->virt.dpm_mutex); -        return r; -} -  static int xgpu_ai_send_access_requests(struct amdgpu_device *adev,  					enum idh_request req)  { @@ -326,7 +250,7 @@ static void xgpu_ai_mailbox_flr_work(struct work_struct *work)  	 */  	locked = mutex_trylock(&adev->lock_reset);  	if (locked) -		adev->in_gpu_reset = 1; +		adev->in_gpu_reset = true;  	do {  		if (xgpu_ai_mailbox_peek_msg(adev) == IDH_FLR_NOTIFICATION_CMPL) @@ -338,7 +262,7 @@ static void xgpu_ai_mailbox_flr_work(struct work_struct *work)  flr_done:  	if (locked) { -		adev->in_gpu_reset = 0; +		adev->in_gpu_reset = false;  		mutex_unlock(&adev->lock_reset);  	} @@ -455,6 +379,4 @@ const struct amdgpu_virt_ops xgpu_ai_virt_ops = {  	.reset_gpu = xgpu_ai_request_reset,  	.wait_reset = NULL,  	.trans_msg = xgpu_ai_mailbox_trans_msg, -	.get_pp_clk = xgpu_ai_get_pp_clk, -	.force_dpm_level = xgpu_ai_force_dpm_level,  }; | 
